diff -Nru dotnet6-6.0.120/build.proj dotnet6-6.0.121/build.proj --- dotnet6-6.0.120/build.proj 2023-06-23 18:43:18.000000000 +0000 +++ dotnet6-6.0.121/build.proj 2023-07-18 20:41:26.000000000 +0000 @@ -134,7 +134,7 @@ - $(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).tar.gz + $(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).$(TargetRid).tar.gz $(SmokeTestsArtifactsDir)prereq-packages/ @@ -190,7 +190,7 @@ - $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).$(BuildArchitecture).tar.gz + $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).$(TargetRid).tar.gz $(ResultingPrebuiltPackagesDir) diff -Nru dotnet6-6.0.120/debian/build-dotnet-tarball.sh dotnet6-6.0.121/debian/build-dotnet-tarball.sh --- dotnet6-6.0.120/debian/build-dotnet-tarball.sh 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/build-dotnet-tarball.sh 2023-08-02 07:45:33.000000000 +0000 @@ -1,17 +1,4 @@ -#!/bin/bash - -# Usage: -# build-dotnet-tarball repo version -# -# Creates a source archive from a branch version at a repo. -# Installer repo is only used for verification of the last tag, -# but target repo a target branch are prompt asked. - -# we need to clone the private repo it with an specific branch, -# remove some specific files (the ones included in the Exclude-Files -# section of the debian/copyright file, and pack the tarball) - - +#!/usr/bin/env bash trap on_exit TERM trap on_exit EXIT @@ -19,169 +6,318 @@ set -euo pipefail IFS=$'\n\t' -function print_usage { - echo "Usage:" - echo "$0 repo" - echo "" - echo "Creates a source archive tarball for dotnet6" - echo "" - echo " repo: Address to the repo to be cloned" - echo "" -# echo " version (X.X.XXX): dotnet version to be cloned" -# echo "" - echo "example: $0 dev.azure.com/dotnet" -} +SECURITY_PARTNERS_REPOSITORY='git@ssh.dev.azure.com:v3/dotnet-security-partners/dotnet/dotnet' +MS_TARBALL_SHA512_HASH='6f21d882ebc1d94afa6144277951f769bfdabb9b63ababd498cc8c4eaccf3b8ee44ac859ed1036bc3c7ecf18a52da09720540a81610d52c6c8804708b966e09f' -function on_exit { +INITIAL_DIRECTORY=$PWD - rm -rf dotnet - rm -rf "${dir_name}" +REPACK=false +CLONE_REPOSITORY=false +BOOTSTRAP=false +CLEANUP_SOURCE_TREE=true +REPOSITORY="$SECURITY_PARTNERS_REPOSITORY" + +function print_usage +{ + bold_style='\033[1m' + underline_style='\033[4m' + reset_style='\033[0m' + + echo "" + echo -e "${bold_style}Usage:${reset_style} $0 [--repository ${underline_style}repository${reset_style}] --upstream-version ${underline_style}version${reset_style} [--bootstrap] [--no-clean]" + echo "" + echo "Creates the orig tarball for the dotnet7 package from a branch version at a git repository." + echo "" + echo "Parameter:" + echo -e " --upstream-version ${underline_style}version${reset_style}" + echo -e " ${underline_style}version${reset_style} is used to determain the git tag that should be pulled from the ${underline_style}repository${reset_style}" + echo -e " --repository ${underline_style}repository${reset_style}" + echo " Address to the git repository that will be cloned. (Default: ${SECURITY_PARTNERS_REPOSITORY})" + echo " --bootstrap" + echo " incorporate Microsoft pre-builds into the resulting orig tarball to prepare for initial bootstraping" + echo " --no-clean" + echo -e " does not delete the cloned ${underline_style}repository${reset_style} when the script exists" + echo "" + echo "Example:" + echo " $0 --upstream-version 7.0.109" + echo "" + echo -e "${bold_style}Usage:${reset_style} $0 --repack ${underline_style}tarball-url${reset_style} [--bootstrap] [--no-clean]" + echo "" + echo "Repack a source archive tarball for dotnet7." + echo "" + echo "Parameter:" + echo -e " --repack ${underline_style}tarball-url${reset_style}" + echo " https URL from where Microsofts tarball can be downloaded" + echo " --bootstrap" + echo " incorporate Microsoft pre-builds into the resulting orig tarball to prepare for initial bootstraping" + echo " --no-clean" + echo " does not delete the unpacked tarball when the script exists" + echo "" + echo "Run $0 --help to show this usage information." } - -function clean_uscan_download { - find .. -name "dotnet*${version}*.tar.*" -delete +function on_exit +{ + if $CLEANUP_SOURCE_TREE && [ -n "$INITIAL_DIRECTORY" ] && [ -n "$SOURCE_TREE_DIRECTORY_NAME" ]; then + rm -rf "${INITIAL_DIRECTORY:?}/${SOURCE_TREE_DIRECTORY_NAME:?}" + fi } +# parse parameter: +while [ "$#" -gt "0" ]; do + case $1 in + --help) + print_usage + exit 0 + ;; + --upstream-version) + if [ "$#" -lt "2" ]; then + echo "Error: parameter --upstream-version is specified, but no value was provided" + print_usage + exit 1 + fi + + if REPACK; then + echo "Error: conflicting parameters; --upstream-version and --repack is specified" + print_usage + exit 1 + fi + + CLONE_REPOSITORY=true + UPSTREAM_VERSION=$2 + shift 2 + ;; + --repository) + if [ "$#" -lt "2" ]; then + echo "Error: parameter --repository is specified, but no value was provided" + print_usage + exit 1 + fi + + if REPACK; then + echo "Error: conflicting parameters; --repository and --repack is specified" + print_usage + exit 1 + fi + + CLONE_REPOSITORY=true + REPOSITORY=$2 + shift 2 + ;; + --repack) + if [ "$#" -lt "2" ]; then + echo "Error: parameter --repack is specified, but no value was provided" + print_usage + exit 1 + fi + + if CLONE_REPOSITORY; then + echo "Error: conflicting parameters; --repack and either --upstream-version or --repository is specified" + print_usage + exit 1 + fi + + REPACK=true + MS_TARBALL_URL=$2 + MS_TARBALL_FILENAME=$(echo "${MS_TARBALL_URL}" | sed -r 's|.*/([^/]+tar.gz)\?.*|\1|') + UPSTREAM_VERSION=$(echo "${MS_TARBALL_FILENAME}" | sed -r 's|.*-(.*).tar.gz|\1|') + shift 2 + ;; + --bootstrap) + BOOTSTRAP=true; + + case "$(uname --hardware-platform)" in + x86_64) + DPKG_ARCHITECTURE="amd64"; + ;; + aarch64) + DPKG_ARCHITECTURE="arm64"; + ;; + *) + echo "Error: Unknown/Unsupported architecture '$(uname --hardware-platform)'." + exit 1 + ;; + esac + ;; + --no-clean) + CLEANUP_SOURCE_TREE=false + ;; + *) + echo "Error: unexpected argument '$1'" + print_usage + exit 1 + ;; + esac +done -set -x - -if [[ "$#" -gt 0 ]]; then - if [ "${1}" = "-h" ] || [ "${1}" = "--help" ]; then - print_usage - exit 0 - else - repo="${1}" - version="${3:-}" - fi -else - echo "Not enought arguments to run properly:" +if ! $CLONE_REPOSITORY && ! $REPACK; then + echo "Error: neither --upstream-version nor --repack was specified" print_usage exit 1 fi - - -clean_uscan_download -#while : ; do -# read -p "Repo address for cloning: " repo -# [ -z "${repo}" ] || break -#done +MAJOR_VERSION_NUMBER=${UPSTREAM_VERSION%%.*} +PKG_NAME="dotnet$MAJOR_VERSION_NUMBER" +SOURCE_TREE_DIRECTORY_NAME="$PKG_NAME-$UPSTREAM_VERSION" -#while : ; do -# read -p "dotnet version (X.X.XXX): " version -# [ -z "${version}" ] || break -#done - -#repo="${1}" -#version="${2}" - -dir_name="dotnet6-${version}" -tarball_name="dotnet6_${version}.orig" -tarball_suffix=".tar.xz" -tarball="${tarball_name}${tarball_suffix}" +if [ -d "$SOURCE_TREE_DIRECTORY_NAME" ]; then + echo "Error an directory $SOURCE_TREE_DIRECTORY_NAME already exists; you may want to delete it" +fi +if $CLONE_REPOSITORY; then + echo "Info: cloning repository..." + if ! git clone --no-checkout "$REPOSITORY" "$SOURCE_TREE_DIRECTORY_NAME"; then + echo "ERROR: failed to clone repository" + exit 1 + fi -if [ -f "${tarball_name}${tarball_suffix}" ]; then - echo "error: ${tarball_name}${tarball_suffix} already exists" - exit 1 -fi + pushd "$SOURCE_TREE_DIRECTORY_NAME" -git clone $repo --branch=v${version}-SDK + if [ "$(git tag | grep --count "$UPSTREAM_VERSION")" -ne "1" ]; then + echo "ERROR: found none ore more than one tag that matches the upstream version" + git tag | grep "$UPSTREAM_VERSION" + exit 1 + fi + echo "Info: checkout upstream version..." + if ! git checkout "$(git tag | grep "$UPSTREAM_VERSION")"; then + echo "ERROR: failed to checkout upstream version" + git tag | grep "$UPSTREAM_VERSION" + exit 1 + fi +elif $REPACK; then + mkdir "$SOURCE_TREE_DIRECTORY_NAME" -if [ $? -eq 0 ]; then + if [ -e "$MS_TARBALL_FILENAME" ]; then + SHA512_FILEHASH=$(sha512sum "${MS_TARBALL_FILENAME}" | cut -d' ' -f1) - pushd dotnet + if [ "$SHA512_FILEHASH" != "$MS_TARBALL_SHA512_HASH" ]; then + echo "Error: file $MS_TARBALL_SHA512_HASH already exists, but does not match the expected hashsum; maybe the file is corrupted and you want to delete it" + echo " Expected SHA512-HASH: $MS_TARBALL_SHA512_HASH" + echo " Actual SHA512-HASH: $SHA512_FILEHASH" + exit 1 + fi + else + echo "Info: downloading MS tarball..." + wget --progress=bar "$MS_TARBALL_URL" -O "$MS_TARBALL_FILENAME" + if [ "$?" -ne "0" ]; then + echo "Error: wget failed" + exit 1 + fi + + SHA512_FILEHASH=$(sha512sum "${MS_TARBALL_FILENAME}" | cut -d' ' -f1) + + if [ "$SHA512_FILEHASH" != "$MS_TARBALL_SHA512_HASH" ]; then + echo "Error: downloaded file $MS_TARBALL_SHA512_HASH does not match the expected hashsum; have you updated the expected hash value?" + echo " Expected SHA512-HASH: $MS_TARBALL_SHA512_HASH" + echo " Actual SHA512-HASH: $SHA512_FILEHASH" + exit 1 + fi + fi - # Remove files with funny licenses, crypto implementations and other - # not-very-useful artifacts to reduce tarball size - # This list concords with the File-Excluded stanza in the copyright - - # Binaries for gradle - rm -r src/aspnetcore/src/SignalR/clients/java/signalr/gradle* - - # Unnecessary crypto implementation: IDEA - rm -r src/runtime/src/tests/JIT/Performance/CodeQuality/Bytemark/ - - # https://github.com/dotnet/aspnetcore/issues/34785 - find src/aspnetcore/src -type d -name samples -print0 | xargs -0 rm -r - - # https://github.com/NuGet/Home/issues/11094 - rm -r src/nuget-client/test/EndToEnd - - # https://github.com/Humanizr/sample-aspnetmvc/issues/1 - rm -r src/source-build/src/humanizer/samples/ - - #Non-free and unnecesary help file for 7-zip - rm src/source-build/src/newtonsoft-json901/Tools/7-zip/7-zip.chm - - #Checked that are not needed in the build: this only removes under roslyn: - #src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V?/*.dll - find . -iname "*.dll" -exec rm -rf {} + - - #Don't remove vendorized libunwind because we need it for arm64 archs - #rm -r src/runtime/src/coreclr/pal/src/libunwind - - #CPC-1578 prebuilts not used in build - rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod01.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod02.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryA.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryB.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Data.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Storage.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/Invalid/EmptyModuleTable.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS00.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS01.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleVB01.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/CustomModifiers/Modifiers.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod3.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source1Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source3Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source4Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source5Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source7Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/RetargetingCycle/V1/ClassB.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/TypeForwarders/Forwarded.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule3.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule4.netmodule - rm 'src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/With Spaces.netmodule' - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/hash_module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W1.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W2.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB_Version1.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WImpl.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WinMDPrefixing.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.Languages.WinRTTest.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.winmd - rm src/roslyn/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/Resources/WindowsProxy.winmd - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS00.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS01.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleVB01.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/WinRT/Lib.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/ManagedWinmd.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/NativeWinmd.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/moda.netmodule - rm src/linker/external/cecil/Test/Resources/assemblies/modb.netmodule - rm src/linker/external/cecil/Test/Resources/assemblies/winrtcomp.winmd + echo "Info: unpacking MS tarball..." + pushd "$SOURCE_TREE_DIRECTORY_NAME" + tar xvzf "../$MS_TARBALL_FILENAME" +fi - popd +if $BOOTSTRAP; then + echo "Info: prepare bootstraping..." + ORIG_TARBALL_FILENAME="${PKG_NAME}_$UPSTREAM_VERSION~bootstrap+$DPKG_ARCHITECTURE.orig.tar.xz" + ./prep.sh --bootstrap else - echo "An error ocurred when clonning $repo --branch=v${version}-SDK" + ORIG_TARBALL_FILENAME="${PKG_NAME}_$UPSTREAM_VERSION.orig.tar.xz" +fi + +if [ -e "../$ORIG_TARBALL_FILENAME" ]; then + echo "Error: $ORIG_TARBALL_FILENAME already exists; maybe delete it?" exit 1 fi -mv dotnet "${dir_name}" -tar -I 'xz -T 0' -cf "../${tarball}" "${dir_name}" -rm -rf "${dir_name}" +echo "Info: removing unneeded/unwanted files..." +# Remove files with funny licenses, crypto implementations and other +# not-very-useful artifacts to reduce tarball size +# This list concords with the File-Excluded stanza in the copyright + +# Binaries for gradle +rm -r src/aspnetcore/src/SignalR/clients/java/signalr/gradle* + +# Unnecessary crypto implementation: IDEA +rm -r src/runtime/src/tests/JIT/Performance/CodeQuality/Bytemark/ + +# https://github.com/dotnet/aspnetcore/issues/34785 +find src/aspnetcore/src -type d -name samples -print0 | xargs -0 rm -r + +# https://github.com/NuGet/Home/issues/11094 +rm -r src/nuget-client/test/EndToEnd + +# Checked that are not needed in the build: this only removes under roslyn: +#src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V?/*.dll +find src/roslyn/src/Compilers/Test/Resources -iname "*.dll" -exec rm -rf {} + + +# https://github.com/microsoft/ApplicationInsights-dotnet/issues/2670 +# we are applying a patch for this +#rm -r src/source-build-externals/src/application-insights/LOGGING/test/Shared/CustomTelemetryChannel.cs + +# Don't remove vendorized libunwind because we need it for arm64 archs +#rm -r src/runtime/src/coreclr/pal/src/libunwind + +#CPC-1578 prebuilts not used in build +rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod01.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod02.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryA.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryB.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Data.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Storage.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/Invalid/EmptyModuleTable.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS00.mod +rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS01.mod +rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleVB01.mod +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/CustomModifiers/Modifiers.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod2.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod3.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source1Module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source3Module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source4Module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source5Module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source7Module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/RetargetingCycle/V1/ClassB.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/TypeForwarders/Forwarded.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule1.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule2.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule1.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule3.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule1.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule4.netmodule +rm 'src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/With Spaces.netmodule' +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule1.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule2.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/hash_module.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule1.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule2.netmodule +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W1.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W2.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB_Version1.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WImpl.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WinMDPrefixing.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.Languages.WinRTTest.winmd +rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.winmd +rm src/roslyn/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/Resources/WindowsProxy.winmd +rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS00.mod +rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS01.mod +rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleVB01.mod +rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/WinRT/Lib.winmd +rm src/linker/external/cecil/Test/Resources/assemblies/ManagedWinmd.winmd +rm src/linker/external/cecil/Test/Resources/assemblies/NativeWinmd.winmd +rm src/linker/external/cecil/Test/Resources/assemblies/moda.netmodule +rm src/linker/external/cecil/Test/Resources/assemblies/modb.netmodule +rm src/linker/external/cecil/Test/Resources/assemblies/winrtcomp.winmd + +popd + +echo "Info: creating orig tarball..." +tar --use-compress-program 'xz --threads 0' --create --file "../${ORIG_TARBALL_FILENAME}" "${SOURCE_TREE_DIRECTORY_NAME}" + +echo "Info: Done! orig tarball at ../${ORIG_TARBALL_FILENAME}" +exit 0 diff -Nru dotnet6-6.0.120/debian/changelog dotnet6-6.0.121/debian/changelog --- dotnet6-6.0.120/debian/changelog 2023-07-06 06:17:43.000000000 +0000 +++ dotnet6-6.0.121/debian/changelog 2023-08-02 07:45:33.000000000 +0000 @@ -1,3 +1,37 @@ +dotnet6 (6.0.121-0ubuntu1~23.04.1) lunar-security; urgency=medium + + * New upstream release. + * SECURITY UPDATE: remote code exection + - CVE-2023-35390: When running some dotnet commands(e.g. dotnet help + add), dotnet attempts to locate and initiate a new process using + cmd.exe. However, it prioritizes searching for cmd.exe in the current + working directory (CWD) before checking other locations. This can + potentially lead to the execution of malicious code. + * SECURITY UPDATE: denial of service + - CVE-2023-38178: ASP.NET Kestrel stream flow control issue causing a + leak. A malicious QUIC client, that fires off many unidirectional + streams with closed writing sides. This will bypass the HTTP/3 stream + limit and Kestrel cannot keep up with stream processing. + * SECURITY UPDATE: denial of service + - CVE-2023-38180: Kestrel vulnerability to slow read attacks + + [ Dominik Viererbe ] + * d/README.source: updated content + * added support documentation + * added end of life process documentation + * general overhaul + * d/dotnet.sh.in: DOTNET_ROOT was unnecessarily set (LP: #2027620) + * d/t/essential-binaries-and-config-files-should-be-present: + remove check if DOTNET_ROOT is set + * d/watch + * updated matching-pattern to only match 6.0.1XX releases + * d/watch file will fail now deliberately. See comment in d/watch + for more information + * unify d/repack-dotnet-tarball.sh into d/build-dotnet-tarball.sh and + updated command line interface + + -- Nishit Majithia Wed, 02 Aug 2023 13:15:33 +0530 + dotnet6 (6.0.120-0ubuntu1~23.04.1) lunar-security; urgency=medium * New upstream release. diff -Nru dotnet6-6.0.120/debian/copyright dotnet6-6.0.121/debian/copyright --- dotnet6-6.0.120/debian/copyright 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/copyright 2023-08-02 07:44:36.000000000 +0000 @@ -314,7 +314,6 @@ Copyright: 2011-2021, Twitter, Inc. 2011-2021, The Bootstrap Authors License: Expat - Files: src/aspnetcore/src/Identity/UI/src/assets/V4/lib/bootstrap/dist/* src/aspnetcore/src/Identity/UI/src/assets/V5/lib/bootstrap/dist/* @@ -2603,45 +2602,45 @@ OTHER DEALINGS IN THE FONT SOFTWARE. License: W3C - By obtaining, using and/or copying this work, you (the licensee) agree - that you have read, understood, and will comply with the following + By obtaining, using and/or copying this work, you (the licensee) agree + that you have read, understood, and will comply with the following terms and conditions. . - Permission to copy, modify, and distribute this software and its - documentation, with or without modification, for any purpose and - without fee or royalty is hereby granted, provided that you include the - following on ALL copies of the software and documentation or portions + Permission to copy, modify, and distribute this software and its + documentation, with or without modification, for any purpose and + without fee or royalty is hereby granted, provided that you include the + following on ALL copies of the software and documentation or portions thereof, including modifications: . - The full text of this NOTICE in a location viewable to users of the + The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. . - Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, the W3C Software Short Notice should be + included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code. . - Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from + Notice of any changes or modifications to the files, including the date + changes were made. (We recommend you provide URIs to the location from which the code is derived.) . Disclaimers . - THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT - HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS - FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR - DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. . - COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL - OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL + OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. . - The name and trademarks of copyright holders may NOT be used in - advertising or publicity pertaining to the software without specific, - written prior permission. Title to copyright in this software and any - associated documentation will at all times remain with copyright + The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright holders. License: BSD-Seward @@ -2652,16 +2651,16 @@ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . - 2. The origin of this software must not be misrepresented; you must - not claim that you wrote the original software. If you use this - software in a product, an acknowledgment in the product + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product documentation would be appreciated but is not required. . 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. . - 4. The name of the author may not be used to endorse or promote - products derived from this software without specific prior written + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS @@ -2685,9 +2684,9 @@ copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that - (a) this copyright and permission notice appear with all copies + (a) this copyright and permission notice appear with all copies of the Data Files or Software, - (b) this copyright and permission notice appear in associated + (b) this copyright and permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or diff -Nru dotnet6-6.0.120/debian/dotnet-host.bash-completion dotnet6-6.0.121/debian/dotnet-host.bash-completion --- dotnet6-6.0.120/debian/dotnet-host.bash-completion 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-host.bash-completion 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -src/sdk/scripts/register-completions.bash dotnet \ No newline at end of file +src/sdk/scripts/register-completions.bash dotnet diff -Nru dotnet6-6.0.120/debian/dotnet-host.install.in dotnet6-6.0.121/debian/dotnet-host.install.in --- dotnet6-6.0.120/debian/dotnet-host.install.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-host.install.in 2023-08-02 07:44:36.000000000 +0000 @@ -4,4 +4,4 @@ @basedir@/LICENSE.txt @basedir@/ThirdPartyNotices.txt debian/install_location /@etcdir@/ -debian/install_location_@arch@ /@etcdir@/ \ No newline at end of file +debian/install_location_@arch@ /@etcdir@/ diff -Nru dotnet6-6.0.120/debian/dotnet-host.links.in dotnet6-6.0.121/debian/dotnet-host.links.in --- dotnet6-6.0.120/debian/dotnet-host.links.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-host.links.in 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -@basedir@/dotnet usr/bin/dotnet \ No newline at end of file +@basedir@/dotnet usr/bin/dotnet diff -Nru dotnet6-6.0.120/debian/dotnet-host.manpages dotnet6-6.0.121/debian/dotnet-host.manpages --- dotnet6-6.0.120/debian/dotnet-host.manpages 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-host.manpages 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -src/sdk/documentation/manpages/sdk/dotnet*.1 \ No newline at end of file +src/sdk/documentation/manpages/sdk/dotnet*.1 diff -Nru dotnet6-6.0.120/debian/dotnet-host.preinst dotnet6-6.0.121/debian/dotnet-host.preinst --- dotnet6-6.0.120/debian/dotnet-host.preinst 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-host.preinst 2023-08-02 07:44:36.000000000 +0000 @@ -29,4 +29,4 @@ #DEBHELPER# -exit 0 \ No newline at end of file +exit 0 diff -Nru dotnet6-6.0.120/debian/dotnet-sdk-6.0.dirs.in dotnet6-6.0.121/debian/dotnet-sdk-6.0.dirs.in --- dotnet6-6.0.120/debian/dotnet-sdk-6.0.dirs.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-sdk-6.0.dirs.in 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -@basedir@ \ No newline at end of file +@basedir@ diff -Nru dotnet6-6.0.120/debian/dotnet-sdk-6.0-source-built-artifacts.install.in dotnet6-6.0.121/debian/dotnet-sdk-6.0-source-built-artifacts.install.in --- dotnet6-6.0.120/debian/dotnet-sdk-6.0-source-built-artifacts.install.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet-sdk-6.0-source-built-artifacts.install.in 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -artifacts/@runtimearch@/Release/Private.SourceBuilt.Artifacts.*.tar.gz @basedir@/source-built-artifacts/ \ No newline at end of file +artifacts/@runtimearch@/Release/Private.SourceBuilt.Artifacts.*.tar.gz @basedir@/source-built-artifacts/ diff -Nru dotnet6-6.0.120/debian/dotnet.sh.in dotnet6-6.0.121/debian/dotnet.sh.in --- dotnet6-6.0.120/debian/dotnet.sh.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/dotnet.sh.in 2023-08-02 07:44:36.000000000 +0000 @@ -1,7 +1,3 @@ - -# Set location for AppHost lookup -export DOTNET_ROOT=@basedir@ - # Add dotnet tools directory to PATH DOTNET_TOOLS_PATH="$HOME/.dotnet/tools" case "$PATH" in diff -Nru dotnet6-6.0.120/debian/failing-watchfile-script.sh dotnet6-6.0.121/debian/failing-watchfile-script.sh --- dotnet6-6.0.120/debian/failing-watchfile-script.sh 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/debian/failing-watchfile-script.sh 2023-08-02 07:44:36.000000000 +0000 @@ -0,0 +1,28 @@ +#! /usr/bin/env bash +# Deletes uscan download and fails deliberately. +# +# See the section "Package Design Considerations" > "`debian/watch` file" +# in the README.source file for more context. + +while [ "$#" -gt "0" ]; do + case "$1" in + --upstream-version) + if [ "$#" -lt "2" ]; then + echo "Error: parameter --upstream-version is specified, but no value was provided" + exit 1 + fi + + version="$2" + shift 2 + + # clean uscan download: + find .. -name "dotnet*${version}*.tar.*" -delete + ;; + *) + echo "Error: unexpected argument '$1'" + exit 1 + ;; + esac +done + +exit 1 diff -Nru dotnet6-6.0.120/debian/install_location.in dotnet6-6.0.121/debian/install_location.in --- dotnet6-6.0.120/debian/install_location.in 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/install_location.in 2023-08-02 07:44:36.000000000 +0000 @@ -1 +1 @@ -@basedir@ \ No newline at end of file +@basedir@ diff -Nru dotnet6-6.0.120/debian/patches/10199-arcade-add-clang-15-autodetection.patch dotnet6-6.0.121/debian/patches/10199-arcade-add-clang-15-autodetection.patch --- dotnet6-6.0.120/debian/patches/10199-arcade-add-clang-15-autodetection.patch 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/patches/10199-arcade-add-clang-15-autodetection.patch 2023-08-02 07:44:36.000000000 +0000 @@ -1,4 +1,4 @@ -Description: Add clang-15 autodetection +Description: Add clang-15 autodetection This is from #73065 on dotnet/runtime repo, adding some versions up to clang-15 and cpp-12. Author: Adeel Mujahid , Miriam España Acebal @@ -19,6 +19,6 @@ - elif [ "$compiler" = "gcc" ]; then versions=( 9 8 7 6 5 4.9 ); fi + if [ "$compiler" = "clang" ]; then versions=( 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 ) + elif [ "$compiler" = "gcc" ]; then versions=( 12 11 10 9 8 7 6 5 4.9 ); fi - + for version in "${versions[@]}"; do parts=(${version//./ }) diff -Nru dotnet6-6.0.120/debian/patches/1500sdk-telemetry-optout.patch dotnet6-6.0.121/debian/patches/1500sdk-telemetry-optout.patch --- dotnet6-6.0.120/debian/patches/1500sdk-telemetry-optout.patch 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/patches/1500sdk-telemetry-optout.patch 2023-08-02 07:44:36.000000000 +0000 @@ -3,7 +3,7 @@ --- a/src/sdk/src/Cli/dotnet/Program.cs +++ b/src/sdk/src/Cli/dotnet/Program.cs @@ -28,6 +28,13 @@ public class Program - + public static int Main(string[] args) { + // opt out of telemetry by default if the env var is unset @@ -14,5 +14,5 @@ + } + DebugHelper.HandleDebugSwitch(ref args); - + // Capture the current timestamp to calculate the host overhead. diff -Nru dotnet6-6.0.120/debian/README.source dotnet6-6.0.121/debian/README.source --- dotnet6-6.0.120/debian/README.source 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/README.source 2023-08-02 07:45:23.000000000 +0000 @@ -1,112 +1,149 @@ -dotnet for Debian +# .NET 6 on Ubuntu - Packaging .Net 6 on Ubuntu - ========================== +Table of Content: +- [Support](#support) +- [End of Life process](#end-of-life-process) +- [Package Design Considerations](#package-design-considerations) +- [Building the Binary Packages](#building-the-binary-packages) +- [Get the orig tarball (for Canonical Package Maintainers)](#get-the-orig-tarball-for-canonical-package-maintainers) + +## Support + +.NET 6 is a Long Term Support (LTS) Release. This means that .NET 6 gets +free support and patches for 3 years from Microsoft (until November 12, 2024). + +Patch updates are released monthly on the second Tuesday of each month, also +known as Patch Tuesday. Within the .NET 6 release support lifecycle, systems +must remain current on released patch updates. Patches to releases are +compatible, which eliminates the risk of adversely affecting applications. + +Microsoft provides Canonical early access to .NET 6 patches to ensure a smooth +and simultaneous release on all platforms on the same day, secure the software +supply chain between .NET and Ubuntu, and provide enterprise-grade support. +Canonical's Security Team handles security releases, and Canonical's Toolchains +Squad of the Foundations Team handles non-security releases. + +Canonical does not support .NET 6 after Microsoft's STS period ends. + +Please report bugs related to the .NET 6 Ubuntu Package to +[Launchpad](https://bugs.launchpad.net/ubuntu/+source/dotnet6) instead of the +upstream bug trackers. We are working closely with Microsoft to fix bugs and +improve the user experience and will forward issues if necessary. + +**See also:** +- [Microsoft .NET Support Policy](https://dotnet.microsoft.com/en-us/platform/support/policy) +- [Launchpad – `dotnet6` Bug Tracker](https://bugs.launchpad.net/ubuntu/+source/dotnet6) +- [Ubuntu CVE Tracker for .NET 6](https://ubuntu.com/security/cves?package=dotnet6) +- [Canonical Blog Article about the collaboration with Microsoft](https://canonical.com/blog/install-dotnet-on-ubuntu) + +## End of Life Process + +As mentioned in the section [Support](#support), .NET 6 reaches its end of life +(support) on November 12, 2024. Canonical does not extend Microsoft's Support +period. + +The latest released .NET 6 packages will remain available in the Ubuntu Archive, +but Canonical will not extend Microsoft's Support period. Security related bugs +will not get fixed; therefore, switch to one of the supported .NET versions is +strongly recommended, which you can find [here](https://dotnet.microsoft.com/en-us/platform/support/policy). + +If any .NET 6 packages are in `main`, they get demoted to `universe` +([What is `main` and `universe`?](https://help.ubuntu.com/community/Repositories/Ubuntu)). + +## Package Design Considerations + +### `debian/watch` file + +The .NET 6 source code is distributed over several public repositories and has +no single public place to download the source from. The watch file can only +check if a new version has been released. Canonical gets the source from a private +repository for Microsoft's security partners. + +This will change with the Virtual Monolithic Repository that .NET 8 introduced +(See: https://github.com/dotnet/dotnet). If you want to build the upstream +.NET 6 source, yourself you have to follow these instructions: +https://github.com/dotnet/installer#build-net-from-source-source-build + +### Lintian Overrides + + * `license-problem-non-free-RFC`: Every folder under `src` includes a + `THIRD_PARTY_NOTICES.TXT` file (that triggers the error). Also, the file + `src/runtime.*/src/coreclr/utilcode/guidfromname.cpp` is multilicensed. + + * `source-is-missing`: We have three cases here for + overriding this: + 1. JS files: It looks like these are all false positives. The `*.js` files + all contain the full source code and license headers. Also, there are + `*.min.js` files available; these would be a problem if the corresponding + `*.js` did not accompany them. + 2. HTML files: Also a false positive due to using the substring ".Link" in + their names. + 3. prebuilds from [Microsoft Arcade](https://github.com/dotnet/arcade): These + files are needed for bootstrapping the first release of the package (they + will disappear in upcoming releases). + +## Building the Binary Packages + +Because .NET gets built with .NET itself, building the binary packages of this +source package is not trivial. Notice that in the `debian/control` file, the +`dotnet6` source package `Build-Depends` on the binary packages it produces +(`dotnet-sdk-6.0` and `dotnet-sdk-6.0-source-built-artifacts`). + +You have to use a previous build from the Ubuntu Archive. Canonical will +bootstrap the initial version. + +### Requirements + +- ~100GB Disk Space +- `sbuild` is set up ([How to set up your environment for Ubuntu Development?](https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/Setup.md)) +- a [`schroot`](https://manpages.ubuntu.com/manpages/lunar/en/man1/schroot.1.html) + for `lunar` and the architecture you want to build for + (e.g., with `mk-sbuild lunar`) + +### Build from Ubuntu Previous Build + +1. Get the latest source from [Launchpad](https://launchpad.net/ubuntu/+source/dotnet6) with + ``` + pull-lp-source dotnet6 + ``` + + After the command finishes, you should have a + - `dotnet6_*.orig.tar.xz` tarball file + - `dotnet6_*.debian.tar.xz` tarball file + - `dotnet6-*` folder where both are unpacked + +2. Build the source with + ``` + sbuild \ + --dist=lunar \ + --arch-any --arch=amd64 --no-arch-all --no-source \ + --apt-update --apt-upgrade \ + --no-run-lintian \ + --purge-build=successful \ + dotnet6_*.dsc + ``` + + NOTE: replace `--arch=amd64` with `--arch=arm64` if you want to build the + binary packages for `arm64`, but be aware that you need to build on an + `arm64` system. + + NOTE: The argument `--no-run-lintian` is optional, but depending on your + system, running `lintian` can take up to 1 hour. + +## Get the orig tarball (for Canonical Package Maintainers) + +As explained in the section [*`debian/watch` file*](#debianwatch-file) we +(Canonical) only get the original source from a private repository. We do not +really need a `debian/watch` file for this repository as we weekly speak to +Microsoft about releases and we get notified by email if a new release is +available for us. + +We use the `build-dotnet-tarball.sh` script to download the source and build +the `orig.tar` from it. You can run `build-dotnet-tarball.sh --help` to get +help how to use that script. The script also aims to give usefull error messages +if something is wrong. - We don't have a public place for getting the orig tarball before it is released on MSFT side (obviously), - so now in our watch file we provide a way to check when a new version is available but it will not - produce the tarball (in the future, the code may be stored publicy one it's released by MSFT, - and then that address will be in the watch file). +NOTE: This script is practically useless for you if you have no access to the +dotnet security partners repository. - - To recreate tarball and source code for building the package, the steps are - the following: - - * Get the latest code from https://launchpad.net/ubuntu/+source/dotnet6 with `pull-lp-source dotnet6` - * Change the watch file to use the correct address: - + for private repo if you're building on embargo time: add the private repo after the script. - + on public released time: switch between the comments and change the repo part to a on our side. - * `uscan` - - Now, a `dotnet6_6.0.10X.orig.tar.xz` tarball file has been generated with a new folder - for the next version in the parent folder (the actual folder remains the same), so do a - `cd ../dotnet6-6.0.10X`. - - _ - - 2. If you want to build the package directly: - * mv dotnet6 `dotnet6-6.0.106` - - Whichever method you choose before, you should now have a folder called `dotnet6-6.0.10X` - and in its parent directory a file called `dotnet6_6.0.10X.orig.tar.xz`. - - Please, check that you have installed `sbuild` and `debhelper` on your system. Also, a - schroot for kinetic is needed (you can create it with - `sudo sbuild-createchroot --arch=amd64 kinetic /var/lib/schroot/chroot/kinetic-amd64 http://archive.ubuntu.com/ubuntu/`). - - Now, we use the following command for the building (you can use `DEB_BUILD_OPTIONS="parallel=n"` - on front of the command, changing n to the number of parallel - process you can dedicate to it if any): - - * `sbuild -d kinetic --arch=amd64 --purge-build=successful --debbuildopts='--buildinfo-option=-O' --build-dir=..` - - - We already would have the prebuilds binaries packaged needed for bootstraping in a deb file - (dotnet-sdk-6.0-source-built-artifacts*.deb). - - - Some context - ============ - - Depending on the time you're building the package (embargoed or no) you need to use - a different git repo to recreate the tarball. - - Requirements for building - ========================= - - Locally: For the above timing, I use DEB_BUILD_OPTIONS="parallel=16" in - front of the sbuild command (my machine has 64 MB RAM and an AMD 9 Ryzen - 5000 series processor). The space needed is ~50 GB (including the generated - .deb files in parent directory. Build log file is ~125MB). To install the - debs in a VM, I used to create it with 30GB of disk space. - - PPA: It's necessary to ask to increase disk space to at least to 10GB - - Now, the package is prepared to be build using sbuild, without the - need of extract the source tarball. - - Packaging Desing considerations - =============================== - - *Using alternatives* - - One of the requirements for dotnet was to allow multiple SDKs (major versions) - installed at the same time on a machine. For that reason, we are using update-alternatives - for implementing it. - - The path would be /usr/lib/dotnet/dotnet6 and this would be a simlink (via /etc/alternatives) - to /usr/lib/dotnet/dotnet-6.0.105 (e.g., in the case of SDK v6.0.105). - - As the dotnet-host is the package that contains the binary dotnet cli, these operations are - being made around it. The items that has to be conducted by the alternatives are: - - * The binary. - * The bash completion script for that binary - * The man pages of that binary. - * The configuration files (install_location) that points to a concrete SDK. - - For that reason, .manpages , .bash-completions or .dirs files are not being used (as they need to - be set before update-alternatives comes to play). Therefore, some of these are being done manually - in the overriding install section of the rules files, as well as the generation of the - .update-alternatives file (on-the-fly). - - *Lintian Overrides* - - * license-problem-non-free-RFC: Every folder under src includes a THIRD_PARTY_NOTICES.TXT file - (that triggers the error). Also the file - src/runtime.*/src/coreclr/utilcode/guidfromname.cpp is multilicensed. - - * source-is-missing: We have three cases here for overriding this: - - 1. JS files: It looks like these are all false-positives. - The *.js files all contain the full source code and license headers. - Also, there are *.min.js files available; these would be a problem if - they were not accompanied by the corresponding *.js, but that doesn't - seem to be the case here. - - 2. HTML files: Also a false positive due to the use of the substring ".Link" - in their names. - - 3. prebuilds from MS Arcade: This files are needed for boostrapping the first - release of the package (they will disappear in upcoming releases). - - - - -- Miriam España Acebal Tue, 21 Jul 2022 - 12:58:49 +0200 + -- Dominik Viererbe Fri, 21 Jul 2023 09:57:31 +0300 diff -Nru dotnet6-6.0.120/debian/repack-dotnet-tarball.sh dotnet6-6.0.121/debian/repack-dotnet-tarball.sh --- dotnet6-6.0.120/debian/repack-dotnet-tarball.sh 2023-07-06 06:17:43.000000000 +0000 +++ dotnet6-6.0.121/debian/repack-dotnet-tarball.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,208 +0,0 @@ -#!/bin/bash - -# Usage: -# repack-dotnet-tarball link_to_ms_tarball -# -# Download the tarball from MS and erase some files -# not needed for the Ubuntu building. -# Recompression in xz format. - - - - -#trap on_exit TERM -#trap on_exit EXIT - -set -euo pipefail -IFS=$'\n\t' - -function print_usage { - echo "Usage:" - echo "$0 link" - echo "" - echo "Repack a source archive tarball for dotnet6" - echo "" - echo " link: http address from where we can download the tarball from MS" - echo "" -# echo " version (X.X.XXX): dotnet version to be cloned" -# echo "" - echo "example: $0 https://dotnetclimsrc.blob.core.[...]/[...]" -} - -function on_exit { - - rm -rf dotnet - rm -rf "${dir_name}" -} - - -function clean_uscan_download { - find .. -name "dotnet*${version}*.tar.*" -delete -} - - -set -x - -if [[ "$#" -gt 0 ]]; then - if [ "${1}" = "-h" ] || [ "${1}" = "--help" ]; then - print_usage - exit 0 - else - link="${1}" - ms_tarball=$(echo "${link}" | sed -r 's|.*/([^/]+tar.gz)\?.*|\1|') - version=$(echo "${ms_tarball}" | sed -r 's|.*-(.*).tar.gz|\1|') - dotnet=${version%%.*} - fi -else - echo "Not enought arguments to run properly:" - print_usage - exit 1 -fi - -#we are not using uscan at the moment, because azure repo is not compatible -#with the protocols we can use in the watch file -#clean_uscan_download - -#Change this for incorporating dotnet or new architecture to a Ubuntu series -bootstrapping=1 - -dir_name="dotnet${dotnet}-${version}" -tarball_suffix=".tar.xz" - -if [ "${bootstrapping}" -eq "1" ]; then - tarball_name="dotnet${dotnet}_${version}.orig" -else - tarball_name="dotnet${dotnet}_${version}~{arch}-bootstrap.orig" -fi - -tarball="${tarball_name}${tarball_suffix}" - -if [ -f "${tarball_name}${tarball_suffix}" ]; then - echo "error: ${tarball_name}${tarball_suffix} already exists" - exit 1 -fi - -# The below code avoids download the tarball if it has happened before -# sha512 has to be manually calculated on a single download and updated for every microrelease -# or provided by upstream. -download_mstarball=0 -if [ -s "${ms_tarball}" ]; then - sha512="3b585cee8181f6e196108779ffb92428008a485611c5442fad017caf37e6d83eed6e29e6b0078d36d3ff5dbb5cdcfff9feb2499bf48e4940f4916acec809183f" - existing_sha512sum=$(sha512sum "${ms_tarball}" | cut -d' ' -f1) - if [ "${sha512}" == "${existing_sha512sum}" ]; then - download_mstarball=1 - else - rm "{ms_tarball}" - fi -fi - -download_OK=1 -if [ "$download_mstarball" -eq "0" ]; then - wget "${link}" -O "${ms_tarball}" - download_OK=$? -fi - -# Clean the tarball -if [ "${download_OK}" -eq "0" ] || [ "${download_mstarball}" -eq "1" ]; then - - if [ -d "${dir_name}" ]; then - rm -rf "${dir_name}" - fi - - mkdir ${dir_name} - pushd ${dir_name} - tar xvzf ../${ms_tarball} - - - if [ "$bootstrapping" -eq "0" ]; then - ./prep.sh --bootstrap - fi - - # Remove files with funny licenses, crypto implementations and other - # not-very-useful artifacts to reduce tarball size - # This list concords with the File-Excluded stanza in the copyright - - # Binaries for gradle - rm -r src/aspnetcore/src/SignalR/clients/java/signalr/gradle* - - # Unnecessary crypto implementation: IDEA - rm -r src/runtime/src/tests/JIT/Performance/CodeQuality/Bytemark/ - - # https://github.com/dotnet/aspnetcore/issues/34785 - find src/aspnetcore/src -type d -name samples -print0 | xargs -0 rm -r - - # https://github.com/NuGet/Home/issues/11094 - rm -r src/nuget-client/test/EndToEnd - - #Checked that are not needed in the build: this only removes under roslyn: - #src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V?/*.dll - find src/roslyn/src/Compilers/Test/Resources -iname "*.dll" -exec rm -rf {} + - - # https://github.com/microsoft/ApplicationInsights-dotnet/issues/2670 - #we are applying a patch for this - #rm -r src/source-build-externals/src/application-insights/LOGGING/test/Shared/CustomTelemetryChannel.cs - - #Don't remove vendorized libunwind because we need it for arm64 archs - #rm -r src/runtime/src/coreclr/pal/src/libunwind - - #CPC-1578 prebuilts not used in build - rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod01.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/DiagnosticTests/ErrTestMod02.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryA.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/LibraryB.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Data.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.Storage.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/ExpressionCompiler/Windows.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/Invalid/EmptyModuleTable.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS00.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleCS01.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/MetadataTests/NetModule01/ModuleVB01.mod - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/CustomModifiers/Modifiers.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiModule/mod3.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source1Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source3Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source4Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source5Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/MultiTargeting/Source7Module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/RetargetingCycle/V1/ClassB.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/TypeForwarders/Forwarded.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V1/MTTestModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V2/MTTestModule3.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/V3/MTTestModule4.netmodule - rm 'src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/With Spaces.netmodule' - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/CrossRefModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/hash_module.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule1.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/SymbolsTests/netModule/netModule2.netmodule - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W1.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/W2.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WB_Version1.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WImpl.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/WinMDPrefixing.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.Languages.WinRTTest.winmd - rm src/roslyn/src/Compilers/Test/Resources/Core/WinRt/Windows.winmd - rm src/roslyn/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/Resources/WindowsProxy.winmd - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS00.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleCS01.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/NetModule/ModuleVB01.mod - rm src/runtime/src/libraries/System.Reflection.Metadata/tests/Resources/WinRT/Lib.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/ManagedWinmd.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/NativeWinmd.winmd - rm src/linker/external/cecil/Test/Resources/assemblies/moda.netmodule - rm src/linker/external/cecil/Test/Resources/assemblies/modb.netmodule - rm src/linker/external/cecil/Test/Resources/assemblies/winrtcomp.winmd - - popd -else - echo "An error ocurred when downloading MS tarball" - exit 1 -fi - -tar -I 'xz -T 0' -cf "${tarball}" "${dir_name}" -rm "${ms_tarball}" diff -Nru dotnet6-6.0.120/debian/tests/building-hello-world-for-all-supported-rids-should-work dotnet6-6.0.121/debian/tests/building-hello-world-for-all-supported-rids-should-work --- dotnet6-6.0.120/debian/tests/building-hello-world-for-all-supported-rids-should-work 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/building-hello-world-for-all-supported-rids-should-work 2023-08-02 07:44:36.000000000 +0000 @@ -65,14 +65,14 @@ for LANGUAGE in "${LANGUAGES[@]}"; do ProjectName="HelloWorld-${LANGUAGE}" ProjectFile="${ProjectName}/${ProjectName}${LanguageProjectFileExtension["${LANGUAGE}"]}" - + ArtifactRoot="${ProjectName}/bin/Release/${DOTNET_VERSION_NAME}/${RID}" Artifact1="${ArtifactRoot}/${ProjectName}.dll" Artifact2="${ArtifactRoot}/publish" LogInfo "Building $LANGUAGE Project for ${RID} with --self-contained" dotnet publish -c Release -r "${RID}" --self-contained "$ProjectFile" - + LogInfo "Check if build artifacts for ${RID} exists."; if [[ ! -e "$Artifact1" ]]; then LogErrorAndTerminate "Build artifact was not found: '$Artifact1'" diff -Nru dotnet6-6.0.120/debian/tests/cli-metadata-should-be-correct dotnet6-6.0.121/debian/tests/cli-metadata-should-be-correct --- dotnet6-6.0.120/debian/tests/cli-metadata-should-be-correct 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/cli-metadata-should-be-correct 2023-08-02 07:44:36.000000000 +0000 @@ -21,49 +21,38 @@ function CheckDotnetInfoOutput { LogInfo "Checking 'dotnet --info' output." - - DOTNET_INFO_OUTPUT="$(dotnet --info)" - case "$DOTNET_VERSION_NAME" in - net6.0) - expected="4" - ;; - net7.0) - expected="5" - ;; - *) - LogErrorAndTerminate "DOTNET_VERSION_NAME should either be 'net6.0' or 'net7.0'. Found '$DOTNET_VERSION_NAME'." - ;; - esac + DOTNET_INFO_OUTPUT="$(dotnet --info)" - count=$(echo "$DOTNET_INFO_OUTPUT" | grep "/usr/lib/dotnet" -c || true) + expected="4" + count=$(echo "$DOTNET_INFO_OUTPUT" | grep "/usr/lib/dotnet" -c || true) if [[ "${count}" == "$expected" ]]; then LogDebug "'dotnet --info' contained the path '/usr/lib/dotnet' $count times. Ok!" else - LogErrorAndTerminate "'dotnet --info' contained the path '/usr/lib/dotnet' $count times. Expected was $expected times." + LogErrorAndTerminate "'dotnet --info' contained the path '/usr/lib/dotnet' $count times. Expected was $expected times." fi count=$(echo "$DOTNET_INFO_OUTPUT" | grep -E "Version:\s+$DOTNET_SDK_VERSION" -c || true) if [[ "${count}" == "1" ]]; then - LogDebug "'dotnet --info' contains the SDK version number '$DOTNET_SDK_VERSION'. Ok!" + LogDebug "'dotnet --info' contains the SDK version number '$DOTNET_SDK_VERSION'. Ok!" else - LogErrorAndTerminate "'dotnet --info' did not contain the SDK version number '$DOTNET_SDK_VERSION'." + LogErrorAndTerminate "'dotnet --info' did not contain the SDK version number '$DOTNET_SDK_VERSION'." fi count=$(echo "$DOTNET_INFO_OUTPUT" | grep -E "Version:\s+$DOTNET_RUNTIME_VERSION" -c || true) if [[ "${count}" == "1" ]]; then - LogDebug "'dotnet --info' contains the Runtime version (Host Version) number '$DOTNET_RUNTIME_VERSION'. Ok!" + LogDebug "'dotnet --info' contains the Runtime version (Host Version) number '$DOTNET_RUNTIME_VERSION'. Ok!" else - LogErrorAndTerminate "'dotnet --info' did not contain the Runtime version (Host Version) number '$DOTNET_RUNTIME_VERSION'." + LogErrorAndTerminate "'dotnet --info' did not contain the Runtime version (Host Version) number '$DOTNET_RUNTIME_VERSION'." fi count=$(echo "$DOTNET_INFO_OUTPUT" | grep -E "RID:\s+$DOTNET_RUNTIME_IDENTIFIER" -c || true) if [[ "${count}" == "1" ]]; then - LogDebug "'dotnet --info' contains the Runtime Identifier (RID) '$DOTNET_RUNTIME_IDENTIFIER'. Ok!" + LogDebug "'dotnet --info' contains the Runtime Identifier (RID) '$DOTNET_RUNTIME_IDENTIFIER'. Ok!" else actual=$(echo "$DOTNET_INFO_OUTPUT" | grep "RID" || true) - LogErrorAndTerminate "'dotnet --info' did not contain the Runtime Identifier (RID) '$DOTNET_RUNTIME_IDENTIFIER'. Found $(echo "$actual" | tr -s ' ')" + LogErrorAndTerminate "'dotnet --info' did not contain the Runtime Identifier (RID) '$DOTNET_RUNTIME_IDENTIFIER'. Found $(echo "$actual" | tr -s ' ')" fi expected='global.json file: @@ -72,7 +61,7 @@ if [[ "$actual" == "$expected" ]]; then LogDebug "'dotnet --info' contains status information that the global.json file was not found. Ok!" else - LogErrorAndTerminate "'dotnet --info' did not contain status information that the global.json file was not found." + LogErrorAndTerminate "'dotnet --info' did not contain status information that the global.json file was not found." fi } @@ -80,7 +69,7 @@ # Notice that this test will fail for dotnet6 if dotnet7 is installed # in parallel, because "dotnet --version" will show the dotnet7 version. # - # It may also fail for dotnet7, because the expected count's (see + # It may also fail for dotnet7, because the expected count's (see # CheckDotnetInfoOutput below) are incorrect when both versions are installed. LogWarning "Skipping Test, because dotnet6 and dotnet7 are both installed. This test is expected to fail when both are installed." exit 77 # Skip Test diff -Nru dotnet6-6.0.120/debian/tests/console-template-should-build-and-run dotnet6-6.0.121/debian/tests/console-template-should-build-and-run --- dotnet6-6.0.120/debian/tests/console-template-should-build-and-run 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/console-template-should-build-and-run 2023-08-02 07:44:36.000000000 +0000 @@ -13,18 +13,18 @@ LogInfo "Building Project" dotnet build - LogInfo "Running Project" + LogInfo "Running Project" dotnet run | tee stdout.log LogInfo "Comparing with expected output" - case "$LANGUAGE" in + case "$LANGUAGE" in C#) test "$(< stdout.log)" = "$(echo -e 'Hello, World!\n')" ;; - F#) + F#) test "$(< stdout.log)" = "$(echo -e 'Hello from F#\n')" ;; - VB) + VB) test "$(< stdout.log)" = "$(echo -e 'Hello World!\n')" ;; esac diff -Nru dotnet6-6.0.120/debian/tests/control dotnet6-6.0.121/debian/tests/control --- dotnet6-6.0.120/debian/tests/control 2023-07-06 06:17:43.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/control 2023-08-02 07:44:36.000000000 +0000 @@ -1,10 +1,10 @@ -Tests: - essential-binaries-and-config-files-should-be-present +Tests: + essential-binaries-and-config-files-should-be-present, Depends: dotnet6 Restrictions: superficial Tests: - cli-metadata-should-be-correct + cli-metadata-should-be-correct, Depends: dotnet6 Restrictions: skippable @@ -15,20 +15,20 @@ dotnet-project-management-cli-should-work, example-fsharp-script-output-should-equal-expected-values, building-hello-world-for-all-supported-rids-should-work, - dotnet-runtime-json-contains-ubuntu-rids + dotnet-runtime-json-contains-ubuntu-rids, Depends: dotnet6 -Tests: +Tests: dotnet-xunit-tests-should-work, - nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery + nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery, Depends: dotnet6 Restrictions: needs-internet -Tests: - crossbuild-for-windows-x64-should-run +Tests: + crossbuild-for-windows-x64-should-run, Depends: dotnet6, wine Architecture: amd64 Tests: - dotnet6-and-dotnet7-should-work-together + dotnet6-and-dotnet7-should-work-together, Depends: dotnet6, dotnet7 diff -Nru dotnet6-6.0.120/debian/tests/crossbuild-for-windows-x64-should-run dotnet6-6.0.121/debian/tests/crossbuild-for-windows-x64-should-run --- dotnet6-6.0.120/debian/tests/crossbuild-for-windows-x64-should-run 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/crossbuild-for-windows-x64-should-run 2023-08-02 07:44:36.000000000 +0000 @@ -21,14 +21,14 @@ wine "$BINARY_PATH" 2>/dev/null | tee stdout.log LogInfo "Comparing with expected output" - case "$LANGUAGE" in + case "$LANGUAGE" in C#) test "$(< stdout.log)" = "$(echo -e 'Hello, World!\r\n')" ;; - F#) + F#) test "$(< stdout.log)" = "$(echo -e 'Hello from F#\r\n')" ;; - VB) + VB) test "$(< stdout.log)" = "$(echo -e 'Hello World!\r\n')" ;; esac diff -Nru dotnet6-6.0.120/debian/tests/essential-binaries-and-config-files-should-be-present dotnet6-6.0.121/debian/tests/essential-binaries-and-config-files-should-be-present --- dotnet6-6.0.120/debian/tests/essential-binaries-and-config-files-should-be-present 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/essential-binaries-and-config-files-should-be-present 2023-08-02 07:44:36.000000000 +0000 @@ -27,19 +27,7 @@ test -e "/etc/profile.d/dotnet.sh" } -function CheckEnvironmentVariables -{ - if [ -z ${DOTNET_ROOT+x} ]; then - LogErrorAndTerminate '$DOTNET_ROOT is not defined.' - fi - - if [[ ! "$DOTNET_ROOT" = "/usr/lib/dotnet" ]]; then - LogErrorAndTerminate "\$DOTNET_ROOT has the value '$DOTNET_ROOT' instead of the expected value '/usr/lib/dotnet'." - fi -} - CheckForPresenceOfEssentialDotnetBinaries CheckForPresenceOfEssentialDotnetConfigFiles -CheckEnvironmentVariables LogInfo "Test Ok!" diff -Nru dotnet6-6.0.120/debian/tests/global-json-should-be-detected dotnet6-6.0.121/debian/tests/global-json-should-be-detected --- dotnet6-6.0.120/debian/tests/global-json-should-be-detected 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/global-json-should-be-detected 2023-08-02 07:44:36.000000000 +0000 @@ -19,7 +19,7 @@ path=$PWD/global.json count=$(echo "$(dotnet --info)" | grep "$path" -nc) if [[ "${count}" != "1" ]]; then - LogErrorAndTerminate "The global.json file path was expected once in the 'dotnet --info' output. Actually found ${count} occurences." + LogErrorAndTerminate "The global.json file path was expected once in the 'dotnet --info' output. Actually found ${count} occurences." fi LogInfo "Test Ok!" diff -Nru dotnet6-6.0.120/debian/tests/nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery dotnet6-6.0.121/debian/tests/nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery --- dotnet6-6.0.120/debian/tests/nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/nuget-cli-should-be-able-to-consume-packages-from-nuget-gallery 2023-08-02 07:44:36.000000000 +0000 @@ -48,7 +48,7 @@ (dotnet run 2>&1 && LogErrorAndTerminate "'dotnet run' succeeded although nuget package is missing") || true LogInfo "Add Nuget Package" -dotnet add Testing.csproj package Google.Apis +dotnet add Testing.csproj package Google.Apis LogInfo "Run Application" dotnet run diff -Nru dotnet6-6.0.120/debian/tests/.tests.rc.d/CheckIfRuntimeJsonContainsUbuntuRIDs.fsx dotnet6-6.0.121/debian/tests/.tests.rc.d/CheckIfRuntimeJsonContainsUbuntuRIDs.fsx --- dotnet6-6.0.120/debian/tests/.tests.rc.d/CheckIfRuntimeJsonContainsUbuntuRIDs.fsx 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/.tests.rc.d/CheckIfRuntimeJsonContainsUbuntuRIDs.fsx 2023-08-02 07:44:36.000000000 +0000 @@ -19,12 +19,12 @@ printfn "INFO: Okay (No missing RID found)" else missingRIDs - |> Seq.iter (fun missingRid -> + |> Seq.iter (fun missingRid -> Console.ForegroundColor <- ConsoleColor.Red eprintfn $"ERROR: RID (Runtime Identifier) '{missingRid}' is missing in '{runtimeJsonFilePath}'!" Console.ResetColor() eprintfn $"INFO: This means that dotnet developers are unable to target '{missingRid}' for their application." eprintfn $"INFO: Possible solution: add '{missingRid}' RID as a patch and create Pull Request upstream." eprintfn "") - + Environment.Exit(-1) diff -Nru dotnet6-6.0.120/debian/tests/.tests.rc.d/GetRuntimeJsonPath.fsx dotnet6-6.0.121/debian/tests/.tests.rc.d/GetRuntimeJsonPath.fsx --- dotnet6-6.0.120/debian/tests/.tests.rc.d/GetRuntimeJsonPath.fsx 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/.tests.rc.d/GetRuntimeJsonPath.fsx 2023-08-02 07:44:36.000000000 +0000 @@ -27,7 +27,7 @@ let containsAny array values = array |> Array.exists (fun x -> Array.contains x values) - + if fsi.CommandLineArgs.Length < 2 then printErrorMessageAndTerminate "Too few arguments!" String.Empty diff -Nru dotnet6-6.0.120/debian/tests/.tests.rc.d/init.sh dotnet6-6.0.121/debian/tests/.tests.rc.d/init.sh --- dotnet6-6.0.120/debian/tests/.tests.rc.d/init.sh 2023-07-06 06:17:43.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/.tests.rc.d/init.sh 2023-08-02 07:44:36.000000000 +0000 @@ -6,7 +6,7 @@ set -eo pipefail -function Log +function Log { LogLevel=$1 LogMessage=$2 @@ -14,19 +14,19 @@ echo "$LOG_SOURCE [$LogLevel] $(date '+%H:%M:%S'): $LogMessage"; } -function LogDebug +function LogDebug { LogMessage=$1 Log "DEBUG" "$LogMessage"; } -function LogInfo +function LogInfo { LogMessage=$1 Log "INFO" "$LogMessage"; } -function LogWarning +function LogWarning { LogMessage=$1 Log "WARNING" "$LogMessage"; @@ -36,12 +36,12 @@ { LogMessage=$1 Log "ERROR" "$LogMessage" 1>&2; - + # makes shure that the shell terminates even from a subshell - kill -SIGPIPE "$$" + kill -SIGPIPE "$$" } -function GetUbuntuVersionIdentifier +function GetUbuntuVersionIdentifier { echo "$(source /etc/os-release && echo "$VERSION_ID")"; } @@ -50,16 +50,16 @@ { ARCH="$(uname -i)"; - case "$ARCH" in + case "$ARCH" in x86_64) echo "x64"; ;; - aarch64) + aarch64) echo "arm64"; ;; - *) + *) LogErrorAndTerminate "Unknown/Unsupported architecture '$ARCH'."; - ;; + ;; esac } @@ -76,7 +76,7 @@ function SetupEnvironmentVariables { LogInfo "Setup Environment Variables" - + export DOTNET_SDK_VERSION="$(GetUpstreamPackageVersion)"; LogDebug "DOTNET_SDK_VERSION = $DOTNET_SDK_VERSION"; @@ -103,9 +103,9 @@ LogDebug "$(echo "DOTNET_LANGUAGES = (${DOTNET_LANGUAGES[@]})")"; # supress welcome banner on first run of a dotnet command - export DOTNET_NOLOGO=true + export DOTNET_NOLOGO=true LogDebug "DOTNET_NOLOGO = $DOTNET_NOLOGO"; - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true LogDebug "DOTNET_SKIP_FIRST_TIME_EXPERIENCE = $DOTNET_SKIP_FIRST_TIME_EXPERIENCE"; } @@ -113,7 +113,7 @@ { LogDebug "Show Debug Infos" echo "$ dotnet --info" - dotnet --info + dotnet --info } function ChangeToAutopkgtestTmpFolder @@ -134,6 +134,6 @@ SetupEnvironmentVariables ShowDotnetDebugInfo -# Set LOG_SOURCE to the script that called this script. This assumes that this +# Set LOG_SOURCE to the script that called this script. This assumes that this # script gets called by a test inside the debian/tests folder. export LOG_SOURCE="$(echo $0 | grep -oE "debian/.+$")" diff -Nru dotnet6-6.0.120/debian/tests/.tests.rc.d/UbuntuRuntimeIdentifiers.Library.fsx dotnet6-6.0.121/debian/tests/.tests.rc.d/UbuntuRuntimeIdentifiers.Library.fsx --- dotnet6-6.0.120/debian/tests/.tests.rc.d/UbuntuRuntimeIdentifiers.Library.fsx 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/tests/.tests.rc.d/UbuntuRuntimeIdentifiers.Library.fsx 2023-08-02 07:44:36.000000000 +0000 @@ -7,35 +7,35 @@ jsonDocument.RootElement.GetProperty("runtimes").EnumerateObject() |> Seq.map (fun element -> element.Name) - // save sequence as Set because jsonDocument and jsonFileStream + // save sequence as Set because jsonDocument and jsonFileStream // will get disposed after this function call |> Set.ofSeq let parseSupportedBuildRuntimeIdentifiersFromRuntimeCompatiblityJsonFile (jsonFilePath : string) = let supportedBaseRIDs = [| "linux-x64"; "linux-arm"; "linux-arm64"; "win-x64"; "win-x86"; "osx-arm64"; "osx-x64"; "win-arm"; "win-arm64";|] - + use jsonFileStream = File.OpenRead(jsonFilePath) use jsonDocument = JsonDocument.Parse(jsonFileStream) jsonDocument.RootElement.EnumerateObject() - |> Seq.where (fun element -> + |> Seq.where (fun element -> if element.Name = "rhel.6-x64" then false else let dependsOn = - element.Value.EnumerateArray() + element.Value.EnumerateArray() |> Seq.map (fun arrayElement -> arrayElement.GetString()) |> Seq.toArray - + let hasSupportedBaseId = - dependsOn |> Array.exists (fun value -> (Array.contains value supportedBaseRIDs)) + dependsOn |> Array.exists (fun value -> (Array.contains value supportedBaseRIDs)) let dependsOnLinuxBionic = dependsOn |> Array.contains "linux-bionic" - + hasSupportedBaseId && not dependsOnLinuxBionic) |> Seq.map (fun element -> element.Name) - // save sequence as Set because jsonDocument and jsonFileStream + // save sequence as Set because jsonDocument and jsonFileStream // will get disposed after this function call |> Set.ofSeq @@ -58,23 +58,23 @@ let TrustyTahr = { Year = 2014u; Month = Month.April; } let XenialXerus = { Year = 2016u; Month = Month.April; } -let isReleaseSmallerThan releaseA releaseB = - (releaseA.Year < releaseB.Year) || - ( - releaseA.Year = releaseB.Year && +let isReleaseSmallerThan releaseA releaseB = + (releaseA.Year < releaseB.Year) || + ( + releaseA.Year = releaseB.Year && (int releaseA.Month) < (int releaseB.Month) ) let addSixMonths release = let zeroBasedReleaseMonth = (int release.Month) - 1 let offsetFromStartOfReleaseYearInMonths = zeroBasedReleaseMonth + 6 - + let yearOffset = offsetFromStartOfReleaseYearInMonths / 12 let month = (offsetFromStartOfReleaseYearInMonths % 12) + 1 { Year = release.Year + (uint yearOffset) - Month = enum(month) + Month = enum(month) } let asDotnetRuntimePlatformId releaseDate = @@ -85,12 +85,12 @@ let dotnetRIDsOf release = let dotnetRuntimePlatformId = asDotnetRuntimePlatformId release - - let supportedArchitectureSuffixes = + + let supportedArchitectureSuffixes = if (isReleaseSmallerThan release XenialXerus) then - [|""; "-arm"; "-x64"; "-x86"|] + [|""; "-arm"; "-x64"; "-x86"|] else - [|""; "-arm"; "-arm64"; "-x64"; "-x86"|] + [|""; "-arm"; "-arm64"; "-x64"; "-x86"|] supportedArchitectureSuffixes |> Seq.map (fun architectureSuffix -> dotnetRuntimePlatformId + architectureSuffix) @@ -98,7 +98,7 @@ let ubuntuDotnetRIDsSinceUntil since until = since |> Seq.unfold (fun release -> - let isReleaseSmallerThanUntil = + let isReleaseSmallerThanUntil = isReleaseSmallerThan release until if isReleaseSmallerThanUntil then @@ -112,18 +112,18 @@ let ubuntuDotnetRIDsSinceTrustyTahr = // I use a 5 instead of 6 month for a conservative estimation. - // Depending on when this test will run automatically there may + // Depending on when this test will run automatically there may // be no release announced yet. - // There is no harm if we forget to patch the RID for a devel - // ubuntu version within the release cycle, but it is a pain in - // the butt to keep a field like 'LatestRelease' up to date or - // care about a flaky test + // There is no harm if we forget to patch the RID for a devel + // ubuntu version within the release cycle, but it is a pain in + // the butt to keep a field like 'LatestRelease' up to date or + // care about a flaky test let nowInFiveMonth = System.DateTime.Now.AddMonths(5) - let nowInFiveMonthAsReleaseDate = + let nowInFiveMonthAsReleaseDate = { Year = (uint nowInFiveMonth.Year) Month = enum(nowInFiveMonth.Month) } - + ubuntuDotnetRIDsSinceUntil TrustyTahr nowInFiveMonthAsReleaseDate diff -Nru dotnet6-6.0.120/debian/watch dotnet6-6.0.121/debian/watch --- dotnet6-6.0.120/debian/watch 2023-07-06 06:16:59.000000000 +0000 +++ dotnet6-6.0.121/debian/watch 2023-08-02 07:44:36.000000000 +0000 @@ -1,8 +1,7 @@ version=4 -#opts="mode=git,repack,compression=xz,filenamemangle=s%(?:.*?)?v(\d[\d.]*)\.tar\.gz%dotnet-$1.tar.gz%" \ -#https://github.com/mirespace/dotnet6 \ -#refs/tags/v(\d[\d.]*) -opts="repack,compression=xz,filenamemangle=s%(?:.*?)?v(\d[\d.]*)\.tar\.gz%dotnet-$1.tar.gz%" \ - https://github.com/dotnet/installer/tags \ - (?:.*?/)?v(\d[\d.]*)\.tar\.gz \ - debian debian/build-dotnet-tarball.sh +opts="repack,compression=xz,filenamemangle=s%(?:.*?)?v(6\.0\.1\d\d)\.tar\.gz%dotnet-$1.tar.gz%" \ +https://github.com/dotnet/installer/tags \ +(?:.*?/)?v(6\.0\.1\d\d)\.tar\.gz \ +# See the section "Package Design Considerations" > "`debian/watch` file" +# in the README.source file for more context. +debian debian/failing-watchfile-script.sh diff -Nru dotnet6-6.0.120/git-info/AllRepoVersions.props dotnet6-6.0.121/git-info/AllRepoVersions.props --- dotnet6-6.0.120/git-info/AllRepoVersions.props 2023-06-23 18:46:51.000000000 +0000 +++ dotnet6-6.0.121/git-info/AllRepoVersions.props 2023-07-18 20:44:37.000000000 +0000 @@ -7,10 +7,10 @@ 6.0.252703 c750b5a665adb75b528a93d844f238bd1360a91a 3.3.3-beta1.21519.5 - 91616785a1a6578c83f7e93d98c34a1eb83d6223 - 6.0.0-beta.23313.5 - 39e0501ee91dcf2b9b885d647795184815fb0408 - 6.0.20 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 + 6.0.0-beta.23361.3 + cec88a329584349fda070f4c7346b10538210ace + 6.0.21 3198bf5660cad3dab85f5475bf1fda9688146e3f 1.0.0-preview.21310.2 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 @@ -27,10 +27,10 @@ 6.0.5-rc.1 487283bcd8d66693091f2800dcf1c8ae37cccdee 4.0.1-1.22181.2 - a08d9ce2caf02455c0b825bcdc32974bdf769a80 - 6.0.20 - 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 - 6.0.120-servicing.23322.14 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d + 6.0.21 + 1f77c362a752e25c643140f014af4ee0a05fce4b + 6.0.121-servicing.23367.13 7649ca7106e7e91ac06f169626bf01a77c2258eb 6.0.0-servicing.22419.2 38385bc8b19cebe7ae7d20771646158785ee5bdc @@ -39,8 +39,8 @@ 1.1.0-beta-21480-02 7b9791daa3a3477eb22ec805946c9fff8b42d8ca 1.4.0-beta2-21475-02 - 080b813fcf9f2417d6f0d50a6853d1b71034482b - 6.0.120-servicing.23322.4 + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f + 6.0.121-servicing.23363.11 c40ef7e056b48e011c43a21354d6790ba6b8b4fc 1.0.2-beta4.22064.3 cc7fb0593127e24f55ce016fb3ac85b5b2857fec @@ -49,7 +49,7 @@ 5.0.0-preview.21431.1 bc3233146e1fcd393ed471d5005333c83363e0fe 1.0.0-beta.21431.1 - d63b17be66f766a5381950bce677884e4e3bb5b6 - 6.0.120 + b0dda375d13513f4b0db90517ff4408e05eb68a4 + 6.0.121 diff -Nru dotnet6-6.0.120/git-info/arcade.props dotnet6-6.0.121/git-info/arcade.props --- dotnet6-6.0.120/git-info/arcade.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/arcade.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 false - 20230613.5 - 6.0.0-beta.23313.5 + 20230711.3 + 6.0.0-beta.23361.3 beta diff -Nru dotnet6-6.0.120/git-info/aspnetcore.props dotnet6-6.0.121/git-info/aspnetcore.props --- dotnet6-6.0.120/git-info/aspnetcore.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/aspnetcore.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace true - 20230623.1 - 6.0.20 + 20230718.1 + 6.0.21 diff -Nru dotnet6-6.0.120/git-info/command-line-api.props dotnet6-6.0.121/git-info/command-line-api.props --- dotnet6-6.0.120/git-info/command-line-api.props 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/git-info/command-line-api.props 2023-07-18 20:42:35.000000000 +0000 @@ -3,7 +3,7 @@ 82273cb56c83b589e8e5b63da0ac9745ffc6e105 true - 20230623.1 + 20230718.1 0.1.247301 diff -Nru dotnet6-6.0.120/git-info/deployment-tools.props dotnet6-6.0.121/git-info/deployment-tools.props --- dotnet6-6.0.120/git-info/deployment-tools.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/deployment-tools.props 2023-07-18 20:41:57.000000000 +0000 @@ -3,7 +3,7 @@ 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 true - 20230623.1 + 20230718.1 1.0.247101 diff -Nru dotnet6-6.0.120/git-info/format.props dotnet6-6.0.121/git-info/format.props --- dotnet6-6.0.120/git-info/format.props 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/git-info/format.props 2023-07-18 20:42:35.000000000 +0000 @@ -3,7 +3,7 @@ 68bc36719088c86b0ff01334039b0611741b8276 true - 20230623.1 + 20230718.1 6.0.252703 diff -Nru dotnet6-6.0.120/git-info/installer.props dotnet6-6.0.121/git-info/installer.props --- dotnet6-6.0.120/git-info/installer.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/installer.props 2023-07-18 20:41:56.000000000 +0000 @@ -1,11 +1,11 @@ - 22915 - d63b17be66f766a5381950bce677884e4e3bb5b6 + 22940 + b0dda375d13513f4b0db90517ff4408e05eb68a4 true - 20230623.1 - 6.0.120 + 20230718.1 + 6.0.121 diff -Nru dotnet6-6.0.120/git-info/msbuild.props dotnet6-6.0.121/git-info/msbuild.props --- dotnet6-6.0.120/git-info/msbuild.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/msbuild.props 2023-07-18 20:41:57.000000000 +0000 @@ -3,7 +3,7 @@ b177f8fa703370c80b2e56469208c2bb099efba0 true - 20230623.1 + 20230718.1 17.0.1 diff -Nru dotnet6-6.0.120/git-info/nuget-client.props dotnet6-6.0.121/git-info/nuget-client.props --- dotnet6-6.0.120/git-info/nuget-client.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/nuget-client.props 2023-07-18 20:41:57.000000000 +0000 @@ -3,7 +3,7 @@ 7fe6b814c901490292f02d8ea12749505fbb959a false - 20230623.1 + 20230718.1 6.0.5-rc.1 rc diff -Nru dotnet6-6.0.120/git-info/runtime-portable.props dotnet6-6.0.121/git-info/runtime-portable.props --- dotnet6-6.0.120/git-info/runtime-portable.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/runtime-portable.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d true - 20230623.1 - 6.0.20 + 20230718.1 + 6.0.21 diff -Nru dotnet6-6.0.120/git-info/runtime.props dotnet6-6.0.121/git-info/runtime.props --- dotnet6-6.0.120/git-info/runtime.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/runtime.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d true - 20230623.1 - 6.0.20 + 20230718.1 + 6.0.21 diff -Nru dotnet6-6.0.120/git-info/sdk.props dotnet6-6.0.121/git-info/sdk.props --- dotnet6-6.0.120/git-info/sdk.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/sdk.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 + 1f77c362a752e25c643140f014af4ee0a05fce4b false - 20230622.14 - 6.0.120-servicing.23322.14 + 20230717.13 + 6.0.121-servicing.23367.13 servicing diff -Nru dotnet6-6.0.120/git-info/templating.props dotnet6-6.0.121/git-info/templating.props --- dotnet6-6.0.120/git-info/templating.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/git-info/templating.props 2023-07-18 20:41:57.000000000 +0000 @@ -1,10 +1,10 @@ - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f false - 20230622.4 - 6.0.120-servicing.23322.4 + 20230713.11 + 6.0.121-servicing.23363.11 servicing diff -Nru dotnet6-6.0.120/global.json dotnet6-6.0.121/global.json --- dotnet6-6.0.120/global.json 2023-06-23 18:43:18.000000000 +0000 +++ dotnet6-6.0.121/global.json 2023-07-18 20:41:26.000000000 +0000 @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.119" + "dotnet": "6.0.120" }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", diff -Nru dotnet6-6.0.120/packages/archive/archiveArtifacts.txt dotnet6-6.0.121/packages/archive/archiveArtifacts.txt --- dotnet6-6.0.120/packages/archive/archiveArtifacts.txt 2023-06-23 18:47:00.000000000 +0000 +++ dotnet6-6.0.121/packages/archive/archiveArtifacts.txt 2023-07-18 20:44:47.000000000 +0000 @@ -1 +1 @@ -https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.6.0.119.tar.gz +https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.6.0.120.tar.gz diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.json 2023-06-20 08:48:54.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -{ - "version": "6.0.20", - "workloads": { - "microsoft-net-sdk-emscripten": { - "abstract": true, - "description": "Emscripten SDK compiler tooling", - "packs": [ - "Microsoft.NET.Runtime.Emscripten.Node.net6", - "Microsoft.NET.Runtime.Emscripten.Python.net6", - "Microsoft.NET.Runtime.Emscripten.Sdk.net6" - ], - "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] - } - }, - "packs": { - "Microsoft.NET.Runtime.Emscripten.Node.net6" : { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64", - "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64", - "linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.linux-x64", - "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64", - "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64" - } - }, - "Microsoft.NET.Runtime.Emscripten.Python.net6" : { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64", - "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64", - "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64", - "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64" - } - }, - "Microsoft.NET.Runtime.Emscripten.Sdk.net6" : { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64", - "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64", - "linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64", - "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64", - "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64" - } - } - } -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets 2023-06-20 08:46:42.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - true - - - - <_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true - WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+ - - - - true - $(WasmNativeWorkload) - - - - false - false - - - - - - - - Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/Icon.png and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/Icon.png differ diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/LICENSE dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/LICENSE --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/LICENSE 2023-06-20 08:46:42.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/LICENSE 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -Copyright (c) 2018 Emscripten authors (see AUTHORS in Emscripten) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ----------------------------------------------------------------------------- - -This is the MIT/Expat Licence. For more information see: - -1. http://www.opensource.org/licenses/mit-license.php - -2. http://en.wikipedia.org/wiki/MIT_License diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec 2023-06-20 08:48:54.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.20/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 - 6.0.20 - Microsoft.NET.Workload.Emscripten.Manifest - Microsoft - microsoft,dotnetframework - false - https://github.com/dotnet/emsdk/blob/main/LICENSE - Icon.png - https://github.com/dotnet/emsdk - http://go.microsoft.com/fwlink/?LinkID=288859 - Internal toolchain package not meant for direct consumption. Please do not reference directly. - © Microsoft Corporation. All rights reserved. - true - - - \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.json 2023-07-12 21:09:44.000000000 +0000 @@ -0,0 +1,49 @@ +{ + "version": "6.0.21", + "workloads": { + "microsoft-net-sdk-emscripten": { + "abstract": true, + "description": "Emscripten SDK compiler tooling", + "packs": [ + "Microsoft.NET.Runtime.Emscripten.Node.net6", + "Microsoft.NET.Runtime.Emscripten.Python.net6", + "Microsoft.NET.Runtime.Emscripten.Sdk.net6" + ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + } + }, + "packs": { + "Microsoft.NET.Runtime.Emscripten.Node.net6" : { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64", + "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64", + "linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.linux-x64", + "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64", + "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64" + } + }, + "Microsoft.NET.Runtime.Emscripten.Python.net6" : { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64", + "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64", + "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64", + "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64" + } + }, + "Microsoft.NET.Runtime.Emscripten.Sdk.net6" : { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64", + "win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64", + "linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64", + "osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64", + "osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64" + } + } + } +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets 2023-07-12 21:07:26.000000000 +0000 @@ -0,0 +1,26 @@ + + + true + + + + <_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true + WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+ + + + + true + $(WasmNativeWorkload) + + + + false + false + + + + + + + + Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/Icon.png and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/Icon.png differ diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/LICENSE dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/LICENSE --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/LICENSE 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/LICENSE 2023-07-12 21:07:26.000000000 +0000 @@ -0,0 +1,27 @@ +Copyright (c) 2018 Emscripten authors (see AUTHORS in Emscripten) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------------- + +This is the MIT/Expat Licence. For more information see: + +1. http://www.opensource.org/licenses/mit-license.php + +2. http://en.wikipedia.org/wiki/MIT_License diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.emscripten.manifest-6.0.100/6.0.21/microsoft.net.workload.emscripten.manifest-6.0.100.nuspec 2023-07-12 21:09:44.000000000 +0000 @@ -0,0 +1,19 @@ + + + + Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 + 6.0.21 + Microsoft.NET.Workload.Emscripten.Manifest + Microsoft + microsoft,dotnetframework + false + https://github.com/dotnet/emsdk/blob/main/LICENSE + Icon.png + https://github.com/dotnet/emsdk + http://go.microsoft.com/fwlink/?LinkID=288859 + Internal toolchain package not meant for direct consumption. Please do not reference directly. + © Microsoft Corporation. All rights reserved. + true + + + \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.cs.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.cs.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.cs.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.cs.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Nástroje pro sestavení .NET WebAssembly" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.de.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.de.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.de.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.de.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly-Buildtools" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.en.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.en.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.en.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.en.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly build tools" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.es.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.es.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.es.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.es.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Herramientas de compilación de WebAssembly de .NET" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.fr.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.fr.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.fr.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.fr.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Outils de construction .NET WebAssembly" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.it.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.it.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.it.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.it.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Strumenti di compilazione WebAssembly .NET" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ja.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ja.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ja.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ja.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly ビルド ツール" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ko.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ko.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ko.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ko.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly 빌드 도구" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pl.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pl.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pl.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pl.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pt-BR.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pt-BR.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pt-BR.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.pt-BR.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Ferramentas de build do .NET WebAssembly" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ru.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ru.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ru.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.ru.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": "Средства сборки WebAssembly .NET" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.tr.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.tr.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.tr.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.tr.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly derleme araçları" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hans.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hans.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hans.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hans.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly 生成工具" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hant.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hant.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hant.json 2023-06-20 18:54:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/localize/WorkloadManifest.zh-Hant.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -{ - "workloads/wasm-tools/description": ".NET WebAssembly 組建工具" -} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.json 2023-06-20 18:59:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,458 +0,0 @@ -{ - "version": "6.0.20", - "depends-on": { - "Microsoft.NET.Workload.Emscripten": "6.0.20" - }, - "workloads": { - "wasm-tools": { - "description": ".NET WebAssembly build tools", - "packs": [ - "Microsoft.NET.Runtime.WebAssembly.Sdk.net6", - "Microsoft.NETCore.App.Runtime.Mono.net6.browser-wasm", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm" - ], - "extends": [ "microsoft-net-runtime-mono-tooling", "microsoft-net-sdk-emscripten" ], - "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] - }, - "microsoft-net-runtime-android": { - "abstract": true, - "description": "Android Mono Runtime", - "packs": [ - "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm", - "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.android-x64", - "Microsoft.NETCore.App.Runtime.Mono.net6.android-x86" - ], - "extends": [ "microsoft-net-runtime-mono-tooling" ], - "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] - }, - "microsoft-net-runtime-android-aot": { - "abstract": true, - "description": "Android Mono AOT Workload", - "packs": [ - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64" - ], - "extends": [ "microsoft-net-runtime-android" ], - "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] - }, - "microsoft-net-runtime-ios": { - "abstract": true, - "description": "iOS Mono Runtime and AOT Workload", - "packs": [ - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86" - ], - "extends": [ "runtimes-ios" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "runtimes-ios": { - "abstract": true, - "description": "iOS Mono Runtime Packs", - "packs": [ - "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm", - "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64", - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86" - ], - "extends": [ "microsoft-net-runtime-mono-tooling" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "microsoft-net-runtime-maccatalyst": { - "abstract": true, - "description": "MacCatalyst Mono Runtime and AOT Workload", - "packs": [ - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64" - ], - "extends": [ "runtimes-maccatalyst" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "runtimes-maccatalyst": { - "abstract": true, - "description": "MacCatalyst Mono Runtime Packs", - "packs": [ - "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64" - ], - "extends": [ "microsoft-net-runtime-mono-tooling" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "microsoft-net-runtime-macos": { - "abstract": true, - "description": "MacOS CoreCLR and Mono Runtime Workload", - "packs": [ - "Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64", - "Microsoft.NETCore.App.Runtime.net6.osx-arm64", - "Microsoft.NETCore.App.Runtime.net6.osx-x64" - ], - "extends": [ "microsoft-net-runtime-mono-tooling" ], - "platforms": [ "osx-arm64", "osx-x64" ] - }, - "microsoft-net-runtime-tvos": { - "abstract": true, - "description": "tvOS Mono Runtime and AOT Workload", - "packs": [ - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64", - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64" - ], - "extends": [ "runtimes-tvos" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "runtimes-tvos": { - "abstract": true, - "description": "tvOS Mono Runtime Packs", - "packs": [ - "Microsoft.NETCore.App.Runtime.Mono.net6.tvos-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64", - "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64" - ], - "extends": [ "microsoft-net-runtime-mono-tooling" ], - "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] - }, - "runtimes-windows": { - "description": "Windows Runtime Packs", - "packs": [ - "Microsoft.NETCore.App.Runtime.net6.win-x64", - "Microsoft.NETCore.App.Runtime.net6.win-x86", - "Microsoft.NETCore.App.Runtime.net6.win-arm", - "Microsoft.NETCore.App.Runtime.net6.win-arm64" - ] - }, - "microsoft-net-runtime-mono-tooling": { - "abstract": true, - "description": "Shared native build tooling for Mono runtime", - "packs": [ - "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6", - "Microsoft.NET.Runtime.MonoTargets.Sdk.net6", - ], - } - }, - "packs": { - "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task" - } - }, - "Microsoft.NET.Runtime.MonoTargets.Sdk.net6": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NET.Runtime.MonoTargets.Sdk" - } - }, - "Microsoft.NET.Runtime.WebAssembly.Sdk.net6": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NET.Runtime.WebAssembly.Sdk" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.android-x64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.android-x64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.android-x86": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.android-x86" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", - "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", - "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", - "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", - "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", - "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", - "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", - "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", - "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-arm64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64" - } - }, - "Microsoft.NETCore.App.Runtime.net6.osx-arm64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.net6.osx-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.net6.osx-x64": { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.net6.osx-x64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.tvos-arm64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm", - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64", - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86" - } - }, - "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm": { - "kind": "Sdk", - "version": "6.0.20", - "alias-to": { - "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", - "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", - "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm", - "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm", - "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm" - } - }, - "Microsoft.NETCore.App.Runtime.Mono.net6.browser-wasm" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm" - } - }, - "Microsoft.NETCore.App.Runtime.net6.win-x64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.win-x64" - } - }, - "Microsoft.NETCore.App.Runtime.net6.win-x86" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.win-x86" - } - }, - "Microsoft.NETCore.App.Runtime.net6.win-arm" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.win-arm" - } - }, - "Microsoft.NETCore.App.Runtime.net6.win-arm64" : { - "kind": "framework", - "version": "6.0.20", - "alias-to": { - "any": "Microsoft.NETCore.App.Runtime.win-arm64" - } - } - } -} diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets 2023-06-20 18:59:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/data/WorkloadManifest.targets 1970-01-01 00:00:00.000000000 +0000 @@ -1,116 +0,0 @@ - - - 6.0.20 - true - - - - - true - $(WasmNativeWorkload) - - - - false - false - - - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_MonoWorkloadTargetsMobile>true - <_MonoWorkloadRuntimePackPackageVersion>$(RuntimePackInWorkloadVersion) - - - - - $(_MonoWorkloadRuntimePackPackageVersion) - - - - - - - - - - - - - - - Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/Icon.png and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/Icon.png differ diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/LICENSE.TXT dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/LICENSE.TXT --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/LICENSE.TXT 2023-06-20 18:52:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/LICENSE.TXT 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec 2023-06-20 18:59:32.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - Microsoft.NET.Workload.Mono.ToolChain.Manifest-6.0.100 - 6.0.20 - Microsoft.NET.Workload.Mono.Toolchain.Manifest - Microsoft - microsoft,dotnetframework - false - MIT - https://licenses.nuget.org/MIT - Icon.png - https://dot.net/ - http://go.microsoft.com/fwlink/?LinkID=288859 - Internal toolchain package not meant for direct consumption. Please do not reference directly. - https://go.microsoft.com/fwlink/?LinkID=799421 - © Microsoft Corporation. All rights reserved. - true - - - \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/THIRD-PARTY-NOTICES.TXT dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/THIRD-PARTY-NOTICES.TXT --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/THIRD-PARTY-NOTICES.TXT 2023-06-20 18:52:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.20/THIRD-PARTY-NOTICES.TXT 1970-01-01 00:00:00.000000000 +0000 @@ -1,957 +0,0 @@ -.NET Runtime uses third-party libraries or other resources that may be -distributed under licenses different than the .NET Runtime software. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention. Post an issue or email us: - - dotnet@microsoft.com - -The attached notices are provided for information only. - -License notice for ASP.NET -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. -Licensed under the Apache License, Version 2.0. - -Available at -https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt - -License notice for Slicing-by-8 -------------------------------- - -http://sourceforge.net/projects/slicing-by-8/ - -Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - - -This software program is licensed subject to the BSD License, available at -http://www.opensource.org/licenses/bsd-license.html. - - -License notice for Unicode data -------------------------------- - -https://www.unicode.org/license.html - -Copyright © 1991-2020 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -License notice for Zlib ------------------------ - -https://github.com/madler/zlib -http://zlib.net/zlib_license.html - -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -*/ - -License notice for Mono -------------------------------- - -http://www.mono-project.com/docs/about-mono/ - -Copyright (c) .NET Foundation Contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the Software), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for International Organization for Standardization ------------------------------------------------------------------ - -Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. - -License notice for Intel ------------------------- - -"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xamarin and Novell -------------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Third party notice for W3C --------------------------- - -"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE -Status: This license takes effect 13 May, 2015. -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: -The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." - -License notice for Bit Twiddling Hacks --------------------------------------- - -Bit Twiddling Hacks - -By Sean Eron Anderson -seander@cs.stanford.edu - -Individually, the code snippets here are in the public domain (unless otherwise -noted) — feel free to use them however you please. The aggregate collection and -descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are -distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and -without even the implied warranty of merchantability or fitness for a particular -purpose. - -License notice for Brotli --------------------------------------- - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -compress_fragment.c: -Copyright (c) 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -decode_fuzzer.c: -Copyright (c) 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - -License notice for Json.NET -------------------------------- - -https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md - -The MIT License (MIT) - -Copyright (c) 2007 James Newton-King - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized base64 encoding / decoding --------------------------------------------------------- - -Copyright (c) 2005-2007, Nick Galbreath -Copyright (c) 2013-2017, Alfred Klomp -Copyright (c) 2015-2017, Wojciech Mula -Copyright (c) 2016-2017, Matthieu Darbois -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for RFC 3492 ---------------------------- - -The punycode implementation is based on the sample code in RFC 3492 - -Copyright (C) The Internet Society (2003). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" ---------------------------------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, or Digital Equipment Corporation be used in advertising -or publicity pertaining to distribution of the software without -specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment -Corporation makes any representations about the suitability of -this software for any purpose. - -Copyright(C) The Internet Society 1997. All Rights Reserved. - -This document and translations of it may be copied and furnished to others, -and derivative works that comment on or otherwise explain it or assist in -its implementation may be prepared, copied, published and distributed, in -whole or in part, without restriction of any kind, provided that the above -copyright notice and this paragraph are included on all such copies and -derivative works.However, this document itself may not be modified in any -way, such as by removing the copyright notice or references to the Internet -Society or other Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for copyrights -defined in the Internet Standards process must be followed, or as required -to translate it into languages other than English. - -The limited permissions granted above are perpetual and will not be revoked -by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an "AS IS" -basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE -DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY -RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A -PARTICULAR PURPOSE. - -License notice for Algorithm from RFC 4122 - -A Universally Unique IDentifier (UUID) URN Namespace ----------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -Copyright (c) 1998 Microsoft. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, Microsoft, or Digital Equipment Corporation be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital -Equipment Corporation makes any representations about the -suitability of this software for any purpose." - -License notice for The LLVM Compiler Infrastructure ---------------------------------------------------- - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - -License notice for Bob Jenkins ------------------------------- - -By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this -code any way you wish, private, educational, or commercial. It's free. - -License notice for Greg Parker ------------------------------- - -Greg Parker gparker@cs.stanford.edu December 2000 -This code is in the public domain and may be copied or modified without -permission. - -License notice for libunwind based code ----------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------- - -/****************************************************************************** - Copyright (c) 2014 Ryan Juckett - http://www.ryanjuckett.com/ - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -******************************************************************************/ - -License notice for Printing Floating-point Numbers (Grisu3) ------------------------------------------------------------ - -Copyright 2012 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for xxHash -------------------------- - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Berkeley SoftFloat Release 3e ------------------------------------------------- - -https://github.com/ucb-bar/berkeley-softfloat-3 -https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt - -License for Berkeley SoftFloat Release 3e - -John R. Hauser -2018 January 20 - -The following applies to the whole of SoftFloat Release 3e as well as to -each source file individually. - -Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the -University of California. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for xoshiro RNGs --------------------------------- - -Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) - -To the extent possible under law, the author has dedicated all copyright -and related and neighboring rights to this software to the public domain -worldwide. This software is distributed without any warranty. - -See . - -License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) --------------------------------------- - - Copyright 2018 Daniel Lemire - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -License notice for The C++ REST SDK ------------------------------------ - -C++ REST SDK - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for MessagePack-CSharp -------------------------------------- - -MessagePack for C# - -MIT License - -Copyright (c) 2017 Yoshifumi Kawai - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for lz4net -------------------------------------- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Nerdbank.Streams ------------------------------------ - -The MIT License (MIT) - -Copyright (c) Andrew Arnott - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for RapidJSON ----------------------------- - -Tencent is pleased to support the open source community by making RapidJSON available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -Licensed under the MIT License (the "License"); you may not use this file except -in compliance with the License. You may obtain a copy of the License at - -http://opensource.org/licenses/MIT - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for DirectX Math Library ---------------------------------------- - -https://github.com/microsoft/DirectXMath/blob/master/LICENSE - - The MIT License (MIT) - -Copyright (c) 2011-2020 Microsoft Corp - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be included in all copies -or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF -CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for ldap4net ---------------------------- - -The MIT License (MIT) - -Copyright (c) 2018 Alexander Chermyanin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized sorting code ------------------------------------------- - -MIT License - -Copyright (c) 2020 Dan Shechter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for musl ------------------------ - -musl as a whole is licensed under the following standard MIT license: - -Copyright © 2005-2020 Rich Felker, et al. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -License notice for "Faster Unsigned Division by Constants" ------------------------------- - -Reference implementations of computing and using the "magic number" approach to dividing -by constants, including codegen instructions. The unsigned division incorporates the -"round down" optimization per ridiculous_fish. - -This is free and unencumbered software. Any copyright is dedicated to the Public Domain. - - -License notice for mimalloc ------------------------------------ - -MIT License - -Copyright (c) 2019 Microsoft Corporation, Daan Leijen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) --------------------------------------- - -Copyright 2019 LLVM Project - -Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -https://llvm.org/LICENSE.txt - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.cs.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.cs.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.cs.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.cs.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Nástroje pro sestavení .NET WebAssembly" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.de.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.de.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.de.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.de.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly-Buildtools" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.en.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.en.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.en.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.en.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly build tools" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.es.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.es.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.es.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.es.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Herramientas de compilación de WebAssembly de .NET" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.fr.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.fr.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.fr.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.fr.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Outils de construction .NET WebAssembly" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.it.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.it.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.it.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.it.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Strumenti di compilazione WebAssembly .NET" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ja.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ja.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ja.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ja.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly ビルド ツール" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ko.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ko.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ko.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ko.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly 빌드 도구" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pl.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pl.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pl.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pl.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pt-BR.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pt-BR.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pt-BR.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.pt-BR.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Ferramentas de build do .NET WebAssembly" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ru.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ru.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ru.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.ru.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": "Средства сборки WebAssembly .NET" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.tr.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.tr.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.tr.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.tr.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly derleme araçları" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hans.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hans.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hans.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hans.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly 生成工具" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hant.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hant.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hant.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/localize/WorkloadManifest.zh-Hant.json 2023-07-13 20:55:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools/description": ".NET WebAssembly 組建工具" +} \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.json dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.json --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.json 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.json 2023-07-13 20:59:08.000000000 +0000 @@ -0,0 +1,458 @@ +{ + "version": "6.0.21", + "depends-on": { + "Microsoft.NET.Workload.Emscripten": "6.0.21" + }, + "workloads": { + "wasm-tools": { + "description": ".NET WebAssembly build tools", + "packs": [ + "Microsoft.NET.Runtime.WebAssembly.Sdk.net6", + "Microsoft.NETCore.App.Runtime.Mono.net6.browser-wasm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm" + ], + "extends": [ "microsoft-net-runtime-mono-tooling", "microsoft-net-sdk-emscripten" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-android": { + "abstract": true, + "description": "Android Mono Runtime", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm", + "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.android-x64", + "Microsoft.NETCore.App.Runtime.Mono.net6.android-x86" + ], + "extends": [ "microsoft-net-runtime-mono-tooling" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-android-aot": { + "abstract": true, + "description": "Android Mono AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64" + ], + "extends": [ "microsoft-net-runtime-android" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-ios": { + "abstract": true, + "description": "iOS Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86" + ], + "extends": [ "runtimes-ios" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-ios": { + "abstract": true, + "description": "iOS Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm", + "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64", + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86" + ], + "extends": [ "microsoft-net-runtime-mono-tooling" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-maccatalyst": { + "abstract": true, + "description": "MacCatalyst Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64" + ], + "extends": [ "runtimes-maccatalyst" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-maccatalyst": { + "abstract": true, + "description": "MacCatalyst Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-macos": { + "abstract": true, + "description": "MacOS CoreCLR and Mono Runtime Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64", + "Microsoft.NETCore.App.Runtime.net6.osx-arm64", + "Microsoft.NETCore.App.Runtime.net6.osx-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling" ], + "platforms": [ "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-tvos": { + "abstract": true, + "description": "tvOS Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64" + ], + "extends": [ "runtimes-tvos" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-tvos": { + "abstract": true, + "description": "tvOS Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net6.tvos-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-windows": { + "description": "Windows Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.net6.win-x64", + "Microsoft.NETCore.App.Runtime.net6.win-x86", + "Microsoft.NETCore.App.Runtime.net6.win-arm", + "Microsoft.NETCore.App.Runtime.net6.win-arm64" + ] + }, + "microsoft-net-runtime-mono-tooling": { + "abstract": true, + "description": "Shared native build tooling for Mono runtime", + "packs": [ + "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6", + "Microsoft.NET.Runtime.MonoTargets.Sdk.net6", + ], + } + }, + "packs": { + "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task" + } + }, + "Microsoft.NET.Runtime.MonoTargets.Sdk.net6": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NET.Runtime.MonoTargets.Sdk" + } + }, + "Microsoft.NET.Runtime.WebAssembly.Sdk.net6": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NET.Runtime.WebAssembly.Sdk" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.android-x64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.android-x86": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-arm64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64" + } + }, + "Microsoft.NETCore.App.Runtime.net6.osx-arm64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.net6.osx-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.net6.osx-x64": { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.net6.osx-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.tvos-arm64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm", + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64", + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm": { + "kind": "Sdk", + "version": "6.0.21", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net6.browser-wasm" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm" + } + }, + "Microsoft.NETCore.App.Runtime.net6.win-x64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-x64" + } + }, + "Microsoft.NETCore.App.Runtime.net6.win-x86" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-x86" + } + }, + "Microsoft.NETCore.App.Runtime.net6.win-arm" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-arm" + } + }, + "Microsoft.NETCore.App.Runtime.net6.win-arm64" : { + "kind": "framework", + "version": "6.0.21", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-arm64" + } + } + } +} diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/data/WorkloadManifest.targets 2023-07-13 20:59:08.000000000 +0000 @@ -0,0 +1,116 @@ + + + 6.0.21 + true + + + + + true + $(WasmNativeWorkload) + + + + false + false + + + + false + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_MonoWorkloadTargetsMobile>true + <_MonoWorkloadRuntimePackPackageVersion>$(RuntimePackInWorkloadVersion) + + + + + $(_MonoWorkloadRuntimePackPackageVersion) + + + + + + + + + + + + + + + Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/Icon.png and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/Icon.png differ diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/LICENSE.TXT dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/LICENSE.TXT --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/LICENSE.TXT 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/LICENSE.TXT 2023-07-13 20:54:56.000000000 +0000 @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/microsoft.net.workload.mono.toolchain.manifest-6.0.100.nuspec 2023-07-13 20:59:08.000000000 +0000 @@ -0,0 +1,21 @@ + + + + Microsoft.NET.Workload.Mono.ToolChain.Manifest-6.0.100 + 6.0.21 + Microsoft.NET.Workload.Mono.Toolchain.Manifest + Microsoft + microsoft,dotnetframework + false + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Internal toolchain package not meant for direct consumption. Please do not reference directly. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + \ No newline at end of file diff -Nru dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/THIRD-PARTY-NOTICES.TXT dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/THIRD-PARTY-NOTICES.TXT --- dotnet6-6.0.120/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/THIRD-PARTY-NOTICES.TXT 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/packages/text-only/microsoft.net.workload.mono.toolchain.manifest-6.0.100/6.0.21/THIRD-PARTY-NOTICES.TXT 2023-07-13 20:54:56.000000000 +0000 @@ -0,0 +1,957 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + diff -Nru dotnet6-6.0.120/repos/package-source-build.proj dotnet6-6.0.121/repos/package-source-build.proj --- dotnet6-6.0.120/repos/package-source-build.proj 2023-06-23 18:43:18.000000000 +0000 +++ dotnet6-6.0.121/repos/package-source-build.proj 2023-07-18 20:41:26.000000000 +0000 @@ -47,7 +47,7 @@ Directories="$(SourceBuildReferencePackagesDestination)extractArtifacts/" /> - $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz + $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).$(TargetRid).tar.gz diff -Nru dotnet6-6.0.120/src/arcade/eng/Version.Details.xml dotnet6-6.0.121/src/arcade/eng/Version.Details.xml --- dotnet6-6.0.120/src/arcade/eng/Version.Details.xml 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/eng/Version.Details.xml 2023-07-18 20:43:46.000000000 +0000 @@ -39,9 +39,9 @@ https://github.com/dotnet/arcade-services a5f3ed9d5f560555ff6d26b286acdcfbb7ce3b14 - + https://github.com/dotnet/xharness - bc2e9e39a7b424f6e96af8d677d12ac58606753a + 233cbdd69acedc940fc3342f66b649ac0fb44333 https://github.com/dotnet/roslyn diff -Nru dotnet6-6.0.120/src/arcade/eng/Versions.props dotnet6-6.0.121/src/arcade/eng/Versions.props --- dotnet6-6.0.120/src/arcade/eng/Versions.props 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/eng/Versions.props 2023-07-18 20:43:46.000000000 +0000 @@ -83,7 +83,7 @@ 6.0.0-beta.21620.3 1.0.0-beta.21431.1 1.1.0-beta.22076.4 - 6.0.0-prerelease.23253.6 + 6.0.0-prerelease.23309.2 2.0.0-preview.1.21466.7 2.0.0-preview.1.21466.7 6.0.100-rtm.21515.10 diff -Nru dotnet6-6.0.120/src/arcade/.git/FETCH_HEAD dotnet6-6.0.121/src/arcade/.git/FETCH_HEAD --- dotnet6-6.0.120/src/arcade/.git/FETCH_HEAD 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/.git/FETCH_HEAD 2023-07-18 20:43:46.000000000 +0000 @@ -1 +1 @@ -91616785a1a6578c83f7e93d98c34a1eb83d6223 '91616785a1a6578c83f7e93d98c34a1eb83d6223' of https://github.com/dotnet/arcade +cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 'cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34' of https://github.com/dotnet/arcade Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/arcade/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/arcade/.git/index differ diff -Nru dotnet6-6.0.120/src/arcade/.git/logs/HEAD dotnet6-6.0.121/src/arcade/.git/logs/HEAD --- dotnet6-6.0.120/src/arcade/.git/logs/HEAD 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/.git/logs/HEAD 2023-07-18 20:43:46.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 91616785a1a6578c83f7e93d98c34a1eb83d6223 cloudtest_azpcontainer 1687545948 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 cloudtest_azpcontainer 1689713026 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/arcade/.git/logs/refs/heads/master dotnet6-6.0.121/src/arcade/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/arcade/.git/logs/refs/heads/master 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/.git/logs/refs/heads/master 2023-07-18 20:43:46.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 91616785a1a6578c83f7e93d98c34a1eb83d6223 cloudtest_azpcontainer 1687545948 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 cloudtest_azpcontainer 1689713026 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/arcade/.git/refs/heads/master dotnet6-6.0.121/src/arcade/.git/refs/heads/master --- dotnet6-6.0.120/src/arcade/.git/refs/heads/master 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/.git/refs/heads/master 2023-07-18 20:43:46.000000000 +0000 @@ -1 +1 @@ -91616785a1a6578c83f7e93d98c34a1eb83d6223 +cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 diff -Nru dotnet6-6.0.120/src/arcade/.git/shallow dotnet6-6.0.121/src/arcade/.git/shallow --- dotnet6-6.0.120/src/arcade/.git/shallow 2023-06-23 18:45:47.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/.git/shallow 2023-07-18 20:43:44.000000000 +0000 @@ -1 +1 @@ -91616785a1a6578c83f7e93d98c34a1eb83d6223 +cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 diff -Nru dotnet6-6.0.120/src/arcade/global.json dotnet6-6.0.121/src/arcade/global.json --- dotnet6-6.0.120/src/arcade/global.json 2023-06-23 18:45:48.000000000 +0000 +++ dotnet6-6.0.121/src/arcade/global.json 2023-07-18 20:43:46.000000000 +0000 @@ -4,7 +4,7 @@ "rollForward": "latestFeature" }, "tools": { - "dotnet": "6.0.118" + "dotnet": "6.0.120" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21620.3", diff -Nru dotnet6-6.0.120/src/aspnetcore/eng/Baseline.Designer.props dotnet6-6.0.121/src/aspnetcore/eng/Baseline.Designer.props --- dotnet6-6.0.120/src/aspnetcore/eng/Baseline.Designer.props 2023-06-23 18:44:31.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/eng/Baseline.Designer.props 2023-07-18 20:42:24.000000000 +0000 @@ -2,28 +2,28 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - - + + + @@ -34,120 +34,120 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 @@ -155,114 +155,114 @@ - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - - - + + + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - + + @@ -270,7 +270,7 @@ - 6.0.18 + 6.0.20 @@ -278,50 +278,50 @@ - 6.0.18 + 6.0.20 - + - + - + - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - - + + @@ -331,8 +331,8 @@ - - + + @@ -340,8 +340,8 @@ - - + + @@ -352,58 +352,58 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 @@ -411,71 +411,71 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 @@ -491,195 +491,195 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - - + + - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - - + + - - + + - - + + - 6.0.18 + 6.0.20 - - + + - - + + - - + + - - + + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - - - - + + + + - 6.0.18 + 6.0.20 @@ -688,69 +688,69 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 @@ -769,7 +769,7 @@ - 6.0.18 + 6.0.20 @@ -788,7 +788,7 @@ - 6.0.18 + 6.0.20 @@ -804,46 +804,46 @@ - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - - - + + + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 @@ -853,7 +853,7 @@ - 6.0.18 + 6.0.20 @@ -862,73 +862,73 @@ - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - + - + - + - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 @@ -957,11 +957,11 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 @@ -979,13 +979,13 @@ - 6.0.18 + 6.0.20 - 6.0.18 + 6.0.20 - + \ No newline at end of file diff -Nru dotnet6-6.0.120/src/aspnetcore/eng/Baseline.xml dotnet6-6.0.121/src/aspnetcore/eng/Baseline.xml --- dotnet6-6.0.120/src/aspnetcore/eng/Baseline.xml 2023-06-23 18:44:31.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/eng/Baseline.xml 2023-07-18 20:42:24.000000000 +0000 @@ -4,111 +4,111 @@ Update this list when preparing for a new patch. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru dotnet6-6.0.120/src/aspnetcore/eng/Version.Details.xml dotnet6-6.0.121/src/aspnetcore/eng/Version.Details.xml --- dotnet6-6.0.120/src/aspnetcore/eng/Version.Details.xml 2023-06-23 18:44:31.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/eng/Version.Details.xml 2023-07-18 20:42:24.000000000 +0000 @@ -9,37 +9,37 @@ --> - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 16d152f81ed675c2705aa38b8d6d4027b6525602 + fa741b8bad8eebb503bba99e078538f97aff3f5d https://github.com/dotnet/runtime @@ -177,9 +177,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://dev.azure.com/dnceng/internal/_git/dotnet-runtime @@ -245,57 +245,57 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + 0545d9fd7d80e0e8eaaff87aa0011ad5bc13fcc8 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 diff -Nru dotnet6-6.0.120/src/aspnetcore/eng/Versions.props dotnet6-6.0.121/src/aspnetcore/eng/Versions.props --- dotnet6-6.0.120/src/aspnetcore/eng/Versions.props 2023-06-23 18:44:31.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/eng/Versions.props 2023-07-18 20:42:24.000000000 +0000 @@ -8,8 +8,8 @@ 6 0 - 20 - false + 21 + true @@ -63,12 +63,12 @@ 6.0.0 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20-servicing.23320.17 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21-servicing.23363.11 6.0.0 6.0.1 6.0.0 @@ -103,7 +103,7 @@ 6.0.0 6.0.0 6.0.0 - 6.0.20-servicing.23320.17 + 6.0.21-servicing.23363.11 6.0.1 6.0.0 6.0.2 @@ -122,17 +122,17 @@ 6.0.11 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 - + - + @@ -25,10 +25,10 @@ - + - + diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/src/ServerWebSocket.cs dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/src/ServerWebSocket.cs --- dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/src/ServerWebSocket.cs 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/src/ServerWebSocket.cs 2023-07-18 20:42:24.000000000 +0000 @@ -0,0 +1,82 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Net.WebSockets; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.WebSockets +{ + /// + /// Used in ASP.NET Core to wrap a WebSocket with its associated HttpContext so that when the WebSocket is aborted + /// the underlying HttpContext is aborted. All other methods are delegated to the underlying WebSocket. + /// + internal sealed class ServerWebSocket : WebSocket + { + private readonly WebSocket _wrappedSocket; + private readonly HttpContext _context; + + internal ServerWebSocket(WebSocket wrappedSocket, HttpContext context) + { + ArgumentNullException.ThrowIfNull(wrappedSocket); + ArgumentNullException.ThrowIfNull(context); + + _wrappedSocket = wrappedSocket; + _context = context; + } + + public override WebSocketCloseStatus? CloseStatus => _wrappedSocket.CloseStatus; + + public override string? CloseStatusDescription => _wrappedSocket.CloseStatusDescription; + + public override WebSocketState State => _wrappedSocket.State; + + public override string? SubProtocol => _wrappedSocket.SubProtocol; + + public override void Abort() + { + _wrappedSocket.Abort(); + _context.Abort(); + } + + public override Task CloseAsync(WebSocketCloseStatus closeStatus, string? statusDescription, CancellationToken cancellationToken) + { + return _wrappedSocket.CloseAsync(closeStatus, statusDescription, cancellationToken); + } + + public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string? statusDescription, CancellationToken cancellationToken) + { + return _wrappedSocket.CloseOutputAsync(closeStatus, statusDescription, cancellationToken); + } + + public override void Dispose() + { + _wrappedSocket.Dispose(); + } + + public override Task ReceiveAsync(ArraySegment buffer, CancellationToken cancellationToken) + { + return _wrappedSocket.ReceiveAsync(buffer, cancellationToken); + } + + public override ValueTask ReceiveAsync(Memory buffer, CancellationToken cancellationToken) + { + return _wrappedSocket.ReceiveAsync(buffer, cancellationToken); + } + + public override ValueTask SendAsync(ReadOnlyMemory buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) + { + return _wrappedSocket.SendAsync(buffer, messageType, endOfMessage, cancellationToken); + } + + public override ValueTask SendAsync(ReadOnlyMemory buffer, WebSocketMessageType messageType, WebSocketMessageFlags messageFlags, CancellationToken cancellationToken) + { + return _wrappedSocket.SendAsync(buffer, messageType, messageFlags, cancellationToken); + } + + public override Task SendAsync(ArraySegment buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) + { + return _wrappedSocket.SendAsync(buffer, messageType, endOfMessage, cancellationToken); + } + } +} + diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/src/WebSocketMiddleware.cs dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/src/WebSocketMiddleware.cs --- dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/src/WebSocketMiddleware.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/src/WebSocketMiddleware.cs 2023-07-18 20:42:24.000000000 +0000 @@ -194,13 +194,15 @@ Stream opaqueTransport = await _upgradeFeature.UpgradeAsync(); // Sets status code to 101 - return WebSocket.CreateFromStream(opaqueTransport, new WebSocketCreationOptions() + var wrappedSocket = WebSocket.CreateFromStream(opaqueTransport, new WebSocketCreationOptions() { IsServer = true, KeepAliveInterval = keepAliveInterval, SubProtocol = subProtocol, DangerousDeflateOptions = deflateOptions }); + + return new ServerWebSocket(wrappedSocket, _context); } public static bool CheckSupportedWebSocketRequest(string method, IHeaderDictionary requestHeaders) diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/test/UnitTests/WebSocketMiddlewareTests.cs dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/test/UnitTests/WebSocketMiddlewareTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Middleware/WebSockets/test/UnitTests/WebSocketMiddlewareTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Middleware/WebSockets/test/UnitTests/WebSocketMiddlewareTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -6,6 +6,7 @@ using System.Net.Http; using System.Net.WebSockets; using System.Text; +using Microsoft.AspNetCore.Connections; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Testing; @@ -498,6 +499,146 @@ } } } + + [Fact] + public async Task WebSocket_Abort_Interrupts_Pending_ReceiveAsync() + { + WebSocket serverSocket = null; + + // Events that we want to sequence execution across client and server. + var socketWasAccepted = new ManualResetEventSlim(); + var socketWasAborted = new ManualResetEventSlim(); + var firstReceiveOccured = new ManualResetEventSlim(); + var secondReceiveInitiated = new ManualResetEventSlim(); + + Exception receiveException = null; + + await using (var server = KestrelWebSocketHelpers.CreateServer(LoggerFactory, out var port, async context => + { + Assert.True(context.WebSockets.IsWebSocketRequest); + serverSocket = await context.WebSockets.AcceptWebSocketAsync(); + socketWasAccepted.Set(); + + var serverBuffer = new byte[1024]; + + try + { + while (serverSocket.State is WebSocketState.Open or WebSocketState.CloseSent) + { + if (firstReceiveOccured.IsSet) + { + var pendingResponse = serverSocket.ReceiveAsync(serverBuffer, default); + secondReceiveInitiated.Set(); + var response = await pendingResponse; + } + else + { + var response = await serverSocket.ReceiveAsync(serverBuffer, default); + firstReceiveOccured.Set(); + } + } + } + catch (ConnectionAbortedException ex) + { + socketWasAborted.Set(); + receiveException = ex; + } + catch (Exception ex) + { + // Capture this exception so a test failure can give us more information. + receiveException = ex; + } + finally + { + Assert.IsType(receiveException); + } + })) + { + var clientBuffer = new byte[1024]; + + using (var client = new ClientWebSocket()) + { + await client.ConnectAsync(new Uri($"ws://127.0.0.1:{port}/"), CancellationToken.None); + + var socketWasAcceptedDidNotTimeout = socketWasAccepted.Wait(10000); + Assert.True(socketWasAcceptedDidNotTimeout, "Socket was not accepted within the allotted time."); + + await client.SendAsync(clientBuffer, WebSocketMessageType.Binary, false, default); + + var firstReceiveOccuredDidNotTimeout = firstReceiveOccured.Wait(10000); + Assert.True(firstReceiveOccuredDidNotTimeout, "First receive did not occur within the allotted time."); + + var secondReceiveInitiatedDidNotTimeout = secondReceiveInitiated.Wait(10000); + Assert.True(secondReceiveInitiatedDidNotTimeout, "Second receive was not initiated within the allotted time."); + + serverSocket.Abort(); + + var socketWasAbortedDidNotTimeout = socketWasAborted.Wait(1000); // Give it a second to process the abort. + Assert.True(socketWasAbortedDidNotTimeout, "Abort did not occur within the allotted time."); + } + } + } + + [Fact] + public async Task WebSocket_AllowsCancelling_Pending_ReceiveAsync_When_CancellationTokenProvided() + { + WebSocket serverSocket = null; + CancellationTokenSource cts = new CancellationTokenSource(); + + var socketWasAccepted = new ManualResetEventSlim(); + var operationWasCancelled = new ManualResetEventSlim(); + var firstReceiveOccured = new ManualResetEventSlim(); + + await using (var server = KestrelWebSocketHelpers.CreateServer(LoggerFactory, out var port, async context => + { + Assert.True(context.WebSockets.IsWebSocketRequest); + serverSocket = await context.WebSockets.AcceptWebSocketAsync(); + socketWasAccepted.Set(); + + var serverBuffer = new byte[1024]; + + var finishedWithOperationCancelled = false; + + try + { + while (serverSocket.State is WebSocketState.Open or WebSocketState.CloseSent) + { + var response = await serverSocket.ReceiveAsync(serverBuffer, cts.Token); + firstReceiveOccured.Set(); + } + } + catch (OperationCanceledException) + { + operationWasCancelled.Set(); + finishedWithOperationCancelled = true; + } + finally + { + Assert.True(finishedWithOperationCancelled); + } + })) + { + var clientBuffer = new byte[1024]; + + using (var client = new ClientWebSocket()) + { + await client.ConnectAsync(new Uri($"ws://127.0.0.1:{port}/"), CancellationToken.None); + + var socketWasAcceptedDidNotTimeout = socketWasAccepted.Wait(10000); + Assert.True(socketWasAcceptedDidNotTimeout, "Socket was not accepted within the allotted time."); + + await client.SendAsync(clientBuffer, WebSocketMessageType.Binary, false, default); + + var firstReceiveOccuredDidNotTimeout = firstReceiveOccured.Wait(10000); + Assert.True(firstReceiveOccuredDidNotTimeout, "First receive did not occur within the allotted time."); + + cts.Cancel(); + + var operationWasCancelledDidNotTimeout = operationWasCancelled.Wait(1000); // Give it a second to process the abort. + Assert.True(operationWasCancelledDidNotTimeout, "Cancel did not occur within the allotted time."); + } + } + } [Theory] [InlineData(HttpStatusCode.OK, null)] diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/IIS/IIS/test/Common.FunctionalTests/ShutdownTests.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/IIS/IIS/test/Common.FunctionalTests/ShutdownTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/IIS/IIS/test/Common.FunctionalTests/ShutdownTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/IIS/IIS/test/Common.FunctionalTests/ShutdownTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -486,8 +486,15 @@ var response = await deploymentResult.HttpClient.GetAsync("/Abort").TimeoutAfter(TimeoutExtensions.DefaultTimeoutValue); Assert.Equal(HttpStatusCode.BadGateway, response.StatusCode); + +#if NEWSHIM_FUNCTIONALS + // In-proc SocketConnection isn't used and there's no abort // 0x80072f78 ERROR_HTTP_INVALID_SERVER_RESPONSE The server returned an invalid or unrecognized response Assert.Contains("0x80072f78", await response.Content.ReadAsStringAsync()); +#else + // 0x80072efe ERROR_INTERNET_CONNECTION_ABORTED The connection with the server was terminated abnormally + Assert.Contains("0x80072efe", await response.Content.ReadAsStringAsync()); +#endif } catch (HttpRequestException) { diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs 2023-07-18 20:42:24.000000000 +0000 @@ -93,7 +93,14 @@ _http1Output.Dispose(); } - public void OnInputOrOutputCompleted() + void IRequestProcessor.OnInputOrOutputCompleted() + { + // Closed gracefully. + _http1Output.Abort(ServerOptions.FinOnError ? new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient) : null!); + CancelRequestAbortedToken(); + } + + void IHttpOutputAborter.OnInputOrOutputCompleted() { _http1Output.Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient)); CancelRequestAbortedToken(); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs 2023-07-18 20:42:24.000000000 +0000 @@ -207,7 +207,7 @@ // so we call OnInputOrOutputCompleted() now to prevent a race in our tests where a 400 // response is written after observing the unexpected end of request content instead of just // closing the connection without a response as expected. - _context.OnInputOrOutputCompleted(); + ((IHttpOutputAborter)_context).OnInputOrOutputCompleted(); KestrelBadHttpRequestException.Throw(RequestRejectionReason.UnexpectedEndOfRequestContent); } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs 2023-07-18 20:42:24.000000000 +0000 @@ -150,7 +150,8 @@ public void OnInputOrOutputCompleted() { TryClose(); - _frameWriter.Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient)); + var useException = _context.ServiceContext.ServerOptions.FinOnError || _clientActiveStreamCount != 0; + _frameWriter.Abort(useException ? new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient) : null!); } public void Abort(ConnectionAbortedException ex) diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs 2023-07-18 20:42:24.000000000 +0000 @@ -29,9 +29,20 @@ /// public class KestrelServerOptions { + private const string FinOnErrorSwitch = "Microsoft.AspNetCore.Server.Kestrel.FinOnError"; + private static readonly bool _finOnError; + + static KestrelServerOptions() + { + AppContext.TryGetSwitch(FinOnErrorSwitch, out _finOnError); + } + // internal to fast-path header decoding when RequestHeaderEncodingSelector is unchanged. internal static readonly Func DefaultHeaderEncodingSelector = _ => null; + // Opt-out flag for back compat. Remove in 9.0 (or make public). + internal bool FinOnError { get; set; } = _finOnError; + private Func _requestHeaderEncodingSelector = DefaultHeaderEncodingSelector; private Func _responseHeaderEncodingSelector = DefaultHeaderEncodingSelector; diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/shared/test/StreamBackedTestConnection.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/shared/test/StreamBackedTestConnection.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/shared/test/StreamBackedTestConnection.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/shared/test/StreamBackedTestConnection.cs 2023-07-18 20:42:24.000000000 +0000 @@ -138,7 +138,7 @@ public async Task WaitForConnectionClose() { var buffer = new byte[128]; - var bytesTransferred = await _stream.ReadAsync(buffer, 0, 128).TimeoutAfter(Timeout); + var bytesTransferred = await _stream.ReadAsync(buffer, 0, 128).ContinueWith(t => t.IsFaulted ? 0 : t.Result).TimeoutAfter(Timeout); if (bytesTransferred > 0) { diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/shared/test/TransportTestHelpers/TestServer.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/shared/test/TransportTestHelpers/TestServer.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/shared/test/TransportTestHelpers/TestServer.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/shared/test/TransportTestHelpers/TestServer.cs 2023-07-18 20:42:24.000000000 +0000 @@ -48,7 +48,7 @@ { } - public TestServer(RequestDelegate app, TestServiceContext context, Action configureListenOptions) + public TestServer(RequestDelegate app, TestServiceContext context, Action configureListenOptions, Action configureServices = null) : this(app, context, options => { var listenOptions = new ListenOptions(new IPEndPoint(IPAddress.Loopback, 0)) @@ -57,7 +57,10 @@ }; configureListenOptions(listenOptions); options.CodeBackedListenOptions.Add(listenOptions); - }, _ => { }) + }, s => + { + configureServices?.Invoke(s); + }) { } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/Http2/ShutdownTests.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/Http2/ShutdownTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/Http2/ShutdownTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/Http2/ShutdownTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -46,6 +46,59 @@ }; } + [ConditionalFact] + public async Task ConnectionClosedWithoutActiveRequestsOrGoAwayFIN() + { + var connectionClosed = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var readFin = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var writeFin = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + TestSink.MessageLogged += context => + { + if (context.EventId.Name == "Http2ConnectionClosed") + { + connectionClosed.SetResult(); + } + else if (context.EventId.Name == "ConnectionReadFin") + { + readFin.SetResult(); + } + else if (context.EventId.Name == "ConnectionWriteFin") + { + writeFin.SetResult(); + } + }; + + var testContext = new TestServiceContext(LoggerFactory); + + testContext.InitializeHeartbeat(); + + await using (var server = new TestServer(context => + { + return context.Response.WriteAsync("hello world " + context.Request.Protocol); + }, + testContext, + kestrelOptions => + { + kestrelOptions.Listen(IPAddress.Loopback, 0, listenOptions => + { + listenOptions.Protocols = HttpProtocols.Http2; + listenOptions.UseHttps(_x509Certificate2); + }); + })) + { + var response = await Client.GetStringAsync($"https://localhost:{server.Port}/"); + Assert.Equal("hello world HTTP/2", response); + Client.Dispose(); // Close the socket, no GoAway is sent. + + await readFin.Task.DefaultTimeout(); + await writeFin.Task.DefaultTimeout(); + await connectionClosed.Task.DefaultTimeout(); + + await server.StopAsync(); + } + } + [CollectDump] [ConditionalFact] public async Task GracefulShutdownWaitsForRequestsToFinish() diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -21,7 +21,13 @@ using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.FunctionalTests; +#if LIBUV +using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv; +#elif SOCKETS +using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets; +#endif using Microsoft.AspNetCore.Testing; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Moq; @@ -40,6 +46,7 @@ public class RequestTests : LoggedTest { private const int _connectionStartedEventId = 1; + private const int _connectionReadFinEventId = 6; private const int _connectionResetEventId = 19; private static readonly int _semaphoreWaitTimeout = Debugger.IsAttached ? 10000 : 2500; @@ -235,6 +242,59 @@ } [Fact] + public async Task ConnectionClosedPriorToRequestIsLoggedAsDebug() + { + var connectionStarted = new SemaphoreSlim(0); + var connectionReadFin = new SemaphoreSlim(0); + var loggedHigherThanDebug = false; + + TestSink.MessageLogged += context => + { + if (context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel" && + context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel.Connections" && + context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" && + context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets") + { + return; + } + + if (context.EventId.Id == _connectionStartedEventId) + { + connectionStarted.Release(); + } + else if (context.EventId.Id == _connectionReadFinEventId) + { + connectionReadFin.Release(); + } + + if (context.LogLevel > LogLevel.Debug) + { + loggedHigherThanDebug = true; + } + }; + + await using (var server = new TestServer(context => Task.CompletedTask, new TestServiceContext(LoggerFactory))) + { + using (var connection = server.CreateConnection()) + { + // Wait until connection is established + Assert.True(await connectionStarted.WaitAsync(TestConstants.DefaultTimeout)); + + connection.ShutdownSend(); + + // If the reset is correctly logged as Debug, the wait below should complete shortly. + // This check MUST come before disposing the server, otherwise there's a race where the RST + // is still in flight when the connection is aborted, leading to the reset never being received + // and therefore not logged. + Assert.True(await connectionReadFin.WaitAsync(TestConstants.DefaultTimeout)); + await connection.ReceiveEnd(); + } + } + + Assert.False(loggedHigherThanDebug); + } + + [Fact] public async Task ConnectionResetPriorToRequestIsLoggedAsDebug() { var connectionStarted = new SemaphoreSlim(0); @@ -287,6 +347,66 @@ } [Fact] + public async Task ConnectionClosedBetweenRequestsIsLoggedAsDebug() + { + var connectionReadFin = new SemaphoreSlim(0); + var loggedHigherThanDebug = false; + + TestSink.MessageLogged += context => + { + if (context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel" && + context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" && + context.LoggerName != "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets") + { + return; + } + + if (context.LogLevel > LogLevel.Debug) + { + loggedHigherThanDebug = true; + } + + if (context.EventId.Id == _connectionReadFinEventId) + { + connectionReadFin.Release(); + } + }; + + await using (var server = new TestServer(context => Task.CompletedTask, new TestServiceContext(LoggerFactory))) + { + using (var connection = server.CreateConnection()) + { + await connection.Send( + "GET / HTTP/1.1", + "Host:", + "", + ""); + + // Make sure the response is fully received, so a write failure (e.g. EPIPE) doesn't cause + // a more critical log message. + await connection.Receive( + "HTTP/1.1 200 OK", + "Content-Length: 0", + $"Date: {server.Context.DateHeaderValue}", + "", + ""); + + connection.ShutdownSend(); + + // If the reset is correctly logged as Debug, the wait below should complete shortly. + // This check MUST come before disposing the server, otherwise there's a race where the RST + // is still in flight when the connection is aborted, leading to the reset never being received + // and therefore not logged. + Assert.True(await connectionReadFin.WaitAsync(TestConstants.DefaultTimeout)); + + await connection.ReceiveEnd(); + } + } + + Assert.False(loggedHigherThanDebug); + } + + [Fact] public async Task ConnectionResetBetweenRequestsIsLoggedAsDebug() { var connectionReset = new SemaphoreSlim(0); @@ -345,10 +465,13 @@ Assert.False(loggedHigherThanDebug); } - [Fact] - public async Task ConnectionResetMidRequestIsLoggedAsDebug() + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task ConnectionClosedOrResetMidRequestIsLoggedAsDebug(bool close) { var requestStarted = new SemaphoreSlim(0); + var connectionReadFin = new SemaphoreSlim(0); var connectionReset = new SemaphoreSlim(0); var connectionClosing = new SemaphoreSlim(0); var loggedHigherThanDebug = false; @@ -367,6 +490,11 @@ loggedHigherThanDebug = true; } + if (context.EventId.Id == _connectionReadFinEventId) + { + connectionReadFin.Release(); + } + if (context.EventId.Id == _connectionResetEventId) { connectionReset.Release(); @@ -387,15 +515,23 @@ // Wait until connection is established Assert.True(await requestStarted.WaitAsync(TestConstants.DefaultTimeout), "request should have started"); - connection.Reset(); - } + if (close) + { + connection.ShutdownSend(); + Assert.True(await connectionReadFin.WaitAsync(TestConstants.DefaultTimeout), "Connection close event should have been logged"); + } + else + { + connection.Reset(); - // If the reset is correctly logged as Debug, the wait below should complete shortly. - // This check MUST come before disposing the server, otherwise there's a race where the RST - // is still in flight when the connection is aborted, leading to the reset never being received - // and therefore not logged. - Assert.True(await connectionReset.WaitAsync(TestConstants.DefaultTimeout), "Connection reset event should have been logged"); - connectionClosing.Release(); + // If the reset is correctly logged as Debug, the wait below should complete shortly. + // This check MUST come before disposing the server, otherwise there's a race where the RST + // is still in flight when the connection is aborted, leading to the reset never being received + // and therefore not logged. + Assert.True(await connectionReset.WaitAsync(TestConstants.DefaultTimeout), "Connection reset event should have been logged"); + } + connectionClosing.Release(); + } } Assert.False(loggedHigherThanDebug, "Logged event should not have been higher than debug."); @@ -494,18 +630,43 @@ } } - [Fact] - public async Task AbortingTheConnectionSendsFIN() + [Theory] +#if LIBUV + [InlineData(true, 1)] + [InlineData(false, 1)] + [InlineData(true, 2)] + [InlineData(false, 2)] + public async Task AbortingTheConnection(bool fin, int threadCount) +#else + [InlineData(true)] + [InlineData(false)] + public async Task AbortingTheConnection(bool fin) +#endif { + var connectionAborted = new SemaphoreSlim(0); + var builder = TransportSelector.GetHostBuilder() +#if LIBUV + .ConfigureServices(services => + { +#pragma warning disable CS0618 // Type or member is obsolete + services.Configure(options => + { + options.ThreadCount = threadCount; + }); +#pragma warning restore CS0618 // Type or member is obsolete + }) +#endif .ConfigureWebHost(webHostBuilder => { webHostBuilder + .ConfigureServices(s => SetFinOnError(s, fin)) .UseKestrel() .UseUrls("http://127.0.0.1:0") .Configure(app => app.Run(context => { context.Abort(); + connectionAborted.Release(); return Task.CompletedTask; })); }) @@ -519,8 +680,18 @@ { socket.Connect(new IPEndPoint(IPAddress.Loopback, host.GetPort())); socket.Send(Encoding.ASCII.GetBytes("GET / HTTP/1.1\r\nHost:\r\n\r\n")); - int result = socket.Receive(new byte[32]); - Assert.Equal(0, result); + + Assert.True(await connectionAborted.WaitAsync(_semaphoreWaitTimeout)); + + if (fin) + { + int result = socket.Receive(new byte[32]); + Assert.Equal(0, result); + } + else + { + Assert.Throws(() => socket.Receive(new byte[32])); + } } await host.StopAsync(); @@ -731,16 +902,21 @@ } [Theory] - [MemberData(nameof(ConnectionMiddlewareDataName))] - public async Task ServerCanAbortConnectionAfterUnobservedClose(string listenOptionsName) + [InlineData("Loopback", true)] + [InlineData("PassThrough", true)] + [InlineData("Loopback", false)] + [InlineData("PassThrough", false)] + public async Task ServerCanAbortConnectionAfterUnobservedClose(string listenOptionsName, bool fin) { const int connectionPausedEventId = 4; const int connectionFinSentEventId = 7; + const int connectionRstSentEventId = 8; const int maxRequestBufferSize = 4096; var readCallbackUnwired = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var clientClosedConnection = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - var serverClosedConnection = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var serverFinConnection = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var serverRstConnection = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var appFuncCompleted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); TestSink.MessageLogged += context => @@ -757,7 +933,11 @@ } else if (context.EventId == connectionFinSentEventId) { - serverClosedConnection.SetResult(); + serverFinConnection.SetResult(); + } + else if (context.EventId == connectionRstSentEventId) + { + serverRstConnection.SetResult(); } }; @@ -766,6 +946,7 @@ { ServerOptions = { + FinOnError = fin, Limits = { MaxRequestBufferSize = maxRequestBufferSize, @@ -783,10 +964,24 @@ context.Abort(); - await serverClosedConnection.Task; + if (fin) + { + await serverFinConnection.Task.DefaultTimeout(); + } + else + { + await serverRstConnection.Task.DefaultTimeout(); + } appFuncCompleted.SetResult(); - }, testContext, ConnectionMiddlewareData[listenOptionsName]())) + }, testContext, listen => + { + if (listenOptionsName == "PassThrough") + { + listen.UsePassThrough(); + } + }, + services => SetFinOnError(services, fin))) { using (var connection = server.CreateConnection()) { @@ -956,21 +1151,21 @@ private static async Task AssertStreamContains(Stream stream, string expectedSubstring) { var expectedBytes = Encoding.ASCII.GetBytes(expectedSubstring); - var exptectedLength = expectedBytes.Length; - var responseBuffer = new byte[exptectedLength]; + var expectedLength = expectedBytes.Length; + var responseBuffer = new byte[expectedLength]; var matchedChars = 0; - while (matchedChars < exptectedLength) + while (matchedChars < expectedLength) { - var count = await stream.ReadAsync(responseBuffer, 0, exptectedLength - matchedChars).DefaultTimeout(); + var count = await stream.ReadAsync(responseBuffer, 0, expectedLength - matchedChars).DefaultTimeout(); if (count == 0) { Assert.True(false, "Stream completed without expected substring."); } - for (var i = 0; i < count && matchedChars < exptectedLength; i++) + for (var i = 0; i < count && matchedChars < expectedLength; i++) { if (responseBuffer[i] == expectedBytes[matchedChars]) { @@ -983,5 +1178,26 @@ } } } + + private static void SetFinOnError(IServiceCollection services, bool finOnError) + { +#if LIBUV +#pragma warning disable CS0618 // Type or member is obsolete + services.Configure(options => + { + options.FinOnError = finOnError; + }); +#pragma warning restore CS0618 // Type or member is obsolete +#elif SOCKETS + services.Configure(o => + { + o.FinOnError = finOnError; + }); +#endif + services.Configure(o => + { + o.FinOnError = finOnError; + }); + } } } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -23,7 +23,13 @@ using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.AspNetCore.Server.Kestrel.Https.Internal; using Microsoft.AspNetCore.Server.Kestrel.Tests; +#if LIBUV +using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv; +#elif SOCKETS +using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets; +#endif using Microsoft.AspNetCore.Testing; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; @@ -462,8 +468,10 @@ Assert.Empty(coreLogs.Where(w => w.LogLevel > LogLevel.Information)); } - [Fact] - public async Task ConnectionClosedWhenResponseDoesNotSatisfyMinimumDataRate() + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task ConnectionClosedWhenResponseDoesNotSatisfyMinimumDataRate(bool fin) { var logger = LoggerFactory.CreateLogger($"{ typeof(ResponseTests).FullName}.{ nameof(ConnectionClosedWhenResponseDoesNotSatisfyMinimumDataRate)}"); const int chunkSize = 1024; @@ -473,21 +481,35 @@ var responseRateTimeoutMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var connectionStopMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteFinMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteRstMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var requestAborted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var appFuncCompleted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - var mockKestrelTrace = new Mock(); - mockKestrelTrace - .Setup(trace => trace.ResponseMinimumDataRateNotSatisfied(It.IsAny(), It.IsAny())) - .Callback(() => responseRateTimeoutMessageLogged.SetResult()); - mockKestrelTrace - .Setup(trace => trace.ConnectionStop(It.IsAny())) - .Callback(() => connectionStopMessageLogged.SetResult()); + TestSink.MessageLogged += context => + { + switch (context.EventId.Name) + { + case "ResponseMinimumDataRateNotSatisfied": + responseRateTimeoutMessageLogged.SetResult(); + break; + case "ConnectionStop": + connectionStopMessageLogged.SetResult(); + break; + case "ConnectionWriteFin": + connectionWriteFinMessageLogged.SetResult(); + break; + case "ConnectionWriteRst": + connectionWriteRstMessageLogged.SetResult(); + break; + } + }; - var testContext = new TestServiceContext(LoggerFactory, mockKestrelTrace.Object) + var testContext = new TestServiceContext(LoggerFactory) { ServerOptions = { + FinOnError = fin, Limits = { MinResponseDataRate = new MinDataRate(bytesPerSecond: 1024 * 1024, gracePeriod: TimeSpan.FromSeconds(2)) @@ -533,7 +555,7 @@ } } - await using (var server = new TestServer(App, testContext)) + await using (var server = new TestServer(App, testContext, configureListenOptions: _ => { }, services => SetFinOnError(services, fin))) { using (var connection = server.CreateConnection()) { @@ -553,8 +575,16 @@ await requestAborted.Task.DefaultTimeout(TimeSpan.FromSeconds(30)); await responseRateTimeoutMessageLogged.Task.DefaultTimeout(); await connectionStopMessageLogged.Task.DefaultTimeout(); + if (fin) + { + await connectionWriteFinMessageLogged.Task.DefaultTimeout(); + } + else + { + await connectionWriteRstMessageLogged.Task.DefaultTimeout(); + } await appFuncCompleted.Task.DefaultTimeout(); - await AssertStreamAborted(connection.Stream, chunkSize * chunks); + await AssertStreamAborted(connection.Stream, chunkSize * chunks, fin); sw.Stop(); logger.LogInformation("Connection was aborted after {totalMilliseconds}ms.", sw.ElapsedMilliseconds); @@ -562,8 +592,10 @@ } } - [Fact] - public async Task HttpsConnectionClosedWhenResponseDoesNotSatisfyMinimumDataRate() + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task HttpsConnectionClosedWhenResponseDoesNotSatisfyMinimumDataRate(bool fin) { const int chunkSize = 1024; const int chunks = 256 * 1024; @@ -573,21 +605,35 @@ var responseRateTimeoutMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var connectionStopMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteFinMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteRstMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var aborted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var appFuncCompleted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - var mockKestrelTrace = new Mock(); - mockKestrelTrace - .Setup(trace => trace.ResponseMinimumDataRateNotSatisfied(It.IsAny(), It.IsAny())) - .Callback(() => responseRateTimeoutMessageLogged.SetResult()); - mockKestrelTrace - .Setup(trace => trace.ConnectionStop(It.IsAny())) - .Callback(() => connectionStopMessageLogged.SetResult()); + TestSink.MessageLogged += context => + { + switch (context.EventId.Name) + { + case "ResponseMinimumDataRateNotSatisfied": + responseRateTimeoutMessageLogged.SetResult(); + break; + case "ConnectionStop": + connectionStopMessageLogged.SetResult(); + break; + case "ConnectionWriteFin": + connectionWriteFinMessageLogged.SetResult(); + break; + case "ConnectionWriteRst": + connectionWriteRstMessageLogged.SetResult(); + break; + } + }; - var testContext = new TestServiceContext(LoggerFactory, mockKestrelTrace.Object) + var testContext = new TestServiceContext(LoggerFactory) { ServerOptions = { + FinOnError = fin, Limits = { MinResponseDataRate = new MinDataRate(bytesPerSecond: 1024 * 1024, gracePeriod: TimeSpan.FromSeconds(2)) @@ -627,7 +673,8 @@ { await aborted.Task.DefaultTimeout(); } - }, testContext, ConfigureListenOptions)) + }, testContext, ConfigureListenOptions, + services => SetFinOnError(services, fin))) { using (var connection = server.CreateConnection()) { @@ -642,16 +689,26 @@ await aborted.Task.DefaultTimeout(TimeSpan.FromSeconds(30)); await responseRateTimeoutMessageLogged.Task.DefaultTimeout(); await connectionStopMessageLogged.Task.DefaultTimeout(); + if (fin) + { + await connectionWriteFinMessageLogged.Task.DefaultTimeout(); + } + else + { + await connectionWriteRstMessageLogged.Task.DefaultTimeout(); + } await appFuncCompleted.Task.DefaultTimeout(); - await AssertStreamAborted(connection.Stream, chunkSize * chunks); + await AssertStreamAborted(connection.Stream, chunkSize * chunks, fin); } } } } - [Fact] - public async Task ConnectionClosedWhenBothRequestAndResponseExperienceBackPressure() + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task ConnectionClosedWhenBothRequestAndResponseExperienceBackPressure(bool fin) { const int bufferSize = 65536; const int bufferCount = 100; @@ -660,21 +717,35 @@ var responseRateTimeoutMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var connectionStopMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteFinMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var connectionWriteRstMessageLogged = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var requestAborted = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); var copyToAsyncCts = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - var mockKestrelTrace = new Mock(); - mockKestrelTrace - .Setup(trace => trace.ResponseMinimumDataRateNotSatisfied(It.IsAny(), It.IsAny())) - .Callback(() => responseRateTimeoutMessageLogged.SetResult()); - mockKestrelTrace - .Setup(trace => trace.ConnectionStop(It.IsAny())) - .Callback(() => connectionStopMessageLogged.SetResult()); + TestSink.MessageLogged += context => + { + switch (context.EventId.Name) + { + case "ResponseMinimumDataRateNotSatisfied": + responseRateTimeoutMessageLogged.SetResult(); + break; + case "ConnectionStop": + connectionStopMessageLogged.SetResult(); + break; + case "ConnectionWriteFin": + connectionWriteFinMessageLogged.SetResult(); + break; + case "ConnectionWriteRst": + connectionWriteRstMessageLogged.SetResult(); + break; + } + }; - var testContext = new TestServiceContext(LoggerFactory, mockKestrelTrace.Object) + var testContext = new TestServiceContext(LoggerFactory) { ServerOptions = { + FinOnError = fin, Limits = { MinResponseDataRate = new MinDataRate(bytesPerSecond: 1024 * 1024, gracePeriod: TimeSpan.FromSeconds(2)), @@ -685,8 +756,6 @@ testContext.InitializeHeartbeat(); - var listenOptions = new ListenOptions(new IPEndPoint(IPAddress.Loopback, 0)); - async Task App(HttpContext context) { context.RequestAborted.Register(() => @@ -711,7 +780,7 @@ copyToAsyncCts.SetException(new Exception("This shouldn't be reached.")); } - await using (var server = new TestServer(App, testContext, listenOptions)) + await using (var server = new TestServer(App, testContext, configureListenOptions: _ => { }, services => SetFinOnError(services, fin))) { using (var connection = server.CreateConnection()) { @@ -736,10 +805,18 @@ await requestAborted.Task.DefaultTimeout(TimeSpan.FromSeconds(30)); await responseRateTimeoutMessageLogged.Task.DefaultTimeout(); await connectionStopMessageLogged.Task.DefaultTimeout(); + if (fin) + { + await connectionWriteFinMessageLogged.Task.DefaultTimeout(); + } + else + { + await connectionWriteRstMessageLogged.Task.DefaultTimeout(); + } // Expect OperationCanceledException instead of IOException because the server initiated the abort due to a response rate timeout. await Assert.ThrowsAnyAsync(() => copyToAsyncCts.Task).DefaultTimeout(); - await AssertStreamAborted(connection.Stream, responseSize); + await AssertStreamAborted(connection.Stream, responseSize, graceful: false); } } } @@ -985,7 +1062,7 @@ Assert.False(requestAborted); } - private async Task AssertStreamAborted(Stream stream, int totalBytes) + private async Task AssertStreamAborted(Stream stream, int totalBytes, bool graceful) { var receiveBuffer = new byte[64 * 1024]; var totalReceived = 0; @@ -998,6 +1075,8 @@ if (bytes == 0) { + Assert.True(graceful, "Stream completed gracefully."); + break; } @@ -1006,7 +1085,7 @@ } catch (IOException) { - // This is expected given an abort. + Assert.False(graceful, "Stream completed abortively."); } Assert.True(totalReceived < totalBytes, $"{nameof(AssertStreamAborted)} Stream completed successfully."); @@ -1080,5 +1159,26 @@ return dataset; } } + + private static void SetFinOnError(IServiceCollection services, bool finOnError) + { +#if LIBUV +#pragma warning disable CS0618 // Type or member is obsolete + services.Configure(options => + { + options.FinOnError = finOnError; + }); +#pragma warning restore CS0618 // Type or member is obsolete +#elif SOCKETS + services.Configure(o => + { + o.FinOnError = finOnError; + }); +#endif + services.Configure(o => + { + o.FinOnError = finOnError; + }); + } } } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs 2023-07-18 20:42:24.000000000 +0000 @@ -14,6 +14,8 @@ void ConnectionWriteFin(string connectionId, string reason); + void ConnectionWriteRst(string connectionId, string reason); + void ConnectionWrite(string connectionId, int count); void ConnectionWriteCallback(string connectionId, int status); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs 2023-07-18 20:42:24.000000000 +0000 @@ -6,6 +6,8 @@ using System.IO; using System.IO.Pipelines; using System.Net; +using System.Net.Sockets; +using System.Reflection.Metadata; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Connections; @@ -28,6 +30,8 @@ private readonly IDuplexPipe _originalTransport; private readonly CancellationTokenSource _connectionClosedTokenSource = new CancellationTokenSource(); + private readonly bool _finOnError; + private volatile ConnectionAbortedException _abortReason; private MemoryHandle _bufferHandle; @@ -43,9 +47,11 @@ PipeOptions inputOptions = null, PipeOptions outputOptions = null, long? maxReadBufferSize = null, - long? maxWriteBufferSize = null) + long? maxWriteBufferSize = null, + bool finOnError = false) { _socket = socket; + _finOnError = finOnError; LocalEndPoint = localEndPoint; RemoteEndPoint = remoteEndPoint; @@ -124,6 +130,13 @@ { inputError ??= _abortReason ?? new ConnectionAbortedException("The libuv transport's send loop completed gracefully."); + if (!_finOnError && _abortReason is not null) + { + // When shutdown isn't clean (note that we're using _abortReason, rather than inputError, to exclude that case), + // we set the DontLinger socket option to cause libuv to send a RST and release any buffered response data. + SetDontLingerOption(_socket); + } + // Now, complete the input so that no more reads can happen Input.Complete(inputError); Output.Complete(outputError); @@ -132,8 +145,16 @@ // on the stream handle Input.CancelPendingFlush(); - // Send a FIN - Log.ConnectionWriteFin(ConnectionId, inputError.Message); + if (!_finOnError && _abortReason is not null) + { + // Send a RST + Log.ConnectionWriteRst(ConnectionId, inputError.Message); + } + else + { + // Send a FIN + Log.ConnectionWriteFin(ConnectionId, inputError.Message); + } // We're done with the socket now _socket.Dispose(); @@ -150,6 +171,27 @@ } } + /// + /// This should be called on before it is disposed. + /// Both and call dispose but, rather than predict + /// which will do so first (which varies), we make this method idempotent and call it in both. + /// + private static void SetDontLingerOption(UvStreamHandle socket) + { + if (!socket.IsClosed && !socket.IsInvalid) + { + var libuv = socket.Libuv; + var pSocket = IntPtr.Zero; + libuv.uv_fileno(socket, ref pSocket); + + // libuv doesn't expose setsockopt, so we take advantage of the fact that + // Socket already has a PAL + using var managedHandle = new SafeSocketHandle(pSocket, ownsHandle: false); + using var managedSocket = new Socket(managedHandle); + managedSocket.LingerState = new LingerOption(enable: true, seconds: 0); + } + } + public override void Abort(ConnectionAbortedException abortReason) { _abortReason = abortReason; @@ -157,8 +199,16 @@ // Cancel WriteOutputAsync loop after setting _abortReason. Output.CancelPendingRead(); - // This cancels any pending I/O. - Thread.Post(s => s.Dispose(), _socket); + Thread.Post(static (self) => + { + if (!self._finOnError) + { + SetDontLingerOption(self._socket); + } + + // This cancels any pending I/O. + self._socket.Dispose(); + }, this); } public override async ValueTask DisposeAsync() diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnectionListener.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnectionListener.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnectionListener.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnectionListener.cs 2023-07-18 20:42:24.000000000 +0000 @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Net; using System.Threading; @@ -134,9 +135,24 @@ { // TODO: Move thread management to LibuvTransportFactory // TODO: Split endpoint management from thread management + + // When `FinOnError` is false (the default), we need to be able to forcibly abort connections. + // On Windows, libuv 1.10.0 will call `shutdown`, preventing forcible abort, on any socket + // not flagged as `UV_HANDLE_SHARED_TCP_SOCKET`. The only way we've found to cause socket + // to be flagged as `UV_HANDLE_SHARED_TCP_SOCKET` is to share it across a named pipe (which + // must, itself, be flagged `ipc`), which naturally happens when a `ListenerPrimary` dispatches + // a connection to a `ListenerSecondary`. Therefore, in scenarios where this is required, we + // tell the `ListenerPrimary` to dispatch *all* connections to secondary and create an + // additional `ListenerSecondary` to replace the lost capacity. + var dispatchAllToSecondary = Libuv.IsWindows && !TransportContext.Options.FinOnError; + #pragma warning disable CS0618 - for (var index = 0; index < TransportOptions.ThreadCount; index++) + var threadCount = dispatchAllToSecondary + ? TransportOptions.ThreadCount + 1 + : TransportOptions.ThreadCount; #pragma warning restore CS0618 + + for (var index = 0; index < threadCount; index++) { Threads.Add(new LibuvThread(Libuv, TransportContext)); } @@ -148,10 +164,10 @@ try { -#pragma warning disable CS0618 - if (TransportOptions.ThreadCount == 1) -#pragma warning restore CS0618 + if (threadCount == 1) { + Debug.Assert(!dispatchAllToSecondary, "Should have taken the primary/secondary code path"); + var listener = new Listener(TransportContext); _listeners.Add(listener); await listener.StartAsync(EndPoint, Threads[0]).ConfigureAwait(false); @@ -162,7 +178,7 @@ var pipeName = (Libuv.IsWindows ? @"\\.\pipe\kestrel_" : "/tmp/kestrel_") + Guid.NewGuid().ToString("n"); var pipeMessage = Guid.NewGuid().ToByteArray(); - var listenerPrimary = new ListenerPrimary(TransportContext); + var listenerPrimary = new ListenerPrimary(TransportContext, dispatchAllToSecondary); _listeners.Add(listenerPrimary); await listenerPrimary.StartAsync(pipeName, pipeMessage, EndPoint, Threads[0]).ConfigureAwait(false); EndPoint = listenerPrimary.EndPoint; diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs 2023-07-18 20:42:24.000000000 +0000 @@ -27,6 +27,9 @@ [LoggerMessage(7, LogLevel.Debug, @"Connection id ""{ConnectionId}"" sending FIN because: ""{Reason}""", EventName = nameof(ConnectionWriteFin))] public partial void ConnectionWriteFin(string connectionId, string reason); + [LoggerMessage(8, LogLevel.Debug, @"Connection id ""{ConnectionId}"" sending RST because: ""{Reason}""", EventName = nameof(ConnectionWriteRst))] + public partial void ConnectionWriteRst(string connectionId, string reason); + public void ConnectionWrite(string connectionId, int count) { // Don't log for now since this could be *too* verbose. diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs 2023-07-18 20:42:24.000000000 +0000 @@ -110,7 +110,7 @@ var options = TransportContext.Options; #pragma warning disable CS0618 - var connection = new LibuvConnection(socket, TransportContext.Log, Thread, remoteEndPoint, localEndPoint, InputOptions, OutputOptions, options.MaxReadBufferSize, options.MaxWriteBufferSize); + var connection = new LibuvConnection(socket, TransportContext.Log, Thread, remoteEndPoint, localEndPoint, InputOptions, OutputOptions, options.MaxReadBufferSize, options.MaxWriteBufferSize, options.FinOnError); #pragma warning restore CS0618 connection.Start(); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs 2023-07-18 20:42:24.000000000 +0000 @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Net; using System.Runtime.InteropServices; @@ -22,6 +23,10 @@ private readonly List _dispatchPipes = new List(); // The list of pipes we've created but may not be part of _dispatchPipes private readonly List _createdPipes = new List(); + + // If true, dispatch all connections to _dispatchPipes - don't process any in the primary + private readonly bool _dispatchAll; + private int _dispatchIndex; private string _pipeName; private byte[] _pipeMessage; @@ -32,8 +37,9 @@ // but it has no other functional significance private readonly ArraySegment> _dummyMessage = new ArraySegment>(new[] { new ArraySegment(new byte[] { 1, 2, 3, 4 }) }); - public ListenerPrimary(LibuvTransportContext transportContext) : base(transportContext) + public ListenerPrimary(LibuvTransportContext transportContext, bool dispatchAll) : base(transportContext) { + _dispatchAll = dispatchAll; } /// @@ -107,9 +113,27 @@ protected override void DispatchConnection(UvStreamHandle socket) { - var index = _dispatchIndex++ % (_dispatchPipes.Count + 1); + var modulus = _dispatchAll ? _dispatchPipes.Count : (_dispatchPipes.Count + 1); + if (modulus == 0) + { + if (_createdPipes.Count == 0) + { +#pragma warning disable CS0618 // Type or member is obsolete + Log.LogError(0, $"Connection received before listeners were initialized - see https://aka.ms/dotnet/aspnet/finonerror for possible mitigations"); +#pragma warning restore CS0618 // Type or member is obsolete + } + else + { + Log.LogError(0, "Unable to process connection since listeners failed to initialize - see https://aka.ms/dotnet/aspnet/finonerror for possible mitigations"); + } + + return; + } + + var index = _dispatchIndex++ % modulus; if (index == _dispatchPipes.Count) { + Debug.Assert(!_dispatchAll, "Should have dispatched to a secondary listener"); base.DispatchConnection(socket); } else diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs 2023-07-18 20:42:24.000000000 +0000 @@ -12,6 +12,17 @@ [Obsolete("The libuv transport is obsolete and will be removed in a future release. See https://aka.ms/libuvtransport for details.", error: false)] // Remove after .NET 6. public class LibuvTransportOptions { + private const string FinOnErrorSwitch = "Microsoft.AspNetCore.Server.Kestrel.FinOnError"; + private static readonly bool _finOnError; + + static LibuvTransportOptions() + { + AppContext.TryGetSwitch(FinOnErrorSwitch, out _finOnError); + } + + // Opt-out flag for back compat. Remove in 7.0. + internal bool FinOnError { get; set; } = _finOnError; + /// /// The number of libuv I/O threads used to process requests. /// diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -5,11 +5,14 @@ using System.IO; using System.Linq; using System.Net; +using System.Net.Sockets; +using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.TestHelpers; using Microsoft.AspNetCore.Testing; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Xunit; @@ -33,7 +36,7 @@ // Start primary listener var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); await libuvThreadPrimary.StartAsync(); - var listenerPrimary = new ListenerPrimary(transportContextPrimary); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: false); await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); var address = GetUri(listenerPrimary.EndPoint); @@ -50,6 +53,8 @@ } var listenerCount = listenerPrimary.UvPipeCount; + Assert.Equal(0, listenerCount); + // Add secondary listener var libuvThreadSecondary = new LibuvThread(libuv, transportContextSecondary); await libuvThreadSecondary.StartAsync(); @@ -85,6 +90,74 @@ await listenerPrimary.DisposeAsync(); await libuvThreadPrimary.StopAsync(TimeSpan.FromSeconds(5)); } + [Theory] + [InlineData(1)] + [InlineData(2)] + [InlineData(3)] + public async Task ConnectionsGetRoundRobinedToSecondaryListeners_DispatchAll(int secondaryCount) + { + var libuv = new LibuvFunctions(); + + var endpoint = new IPEndPoint(IPAddress.Loopback, 0); + + var transportContextPrimary = new TestLibuvTransportContext(); + var transportContextSecondary = new TestLibuvTransportContext(); + + var pipeName = (libuv.IsWindows ? @"\\.\pipe\kestrel_" : "/tmp/kestrel_") + Guid.NewGuid().ToString("n"); + var pipeMessage = Guid.NewGuid().ToByteArray(); + + // Start primary listener + var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); + await libuvThreadPrimary.StartAsync(); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: true); + await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); + var address = GetUri(listenerPrimary.EndPoint); + + Assert.Equal(0, listenerPrimary.UvPipeCount); + + // Add secondary listeners + var listenerSecondaries = new ListenerSecondary[secondaryCount]; + for (int i = 0; i < secondaryCount; i++) + { + var libuvThread = new LibuvThread(libuv, transportContextSecondary); + await libuvThread.StartAsync(); + var listener = new ListenerSecondary(transportContextSecondary); + await listener.StartAsync(pipeName, pipeMessage, endpoint, libuvThread); + listenerSecondaries[i] = listener; + } + + var maxWait = Task.Delay(TestConstants.DefaultTimeout); + // wait for ListenerPrimary.ReadCallback to add the secondary pipe + while (listenerPrimary.UvPipeCount < secondaryCount) + { + var completed = await Task.WhenAny(maxWait, Task.Delay(100)); + if (ReferenceEquals(completed, maxWait)) + { + throw new TimeoutException("Timed out waiting for secondary listener to become available"); + } + } + + // Check that the secondaries are visited in order and that it wraps + // around without hitting the primary + for (int i = 0; i < secondaryCount + 1; i++) + { + var expectedTask = listenerSecondaries[i % secondaryCount].AcceptAsync().AsTask(); + + using var socket = await HttpClientSlim.GetSocket(address); + + await using var connection = await expectedTask.DefaultTimeout(); + } + + foreach (var listenerSecondary in listenerSecondaries) + { + var libuvThread = listenerSecondary.Thread; + await listenerSecondary.DisposeAsync(); + await libuvThread.StopAsync(TimeSpan.FromSeconds(5)); + } + + await listenerPrimary.DisposeAsync(); + await libuvThreadPrimary.StopAsync(TimeSpan.FromSeconds(5)); + } // https://github.com/aspnet/KestrelHttpServer/issues/1182 [Fact] @@ -103,7 +176,7 @@ // Start primary listener var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); await libuvThreadPrimary.StartAsync(); - var listenerPrimary = new ListenerPrimary(transportContextPrimary); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: false); await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); var address = GetUri(listenerPrimary.EndPoint); @@ -181,7 +254,6 @@ Assert.Equal(LogLevel.Debug, logMessage.LogLevel); } - [Fact] public async Task PipeConnectionsWithWrongMessageAreLoggedAndIgnored() { @@ -199,7 +271,7 @@ // Start primary listener var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); await libuvThreadPrimary.StartAsync(); - var listenerPrimary = new ListenerPrimary(transportContextPrimary); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: false); await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); var address = GetUri(listenerPrimary.EndPoint); @@ -235,6 +307,108 @@ Assert.Contains("Bad data", errorMessage.Exception.ToString()); } + [Fact] + public async Task PipeConnectionsWithWrongMessageAreLoggedAndIgnored_DispatchAllNoneRemaining() + { + var libuv = new LibuvFunctions(); + var endpoint = new IPEndPoint(IPAddress.Loopback, 0); + + var logger = new TestApplicationErrorLogger(); + + var transportContextPrimary = new TestLibuvTransportContext { Log = new LibuvTrace(logger) }; + var transportContextSecondary = new TestLibuvTransportContext(); + + var pipeName = (libuv.IsWindows ? @"\\.\pipe\kestrel_" : "/tmp/kestrel_") + Guid.NewGuid().ToString("n"); + var pipeMessage = Guid.NewGuid().ToByteArray(); + + // Start primary listener + var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); + await libuvThreadPrimary.StartAsync(); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: true); + await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); + var address = GetUri(listenerPrimary.EndPoint); + + // Add secondary listener with wrong pipe message + var libuvThreadSecondary = new LibuvThread(libuv, transportContextSecondary); + await libuvThreadSecondary.StartAsync(); + var listenerSecondary = new ListenerSecondary(transportContextSecondary); + await listenerSecondary.StartAsync(pipeName, Guid.NewGuid().ToByteArray(), endpoint, libuvThreadSecondary); + + // Wait up to 10 seconds for error to be logged + for (var i = 0; i < 10 && logger.TotalErrorsLogged == 0; i++) + { + await Task.Delay(100); + } + + Assert.Equal(1, logger.TotalErrorsLogged); + + var badDataMessage = Assert.Single(logger.Messages.Where(m => m.LogLevel == LogLevel.Error)); + Assert.IsType(badDataMessage.Exception); + Assert.Contains("Bad data", badDataMessage.Exception.ToString()); + + using var socket = await HttpClientSlim.GetSocket(address); + + var _ = listenerPrimary.AcceptAsync(); + + // Wait up to 10 seconds for error to be logged + for (var i = 0; i < 10 && logger.TotalErrorsLogged <= 1; i++) + { + await Task.Delay(100); + } + + var noSecondariesMessage = logger.Messages.Last(m => m.LogLevel == LogLevel.Error); + Assert.Null(noSecondariesMessage.Exception); + Assert.Contains("listeners failed to initialize", noSecondariesMessage.Message); + + Assert.Null(libuvThreadPrimary.FatalError); + + await listenerSecondary.DisposeAsync(); + await libuvThreadSecondary.StopAsync(TimeSpan.FromSeconds(5)); + + await listenerPrimary.DisposeAsync(); + await libuvThreadPrimary.StopAsync(TimeSpan.FromSeconds(5)); + } + + [Fact] + public async Task DispatchAllConnectionBeforeSecondaries() + { + var libuv = new LibuvFunctions(); + var endpoint = new IPEndPoint(IPAddress.Loopback, 0); + + var logger = new TestApplicationErrorLogger(); + + var transportContextPrimary = new TestLibuvTransportContext { Log = new LibuvTrace(logger) }; + var transportContextSecondary = new TestLibuvTransportContext(); + + var pipeName = (libuv.IsWindows ? @"\\.\pipe\kestrel_" : "/tmp/kestrel_") + Guid.NewGuid().ToString("n"); + var pipeMessage = Guid.NewGuid().ToByteArray(); + + // Start primary listener + var libuvThreadPrimary = new LibuvThread(libuv, transportContextPrimary); + await libuvThreadPrimary.StartAsync(); + var listenerPrimary = new ListenerPrimary(transportContextPrimary, dispatchAll: true); + await listenerPrimary.StartAsync(pipeName, pipeMessage, endpoint, libuvThreadPrimary); + var address = GetUri(listenerPrimary.EndPoint); + + using var socket = await HttpClientSlim.GetSocket(address); + + var _ = listenerPrimary.AcceptAsync(); + + // Wait up to 10 seconds for error to be logged + for (var i = 0; i < 10 && logger.TotalErrorsLogged <= 1; i++) + { + await Task.Delay(100); + } + + var noSecondariesMessage = logger.Messages.Last(m => m.LogLevel == LogLevel.Error); + Assert.Null(noSecondariesMessage.Exception); + Assert.Contains("before listeners", noSecondariesMessage.Message); + + Assert.Null(libuvThreadPrimary.FatalError); + + await listenerPrimary.DisposeAsync(); + await libuvThreadPrimary.StopAsync(TimeSpan.FromSeconds(5)); + } private static async Task AssertRoundRobin(Uri address, ListenerPrimary listenerPrimary, ListenerSecondary listenerSecondary, ListenerContext currentListener, Task expected = null, int connections = 4) { diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs 2023-07-18 20:42:24.000000000 +0000 @@ -11,6 +11,7 @@ void ConnectionReadFin(SocketConnection connection); void ConnectionWriteFin(SocketConnection connection, string reason); + void ConnectionWriteRst(SocketConnection connection, string reason); void ConnectionError(SocketConnection connection, Exception ex); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs 2023-07-18 20:42:24.000000000 +0000 @@ -10,6 +10,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal { + internal sealed partial class SocketConnection : TransportConnection { private static readonly int MinAllocBufferSize = PinnedBlockMemoryPool.BlockSize / 2; @@ -30,6 +31,7 @@ private readonly TaskCompletionSource _waitForConnectionClosedTcs = new TaskCompletionSource(); private bool _connectionClosed; private readonly bool _waitForData; + private readonly bool _finOnError; internal SocketConnection(Socket socket, MemoryPool memoryPool, @@ -38,7 +40,8 @@ SocketSenderPool socketSenderPool, PipeOptions inputOptions, PipeOptions outputOptions, - bool waitForData = true) + bool waitForData = true, + bool finOnError = false) { Debug.Assert(socket != null); Debug.Assert(memoryPool != null); @@ -49,6 +52,7 @@ _trace = trace; _waitForData = waitForData; _socketSenderPool = socketSenderPool; + _finOnError = finOnError; LocalEndPoint = _socket.LocalEndPoint; RemoteEndPoint = _socket.RemoteEndPoint; @@ -329,11 +333,21 @@ // ever observe the nondescript ConnectionAbortedException except for connection middleware attempting // to half close the connection which is currently unsupported. _shutdownReason = shutdownReason ?? new ConnectionAbortedException("The Socket transport's send loop completed gracefully."); + + // NB: not _shutdownReason since we don't want to do this on graceful completion + if (!_finOnError && shutdownReason is not null) + { + _trace.ConnectionWriteRst(this, shutdownReason.Message); + + // This forces an abortive close with linger time 0 (and implies Dispose) + _socket.Close(timeout: 0); + return; + } + _trace.ConnectionWriteFin(this, _shutdownReason.Message); try { - // Try to gracefully close the socket even for aborts to match libuv behavior. _socket.Shutdown(SocketShutdown.Both); } catch diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs 2023-07-18 20:42:24.000000000 +0000 @@ -43,6 +43,17 @@ } } + [LoggerMessage(8, LogLevel.Debug, @"Connection id ""{ConnectionId}"" sending RST because: ""{Reason}""", EventName = "ConnectionWriteRst", SkipEnabledCheck = true)] + private static partial void ConnectionWriteRst(ILogger logger, string connectionId, string reason); + + public void ConnectionWriteRst(SocketConnection connection, string reason) + { + if (_logger.IsEnabled(LogLevel.Debug)) + { + ConnectionWriteRst(_logger, connection.ConnectionId, reason); + } + } + public void ConnectionWrite(SocketConnection connection, int count) { // Don't log for now since this could be *too* verbose. diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionContextFactory.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionContextFactory.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionContextFactory.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionContextFactory.cs 2023-07-18 20:42:24.000000000 +0000 @@ -104,7 +104,8 @@ setting.SocketSenderPool, setting.InputOptions, setting.OutputOptions, - waitForData: _options.WaitForDataBeforeAllocatingBuffer); + waitForData: _options.WaitForDataBeforeAllocatingBuffer, + finOnError: _options.FinOnError); connection.Start(); return connection; diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionFactoryOptions.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionFactoryOptions.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionFactoryOptions.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketConnectionFactoryOptions.cs 2023-07-18 20:42:24.000000000 +0000 @@ -23,8 +23,12 @@ MaxWriteBufferSize = transportOptions.MaxWriteBufferSize; UnsafePreferInlineScheduling = transportOptions.UnsafePreferInlineScheduling; MemoryPoolFactory = transportOptions.MemoryPoolFactory; + FinOnError = transportOptions.FinOnError; } + // Opt-out flag for back compat. Remove in 9.0 (or make public). + internal bool FinOnError { get; set; } + /// /// The number of I/O queues used to process requests. Set to 0 to directly schedule I/O to the ThreadPool. /// diff -Nru dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs --- dotnet6-6.0.120/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs 2023-07-18 20:42:24.000000000 +0000 @@ -13,6 +13,17 @@ /// public class SocketTransportOptions { + private const string FinOnErrorSwitch = "Microsoft.AspNetCore.Server.Kestrel.FinOnError"; + private static readonly bool _finOnError; + + static SocketTransportOptions() + { + AppContext.TryGetSwitch(FinOnErrorSwitch, out _finOnError); + } + + // Opt-out flag for back compat. Remove in 9.0 (or make public). + internal bool FinOnError { get; set; } = _finOnError; + /// /// The number of I/O queues used to process requests. Set to 0 to directly schedule I/O to the ThreadPool. /// diff -Nru dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs --- dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs 2023-07-18 20:42:24.000000000 +0000 @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Runtime.CompilerServices; +using StackExchange.Redis; namespace Microsoft.AspNetCore.SignalR.StackExchangeRedis.Internal { @@ -71,5 +72,7 @@ { return _prefix + ":internal:ack:" + serverName; } + + public static RedisChannel GetChannel(string channelName) => new RedisChannel(channelName, RedisChannel.PatternMode.Literal); } } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs --- dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs 2023-07-18 20:42:24.000000000 +0000 @@ -114,7 +114,7 @@ var connectionChannel = _channels.Connection(connection.ConnectionId); RedisLog.Unsubscribe(_logger, connectionChannel); - tasks.Add(_bus!.UnsubscribeAsync(connectionChannel)); + tasks.Add(_bus!.UnsubscribeAsync(RedisChannels.GetChannel(connectionChannel))); var feature = connection.Features.Get()!; var groupNames = feature.Groups; @@ -315,7 +315,7 @@ { await EnsureRedisServerConnection(); RedisLog.PublishToChannel(_logger, channel); - await _bus!.PublishAsync(channel, payload); + await _bus!.PublishAsync(RedisChannels.GetChannel(channel), payload); } private Task AddGroupAsyncCore(HubConnectionContext connection, string groupName) @@ -347,7 +347,7 @@ await _groups.RemoveSubscriptionAsync(groupChannel, connection, channelName => { RedisLog.Unsubscribe(_logger, channelName); - return _bus!.UnsubscribeAsync(channelName); + return _bus!.UnsubscribeAsync(RedisChannels.GetChannel(channelName)); }); var feature = connection.Features.Get()!; @@ -379,7 +379,7 @@ return _users.RemoveSubscriptionAsync(userChannel, connection, channelName => { RedisLog.Unsubscribe(_logger, channelName); - return _bus!.UnsubscribeAsync(channelName); + return _bus!.UnsubscribeAsync(RedisChannels.GetChannel(channelName)); }); } @@ -396,7 +396,7 @@ private async Task SubscribeToAll() { RedisLog.Subscribing(_logger, _channels.All); - var channel = await _bus!.SubscribeAsync(_channels.All); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(_channels.All)); channel.OnMessage(async channelMessage => { try @@ -426,7 +426,7 @@ private async Task SubscribeToGroupManagementChannel() { - var channel = await _bus!.SubscribeAsync(_channels.GroupManagement); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(_channels.GroupManagement)); channel.OnMessage(async channelMessage => { try @@ -463,7 +463,7 @@ private async Task SubscribeToAckChannel() { // Create server specific channel in order to send an ack to a single server - var channel = await _bus!.SubscribeAsync(_channels.Ack(_serverName)); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(_channels.Ack(_serverName))); channel.OnMessage(channelMessage => { var ackId = _protocol.ReadAck((byte[])channelMessage.Message); @@ -477,7 +477,7 @@ var connectionChannel = _channels.Connection(connection.ConnectionId); RedisLog.Subscribing(_logger, connectionChannel); - var channel = await _bus!.SubscribeAsync(connectionChannel); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(connectionChannel)); channel.OnMessage(channelMessage => { var invocation = _protocol.ReadInvocation((byte[])channelMessage.Message); @@ -492,7 +492,7 @@ return _users.AddSubscriptionAsync(userChannel, connection, async (channelName, subscriptions) => { RedisLog.Subscribing(_logger, channelName); - var channel = await _bus!.SubscribeAsync(channelName); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(channelName)); channel.OnMessage(async channelMessage => { try @@ -518,7 +518,7 @@ private async Task SubscribeToGroupAsync(string groupChannel, HubConnectionStore groupConnections) { RedisLog.Subscribing(_logger, groupChannel); - var channel = await _bus!.SubscribeAsync(groupChannel); + var channel = await _bus!.SubscribeAsync(RedisChannels.GetChannel(groupChannel)); channel.OnMessage(async (channelMessage) => { try diff -Nru dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs --- dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs 2023-07-18 20:42:24.000000000 +0000 @@ -149,6 +149,73 @@ } } + [ConditionalTheory] + [SkipIfDockerNotPresent] + [MemberData(nameof(TransportTypesAndProtocolTypes))] + public async Task HubConnectionCanSendAndReceiveGroupMessagesGroupNameWithPatternIsTreatedAsLiteral(HttpTransportType transportType, string protocolName) + { + using (StartVerifiableLog()) + { + var protocol = HubProtocolHelpers.GetHubProtocol(protocolName); + + var connection = CreateConnection(_serverFixture.FirstServer.Url + "/echo", transportType, protocol, LoggerFactory); + var secondConnection = CreateConnection(_serverFixture.SecondServer.Url + "/echo", transportType, protocol, LoggerFactory); + + var tcs = new TaskCompletionSource(); + connection.On("Echo", message => tcs.TrySetResult(message)); + var tcs2 = new TaskCompletionSource(); + secondConnection.On("Echo", message => tcs2.TrySetResult(message)); + + var groupName = $"TestGroup_{transportType}_{protocolName}_{Guid.NewGuid()}"; + + await secondConnection.StartAsync().DefaultTimeout(); + await connection.StartAsync().DefaultTimeout(); + await connection.InvokeAsync("AddSelfToGroup", "*").DefaultTimeout(); + await secondConnection.InvokeAsync("AddSelfToGroup", groupName).DefaultTimeout(); + await connection.InvokeAsync("EchoGroup", groupName, "Hello, World!").DefaultTimeout(); + + Assert.Equal("Hello, World!", await tcs2.Task.DefaultTimeout()); + Assert.False(tcs.Task.IsCompleted); + + await connection.InvokeAsync("EchoGroup", "*", "Hello, World!").DefaultTimeout(); + Assert.Equal("Hello, World!", await tcs.Task.DefaultTimeout()); + + await connection.DisposeAsync().DefaultTimeout(); + } + } + + [ConditionalTheory] + [SkipIfDockerNotPresent] + [MemberData(nameof(TransportTypesAndProtocolTypes))] + public async Task CanSendAndReceiveUserMessagesUserNameWithPatternIsTreatedAsLiteral(HttpTransportType transportType, string protocolName) + { + using (StartVerifiableLog()) + { + var protocol = HubProtocolHelpers.GetHubProtocol(protocolName); + + var connection = CreateConnection(_serverFixture.FirstServer.Url + "/echo", transportType, protocol, LoggerFactory, userName: "*"); + var secondConnection = CreateConnection(_serverFixture.SecondServer.Url + "/echo", transportType, protocol, LoggerFactory, userName: "userA"); + + var tcs = new TaskCompletionSource(); + connection.On("Echo", message => tcs.TrySetResult(message)); + var tcs2 = new TaskCompletionSource(); + secondConnection.On("Echo", message => tcs2.TrySetResult(message)); + + await secondConnection.StartAsync().DefaultTimeout(); + await connection.StartAsync().DefaultTimeout(); + await connection.InvokeAsync("EchoUser", "userA", "Hello, World!").DefaultTimeout(); + + Assert.Equal("Hello, World!", await tcs2.Task.DefaultTimeout()); + Assert.False(tcs.Task.IsCompleted); + + await connection.InvokeAsync("EchoUser", "*", "Hello, World!").DefaultTimeout(); + Assert.Equal("Hello, World!", await tcs.Task.DefaultTimeout()); + + await connection.DisposeAsync().DefaultTimeout(); + await secondConnection.DisposeAsync().DefaultTimeout(); + } + } + private static HubConnection CreateConnection(string url, HttpTransportType transportType, IHubProtocol protocol, ILoggerFactory loggerFactory, string userName = null) { var hubConnectionBuilder = new HubConnectionBuilder() diff -Nru dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs --- dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs 2023-07-18 20:42:24.000000000 +0000 @@ -83,6 +83,26 @@ } } + // Smoke test that Debug.Asserts in TestSubscriber aren't hit + [Fact] + public async Task PatternGroupAndUser() + { + var server = new TestRedisServer(); + using (var client = new TestClient()) + { + var manager = CreateLifetimeManager(server); + + var connection = HubConnectionContextUtils.Create(client.Connection); + connection.UserIdentifier = "*"; + + await manager.OnConnectedAsync(connection).DefaultTimeout(); + + var groupName = "*"; + + await manager.AddToGroupAsync(connection.ConnectionId, groupName).DefaultTimeout(); + } + } + public override TestRedisServer CreateBackplane() { return new TestRedisServer(); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs --- dotnet6-6.0.120/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs 2023-06-23 18:44:32.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs 2023-07-18 20:42:24.000000000 +0000 @@ -4,6 +4,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Net; using System.Reflection; @@ -11,6 +12,7 @@ using System.Threading.Tasks; using StackExchange.Redis; using StackExchange.Redis.Profiling; +using Xunit; namespace Microsoft.AspNetCore.SignalR.Tests { @@ -230,6 +232,8 @@ public long Publish(RedisChannel channel, RedisValue message, CommandFlags flags = CommandFlags.None) { + AssertRedisChannel(channel); + if (_subscriptions.TryGetValue(channel, out var handlers)) { foreach (var (_, handler) in handlers) @@ -243,6 +247,8 @@ public void Subscribe(ChannelMessageQueue messageQueue, int subscriberId, CommandFlags flags = CommandFlags.None) { + AssertRedisChannel(messageQueue.Channel); + Action handler = (channel, value) => { // Workaround for https://github.com/StackExchange/StackExchange.Redis/issues/969 @@ -260,11 +266,20 @@ public void Unsubscribe(RedisChannel channel, int subscriberId, CommandFlags flags = CommandFlags.None) { + AssertRedisChannel(channel); + if (_subscriptions.TryGetValue(channel, out var list)) { list.RemoveAll((item) => item.Item1 == subscriberId); } } + + internal static void AssertRedisChannel(RedisChannel channel) + { + var patternField = typeof(RedisChannel).GetField("IsPatternBased", BindingFlags.NonPublic | BindingFlags.Instance); + Assert.NotNull(patternField); + Assert.False((bool)patternField.GetValue(channel)); + } } public class TestSubscriber : ISubscriber @@ -310,11 +325,15 @@ public long Publish(RedisChannel channel, RedisValue message, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + return _server.Publish(channel, message, flags); } public async Task PublishAsync(RedisChannel channel, RedisValue message, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + await Task.Yield(); return Publish(channel, message, flags); } @@ -326,6 +345,8 @@ public Task SubscribeAsync(RedisChannel channel, Action handler, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + Subscribe(channel, handler, flags); return Task.CompletedTask; } @@ -342,6 +363,8 @@ public void Unsubscribe(RedisChannel channel, Action handler = null, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + _server.Unsubscribe(channel, _id, flags); } @@ -357,6 +380,8 @@ public Task UnsubscribeAsync(RedisChannel channel, Action handler = null, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + Unsubscribe(channel, handler, flags); return Task.CompletedTask; } @@ -391,6 +416,8 @@ public Task SubscribeAsync(RedisChannel channel, CommandFlags flags = CommandFlags.None) { + TestRedisServer.AssertRedisChannel(channel); + var t = Subscribe(channel, flags); return Task.FromResult(t); } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/CMakeLists.txt dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/CMakeLists.txt --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/CMakeLists.txt 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/CMakeLists.txt 2023-07-18 20:42:28.000000000 +0000 @@ -1,19 +1,7 @@ # Note: CMake support is community-based. The maintainers do not use CMake # internally. -cmake_minimum_required(VERSION 3.5) - -if (POLICY CMP0048) - cmake_policy(SET CMP0048 NEW) -endif (POLICY CMP0048) - -if (POLICY CMP0069) - cmake_policy(SET CMP0069 NEW) -endif (POLICY CMP0069) - -if (POLICY CMP0077) - cmake_policy(SET CMP0077 NEW) -endif (POLICY CMP0077) +cmake_minimum_required(VERSION 3.13) project(googletest-distribution) set(GOOGLETEST_VERSION 1.13.0) diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/gmock_cook_book.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/gmock_cook_book.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/gmock_cook_book.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/gmock_cook_book.md 2023-07-18 20:42:28.000000000 +0000 @@ -697,9 +697,9 @@ EXPECT_CALL(foo, DoThat(_, _)); int n = 0; - EXPECT_EQ('+', foo.DoThis(5)); // FakeFoo::DoThis() is invoked. + EXPECT_EQ(foo.DoThis(5), '+'); // FakeFoo::DoThis() is invoked. foo.DoThat("Hi", &n); // FakeFoo::DoThat() is invoked. - EXPECT_EQ(2, n); + EXPECT_EQ(n, 2); } ``` @@ -1129,11 +1129,11 @@ predicate that's satisfied by any number that is >= 0, <= 100, and != 50: ```cpp -using testing::AllOf; -using testing::Ge; -using testing::Le; -using testing::Matches; -using testing::Ne; +using ::testing::AllOf; +using ::testing::Ge; +using ::testing::Le; +using ::testing::Matches; +using ::testing::Ne; ... Matches(AllOf(Ge(0), Le(100), Ne(50))) ``` @@ -1861,7 +1861,7 @@ Though you may be tempted, DO NOT use `std::ref()`: ```cpp -using testing::Return; +using ::testing::Return; class MockFoo : public Foo { public: @@ -1873,7 +1873,7 @@ EXPECT_CALL(foo, GetValue()) .WillRepeatedly(Return(std::ref(x))); // Wrong! x = 42; - EXPECT_EQ(42, foo.GetValue()); + EXPECT_EQ(foo.GetValue(), 42); ``` Unfortunately, it doesn't work here. The above code will fail with error: @@ -1895,14 +1895,14 @@ returns the value pointed to by `pointer` at the time the action is *executed*: ```cpp -using testing::ReturnPointee; +using ::testing::ReturnPointee; ... int x = 0; MockFoo foo; EXPECT_CALL(foo, GetValue()) .WillRepeatedly(ReturnPointee(&x)); // Note the & here. x = 42; - EXPECT_EQ(42, foo.GetValue()); // This will succeed now. + EXPECT_EQ(foo.GetValue(), 42); // This will succeed now. ``` ### Combining Actions @@ -2264,7 +2264,7 @@ EXPECT_CALL(foo, DoThis(2)) .WillOnce(Invoke(NewPermanentCallback(SignOfSum, 5))); - EXPECT_EQ('+', foo.DoThis(2)); // Invokes SignOfSum(5, 2). + EXPECT_EQ(foo.DoThis(2), '+'); // Invokes SignOfSum(5, 2). } ``` @@ -2771,11 +2771,13 @@ action: ```cpp +using ::testing::IsNull; +... // Use the default action. EXPECT_CALL(mock_buzzer_, MakeBuzz("hello")); // Triggers the previous EXPECT_CALL. - EXPECT_EQ(nullptr, mock_buzzer_.MakeBuzz("hello")); + EXPECT_THAT(mock_buzzer_.MakeBuzz("hello"), IsNull()); ``` If you are not happy with the default action, you can tweak it as usual; see @@ -3194,9 +3196,9 @@ ```cpp #include "gmock/gmock.h" -using testing::_; -using testing::HasSubstr; -using testing::Return; +using ::testing::_; +using ::testing::HasSubstr; +using ::testing::Return; class MockFoo { public: @@ -3817,15 +3819,15 @@ All you need is a call operator with a signature compatible with the mocked function. So you can use a lambda: -``` +```cpp MockFunction mock; EXPECT_CALL(mock, Call).WillOnce([](const int input) { return input * 7; }); -EXPECT_EQ(14, mock.AsStdFunction()(2)); +EXPECT_EQ(mock.AsStdFunction()(2), 14); ``` Or a struct with a call operator (even a templated one): -``` +```cpp struct MultiplyBy { template T operator()(T arg) { return arg * multiplier; } @@ -3840,16 +3842,16 @@ It's also fine for the callable to take no arguments, ignoring the arguments supplied to the mock function: -``` +```cpp MockFunction mock; EXPECT_CALL(mock, Call).WillOnce([] { return 17; }); -EXPECT_EQ(17, mock.AsStdFunction()(0)); +EXPECT_EQ(mock.AsStdFunction()(0), 17); ``` When used with `WillOnce`, the callable can assume it will be called at most once and is allowed to be a move-only type: -``` +```cpp // An action that contains move-only types and has an &&-qualified operator, // demanding in the type system that it be called at most once. This can be // used with WillOnce, but the compiler will reject it if handed to diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/pkgconfig.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/pkgconfig.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/pkgconfig.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/pkgconfig.md 2023-07-18 20:42:28.000000000 +0000 @@ -19,19 +19,15 @@ Using `pkg-config` in CMake is fairly easy: ```cmake -cmake_minimum_required(VERSION 3.0) - -cmake_policy(SET CMP0048 NEW) -project(my_gtest_pkgconfig VERSION 0.0.1 LANGUAGES CXX) - find_package(PkgConfig) pkg_search_module(GTEST REQUIRED gtest_main) -add_executable(testapp samples/sample3_unittest.cc) -target_link_libraries(testapp ${GTEST_LDFLAGS}) -target_compile_options(testapp PUBLIC ${GTEST_CFLAGS}) +add_executable(testapp) +target_sources(testapp PRIVATE samples/sample3_unittest.cc) +target_link_libraries(testapp PRIVATE ${GTEST_LDFLAGS}) +target_compile_options(testapp PRIVATE ${GTEST_CFLAGS}) -include(CTest) +enable_testing() add_test(first_and_only_test testapp) ``` diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/platforms.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/platforms.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/platforms.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/platforms.md 2023-07-18 20:42:28.000000000 +0000 @@ -1,35 +1,8 @@ # Supported Platforms -GoogleTest requires a codebase and compiler compliant with the C++11 standard or -newer. - -The GoogleTest code is officially supported on the following platforms. -Operating systems or tools not listed below are community-supported. For -community-supported platforms, patches that do not complicate the code may be -considered. - -If you notice any problems on your platform, please file an issue on the -[GoogleTest GitHub Issue Tracker](https://github.com/google/googletest/issues). -Pull requests containing fixes are welcome! - -### Operating systems - -* Linux -* macOS -* Windows - -### Compilers - -* gcc 5.0+ -* clang 5.0+ -* MSVC 2015+ - -**macOS users:** Xcode 9.3+ provides clang 5.0+. - -### Build systems - -* [Bazel](https://bazel.build/) -* [CMake](https://cmake.org/) - -Bazel is the build system used by the team internally and in tests. CMake is -supported on a best-effort basis and by the community. +GoogleTest follows Google's +[Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). +See +[this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) +for a list of currently supported versions compilers, platforms, and build +tools. diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/primer.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/primer.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/primer.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/primer.md 2023-07-18 20:42:28.000000000 +0000 @@ -42,7 +42,7 @@ at home if you've used JUnit or PyUnit before. If not, it will take you about 10 minutes to learn the basics and get started. So let's go! -## Beware of the nomenclature +## Beware of the Nomenclature {: .callout .note} *Note:* There might be some confusion arising from different definitions of the diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/reference/testing.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/reference/testing.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/docs/reference/testing.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/docs/reference/testing.md 2023-07-18 20:42:28.000000000 +0000 @@ -122,8 +122,8 @@ ```cpp INSTANTIATE_TEST_SUITE_P( MyInstantiation, MyTestSuite, - ::testing::Values(...), - [](const ::testing::TestParamInfo& info) { + testing::Values(...), + [](const testing::TestParamInfo& info) { // Can use info.param here to generate the test suffix std::string name = ... return name; @@ -148,7 +148,7 @@ ```cpp template -class MyFixture : public ::testing::Test { +class MyFixture : public testing::Test { public: ... using List = std::list; @@ -324,7 +324,7 @@ ```cpp namespace my_namespace { -class MyClassTest : public ::testing::Test { +class MyClassTest : public testing::Test { ... }; @@ -387,7 +387,7 @@ ### AssertionResult {#AssertionResult} -`::testing::AssertionResult` +`testing::AssertionResult` A class for indicating whether an assertion was successful. @@ -401,14 +401,14 @@ ### AssertionException {#AssertionException} -`::testing::AssertionException` +`testing::AssertionException` Exception which can be thrown from [`TestEventListener::OnTestPartResult`](#TestEventListener::OnTestPartResult). ### EmptyTestEventListener {#EmptyTestEventListener} -`::testing::EmptyTestEventListener` +`testing::EmptyTestEventListener` Provides an empty implementation of all methods in the [`TestEventListener`](#TestEventListener) interface, such that a subclass only @@ -416,7 +416,7 @@ ### Environment {#Environment} -`::testing::Environment` +`testing::Environment` Represents a global test environment. See [Global Set-Up and Tear-Down](../advanced.md#global-set-up-and-tear-down). @@ -437,7 +437,7 @@ ### ScopedTrace {#ScopedTrace} -`::testing::ScopedTrace` +`testing::ScopedTrace` An instance of this class causes a trace to be included in every test failure message generated by code in the scope of the lifetime of the `ScopedTrace` @@ -453,7 +453,7 @@ Example usage: ```cpp -::testing::ScopedTrace trace("file.cc", 123, "message"); +testing::ScopedTrace trace("file.cc", 123, "message"); ``` The resulting trace includes the given source file path and line number, and the @@ -464,7 +464,7 @@ ### Test {#Test} -`::testing::Test` +`testing::Test` The abstract class that all tests inherit from. `Test` is not copyable. @@ -552,7 +552,7 @@ ### TestWithParam {#TestWithParam} -`::testing::TestWithParam` +`testing::TestWithParam` A convenience class which inherits from both [`Test`](#Test) and [`WithParamInterface`](#WithParamInterface). @@ -672,7 +672,7 @@ ### TestInfo {#TestInfo} -`::testing::TestInfo` +`testing::TestInfo` Stores information about a test. @@ -751,7 +751,7 @@ ### TestParamInfo {#TestParamInfo} -`::testing::TestParamInfo` +`testing::TestParamInfo` Describes a parameter to a value-parameterized test. The type `T` is the type of the parameter. @@ -761,7 +761,7 @@ ### UnitTest {#UnitTest} -`::testing::UnitTest` +`testing::UnitTest` This class contains information about the test program. @@ -929,7 +929,7 @@ ### TestEventListener {#TestEventListener} -`::testing::TestEventListener` +`testing::TestEventListener` The interface for tracing execution of tests. The methods below are listed in the order the corresponding events are fired. @@ -1027,7 +1027,7 @@ ### TestEventListeners {#TestEventListeners} -`::testing::TestEventListeners` +`testing::TestEventListeners` Lets users add listeners to track events in GoogleTest. @@ -1072,7 +1072,7 @@ ### TestPartResult {#TestPartResult} -`::testing::TestPartResult` +`testing::TestPartResult` A copyable object representing the result of a test part (i.e. an assertion or an explicit `FAIL()`, `ADD_FAILURE()`, or `SUCCESS()`). @@ -1154,7 +1154,7 @@ ### TestProperty {#TestProperty} -`::testing::TestProperty` +`testing::TestProperty` A copyable object representing a user-specified test property which can be output as a key/value string pair. @@ -1181,7 +1181,7 @@ ### TestResult {#TestResult} -`::testing::TestResult` +`testing::TestResult` Contains information about the result of a single test. @@ -1262,20 +1262,20 @@ ### TimeInMillis {#TimeInMillis} -`::testing::TimeInMillis` +`testing::TimeInMillis` An integer type representing time in milliseconds. ### Types {#Types} -`::testing::Types` +`testing::Types` Represents a list of types for use in typed tests and type-parameterized tests. The template argument `T...` can be any number of types, for example: ``` -::testing::Types +testing::Types ``` See [Typed Tests](../advanced.md#typed-tests) and @@ -1284,7 +1284,7 @@ ### WithParamInterface {#WithParamInterface} -`::testing::WithParamInterface` +`testing::WithParamInterface` The pure interface class that all value-parameterized tests inherit from. @@ -1310,9 +1310,9 @@ ### InitGoogleTest {#InitGoogleTest} -`void ::testing::InitGoogleTest(int* argc, char** argv)` \ -`void ::testing::InitGoogleTest(int* argc, wchar_t** argv)` \ -`void ::testing::InitGoogleTest()` +`void testing::InitGoogleTest(int* argc, char** argv)` \ +`void testing::InitGoogleTest(int* argc, wchar_t** argv)` \ +`void testing::InitGoogleTest()` Initializes GoogleTest. This must be called before calling [`RUN_ALL_TESTS()`](#RUN_ALL_TESTS). In particular, it parses the command line @@ -1329,7 +1329,7 @@ ### AddGlobalTestEnvironment {#AddGlobalTestEnvironment} -`Environment* ::testing::AddGlobalTestEnvironment(Environment* env)` +`Environment* testing::AddGlobalTestEnvironment(Environment* env)` Adds a test environment to the test program. Must be called before [`RUN_ALL_TESTS()`](#RUN_ALL_TESTS) is called. See @@ -1342,7 +1342,7 @@ ```cpp template -TestInfo* ::testing::RegisterTest(const char* test_suite_name, const char* test_name, +TestInfo* testing::RegisterTest(const char* test_suite_name, const char* test_name, const char* type_param, const char* value_param, const char* file, int line, Factory factory) ``` @@ -1381,27 +1381,27 @@ ### AssertionSuccess {#AssertionSuccess} -`AssertionResult ::testing::AssertionSuccess()` +`AssertionResult testing::AssertionSuccess()` Creates a successful assertion result. See [`AssertionResult`](#AssertionResult). ### AssertionFailure {#AssertionFailure} -`AssertionResult ::testing::AssertionFailure()` +`AssertionResult testing::AssertionFailure()` Creates a failed assertion result. Use the `<<` operator to store a failure message: ```cpp -::testing::AssertionFailure() << "My failure message"; +testing::AssertionFailure() << "My failure message"; ``` See [`AssertionResult`](#AssertionResult). ### StaticAssertTypeEq {#StaticAssertTypeEq} -`::testing::StaticAssertTypeEq()` +`testing::StaticAssertTypeEq()` Compile-time assertion for type equality. Compiles if and only if `T1` and `T2` are the same type. The value it returns is irrelevant. @@ -1410,7 +1410,7 @@ ### PrintToString {#PrintToString} -`std::string ::testing::PrintToString(x)` +`std::string testing::PrintToString(x)` Prints any value `x` using GoogleTest's value printer. @@ -1420,7 +1420,7 @@ ### PrintToStringParamName {#PrintToStringParamName} -`std::string ::testing::PrintToStringParamName(TestParamInfo& info)` +`std::string testing::PrintToStringParamName(TestParamInfo& info)` A built-in parameterized test name generator which returns the result of [`PrintToString`](#PrintToString) called on `info.param`. Does not work when the diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/.gitignore dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/.gitignore --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/.gitignore 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/.gitignore 2023-07-18 20:42:28.000000000 +0000 @@ -24,6 +24,10 @@ x64-Debug/ x64-Release/ +# VSCode files +.cache/ +cmake-variants.yaml + # Ignore autoconf / automake files Makefile.in aclocal.m4 diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googlemock/CMakeLists.txt dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googlemock/CMakeLists.txt --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googlemock/CMakeLists.txt 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googlemock/CMakeLists.txt 2023-07-18 20:42:28.000000000 +0000 @@ -36,8 +36,7 @@ # as ${gmock_SOURCE_DIR} and to the root binary directory as # ${gmock_BINARY_DIR}. # Language "C" is required for find_package(Threads). -cmake_minimum_required(VERSION 3.5) -cmake_policy(SET CMP0048 NEW) +cmake_minimum_required(VERSION 3.13) project(gmock VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) if (COMMAND set_up_hermetic_build) @@ -101,18 +100,14 @@ target_link_libraries(gmock_main PUBLIC gmock) set_target_properties(gmock_main PROPERTIES VERSION ${GOOGLETEST_VERSION}) endif() -# If the CMake version supports it, attach header directory information -# to the targets for when we are part of a parent build (ie being pulled -# in via add_subdirectory() rather than being a standalone build). -if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11") - string(REPLACE ";" "$" dirs "${gmock_build_include_dirs}") - target_include_directories(gmock SYSTEM INTERFACE - "$" - "$/${CMAKE_INSTALL_INCLUDEDIR}>") - target_include_directories(gmock_main SYSTEM INTERFACE - "$" - "$/${CMAKE_INSTALL_INCLUDEDIR}>") -endif() + +string(REPLACE ";" "$" dirs "${gmock_build_include_dirs}") +target_include_directories(gmock SYSTEM INTERFACE + "$" + "$/${CMAKE_INSTALL_INCLUDEDIR}>") +target_include_directories(gmock_main SYSTEM INTERFACE + "$" + "$/${CMAKE_INSTALL_INCLUDEDIR}>") ######################################################################## # @@ -136,11 +131,7 @@ enable_testing() if (MINGW OR CYGWIN) - if (CMAKE_VERSION VERSION_LESS "2.8.12") - add_compile_options("-Wa,-mbig-obj") - else() - add_definitions("-Wa,-mbig-obj") - endif() + add_compile_options("-Wa,-mbig-obj") endif() ############################################################ diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/cmake/internal_utils.cmake dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/cmake/internal_utils.cmake --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/cmake/internal_utils.cmake 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/cmake/internal_utils.cmake 2023-07-18 20:42:28.000000000 +0000 @@ -12,14 +12,6 @@ # Test and Google Mock's option() definitions, and thus must be # called *after* the options have been defined. -if (POLICY CMP0054) - cmake_policy(SET CMP0054 NEW) -endif (POLICY CMP0054) - -if (POLICY CMP0069) - cmake_policy(SET CMP0069 NEW) -endif (POLICY CMP0069) - # Tweaks CMake's default compiler/linker settings to suit Google Test's needs. # # This must be a macro(), as inside a function string() can only @@ -196,23 +188,14 @@ set_target_properties(${name} PROPERTIES COMPILE_DEFINITIONS "GTEST_CREATE_SHARED_LIBRARY=1") - if (NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11") - target_compile_definitions(${name} INTERFACE - $) - endif() + target_compile_definitions(${name} INTERFACE + $) endif() if (DEFINED GTEST_HAS_PTHREAD) - if ("${CMAKE_VERSION}" VERSION_LESS "3.1.0") - set(threads_spec ${CMAKE_THREAD_LIBS_INIT}) - else() - set(threads_spec Threads::Threads) - endif() - target_link_libraries(${name} PUBLIC ${threads_spec}) + target_link_libraries(${name} PUBLIC Threads::Threads) endif() - if (NOT "${CMAKE_VERSION}" VERSION_LESS "3.8") - target_compile_features(${name} PUBLIC cxx_std_14) - endif() + target_compile_features(${name} PUBLIC cxx_std_14) endfunction() ######################################################################## @@ -264,22 +247,7 @@ ${name} "${cxx_default}" "${libs}" "${dir}/${name}.cc" ${ARGN}) endfunction() -# CMP0094 policy enables finding a Python executable in the LOCATION order, as -# specified by the PATH environment variable. -if (POLICY CMP0094) - cmake_policy(SET CMP0094 NEW) -endif() - -# Sets PYTHONINTERP_FOUND and PYTHON_EXECUTABLE. -if ("${CMAKE_VERSION}" VERSION_LESS "3.12.0") - find_package(PythonInterp) - set(PYTHONINTERP_FOUND ${PYTHONINTERP_FOUND} CACHE INTERNAL "") - set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE INTERNAL "") -else() - find_package(Python COMPONENTS Interpreter) - set(PYTHONINTERP_FOUND ${Python_Interpreter_FOUND} CACHE INTERNAL "") - set(PYTHON_EXECUTABLE ${Python_EXECUTABLE} CACHE INTERNAL "") -endif() +find_package(Python3) # cxx_test_with_flags(name cxx_flags libs srcs...) # @@ -305,34 +273,22 @@ # creates a Python test with the given name whose main module is in # test/name.py. It does nothing if Python is not installed. function(py_test name) - if (PYTHONINTERP_FOUND) - if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 3.1) - if (CMAKE_CONFIGURATION_TYPES) - # Multi-configuration build generators as for Visual Studio save - # output in a subdirectory of CMAKE_CURRENT_BINARY_DIR (Debug, - # Release etc.), so we have to provide it here. - add_test(NAME ${name} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py - --build_dir=${CMAKE_CURRENT_BINARY_DIR}/$ ${ARGN}) - else (CMAKE_CONFIGURATION_TYPES) - # Single-configuration build generators like Makefile generators - # don't have subdirs below CMAKE_CURRENT_BINARY_DIR. - add_test(NAME ${name} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py - --build_dir=${CMAKE_CURRENT_BINARY_DIR} ${ARGN}) - endif (CMAKE_CONFIGURATION_TYPES) - else() - # ${CMAKE_CURRENT_BINARY_DIR} is known at configuration time, so we can - # directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known - # only at ctest runtime (by calling ctest -c ), so - # we have to escape $ to delay variable substitution here. - add_test(NAME ${name} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py - --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE} ${ARGN}) - endif() - # Make the Python import path consistent between Bazel and CMake. - set_tests_properties(${name} PROPERTIES ENVIRONMENT PYTHONPATH=${CMAKE_SOURCE_DIR}) - endif(PYTHONINTERP_FOUND) + if (NOT Python3_Interpreter_FOUND) + return() + endif() + + get_cmake_property(is_multi "GENERATOR_IS_MULTI_CONFIG") + set(build_dir "${CMAKE_CURRENT_BINARY_DIR}") + if (is_multi) + set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/$") + endif() + + add_test(NAME ${name} + COMMAND Python3::Interpreter ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py + --build_dir=${build_dir} ${ARGN}) + + # Make the Python import path consistent between Bazel and CMake. + set_tests_properties(${name} PROPERTIES ENVIRONMENT PYTHONPATH=${CMAKE_SOURCE_DIR}) endfunction() # install_project(targets...) @@ -341,10 +297,12 @@ function(install_project) if(INSTALL_GTEST) install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" + COMPONENT "${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") # Install the project targets. install(TARGETS ${ARGN} EXPORT ${targets_export_name} + COMPONENT "${PROJECT_NAME}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") @@ -356,6 +314,7 @@ get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY) install(FILES "${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$:${t_pdb_name_debug}>$<$>:${t_pdb_name}>.pdb" + COMPONENT "${PROJECT_NAME}" DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL) endforeach() @@ -366,6 +325,7 @@ configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in" "${configured_pc}" @ONLY) install(FILES "${configured_pc}" + COMPONENT "${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") endforeach() endif() diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/CMakeLists.txt dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/CMakeLists.txt --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/CMakeLists.txt 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/CMakeLists.txt 2023-07-18 20:42:28.000000000 +0000 @@ -46,14 +46,9 @@ # Project version: -cmake_minimum_required(VERSION 3.5) -cmake_policy(SET CMP0048 NEW) +cmake_minimum_required(VERSION 3.13) project(gtest VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) -if (POLICY CMP0063) # Visibility - cmake_policy(SET CMP0063 NEW) -endif (POLICY CMP0063) - if (COMMAND set_up_hermetic_build) set_up_hermetic_build() endif() @@ -100,12 +95,14 @@ set(version_file "${generated_dir}/${cmake_package_name}ConfigVersion.cmake") write_basic_package_version_file(${version_file} VERSION ${GOOGLETEST_VERSION} COMPATIBILITY AnyNewerVersion) install(EXPORT ${targets_export_name} + COMPONENT "${PROJECT_NAME}" NAMESPACE ${cmake_package_name}:: DESTINATION ${cmake_files_install_dir}) set(config_file "${generated_dir}/${cmake_package_name}Config.cmake") configure_package_config_file("${gtest_SOURCE_DIR}/cmake/Config.cmake.in" "${config_file}" INSTALL_DESTINATION ${cmake_files_install_dir}) install(FILES ${version_file} ${config_file} + COMPONENT "${PROJECT_NAME}" DESTINATION ${cmake_files_install_dir}) endif() @@ -143,18 +140,13 @@ endif() cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) set_target_properties(gtest_main PROPERTIES VERSION ${GOOGLETEST_VERSION}) -# If the CMake version supports it, attach header directory information -# to the targets for when we are part of a parent build (ie being pulled -# in via add_subdirectory() rather than being a standalone build). -if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11") - string(REPLACE ";" "$" dirs "${gtest_build_include_dirs}") - target_include_directories(gtest SYSTEM INTERFACE - "$" - "$/${CMAKE_INSTALL_INCLUDEDIR}>") - target_include_directories(gtest_main SYSTEM INTERFACE - "$" - "$/${CMAKE_INSTALL_INCLUDEDIR}>") -endif() +string(REPLACE ";" "$" dirs "${gtest_build_include_dirs}") +target_include_directories(gtest SYSTEM INTERFACE + "$" + "$/${CMAKE_INSTALL_INCLUDEDIR}>") +target_include_directories(gtest_main SYSTEM INTERFACE + "$" + "$/${CMAKE_INSTALL_INCLUDEDIR}>") if(CMAKE_SYSTEM_NAME MATCHES "QNX") target_link_libraries(gtest PUBLIC regex) endif() diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest.h dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest.h --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest.h 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest.h 2023-07-18 20:42:28.000000000 +0000 @@ -1055,6 +1055,10 @@ return default_xml_generator_; } + // Controls whether events will be forwarded by the repeater to the + // listeners in the list. + void SuppressEventForwarding(bool); + private: friend class TestSuite; friend class TestInfo; @@ -1084,7 +1088,6 @@ // Controls whether events will be forwarded by the repeater to the // listeners in the list. bool EventForwardingEnabled() const; - void SuppressEventForwarding(); // The actual list of listeners. internal::TestEventRepeater* repeater_; diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest-printers.h dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest-printers.h --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest-printers.h 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/gtest-printers.h 2023-07-18 20:42:28.000000000 +0000 @@ -475,7 +475,7 @@ inline void PrintTo(char16_t c, ::std::ostream* os) { PrintTo(ImplicitCast_(c), os); } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t inline void PrintTo(char8_t c, ::std::ostream* os) { PrintTo(ImplicitCast_(c), os); } @@ -588,7 +588,7 @@ inline void PrintTo(unsigned char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t // Overloads for u8 strings. GTEST_API_ void PrintTo(const char8_t* s, ::std::ostream* os); inline void PrintTo(char8_t* s, ::std::ostream* os) { @@ -908,7 +908,7 @@ GTEST_API_ void UniversalPrintArray(const char* begin, size_t len, ::std::ostream* os); -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t // This overload prints a (const) char8_t array compactly. GTEST_API_ void UniversalPrintArray(const char8_t* begin, size_t len, ::std::ostream* os); diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port-arch.h dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port-arch.h --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port-arch.h 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port-arch.h 2023-07-18 20:42:28.000000000 +0000 @@ -113,6 +113,8 @@ #define GTEST_OS_XTENSA 1 #elif defined(__hexagon__) #define GTEST_OS_QURT 1 +#elif defined(CPU_QN9090) || defined(CPU_QN9090HN) +#define GTEST_OS_NXP_QN9090 1 #endif // __CYGWIN__ #endif // GOOGLETEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port.h dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port.h --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port.h 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/include/gtest/internal/gtest-port.h 2023-07-18 20:42:28.000000000 +0000 @@ -505,7 +505,8 @@ #if (!(defined(GTEST_OS_LINUX_ANDROID) || defined(GTEST_OS_CYGWIN) || \ defined(GTEST_OS_SOLARIS) || defined(GTEST_OS_HAIKU) || \ defined(GTEST_OS_ESP32) || defined(GTEST_OS_ESP8266) || \ - defined(GTEST_OS_XTENSA) || defined(GTEST_OS_QURT))) + defined(GTEST_OS_XTENSA) || defined(GTEST_OS_QURT) || \ + defined(GTEST_OS_NXP_QN9090))) #define GTEST_HAS_STD_WSTRING 1 #else #define GTEST_HAS_STD_WSTRING 0 @@ -924,9 +925,11 @@ namespace internal { // A secret type that Google Test users don't know about. It has no -// definition on purpose. Therefore it's impossible to create a +// accessible constructors on purpose. Therefore it's impossible to create a // Secret object, which is what we want. -class Secret; +class Secret { + Secret(const Secret&) = delete; +}; // A helper for suppressing warnings on constant condition. It just // returns 'condition'. @@ -1995,7 +1998,7 @@ inline bool IsXDigit(char ch) { return isxdigit(static_cast(ch)) != 0; } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t inline bool IsXDigit(char8_t ch) { return isxdigit(static_cast(ch)) != 0; } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/README.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/README.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/README.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/README.md 2023-07-18 20:42:28.000000000 +0000 @@ -124,10 +124,10 @@ #### C++ Standard Version -An environment that supports C++11 is required in order to successfully build +An environment that supports C++14 is required in order to successfully build GoogleTest. One way to ensure this is to specify the standard in the top-level -project, for example by using the `set(CMAKE_CXX_STANDARD 11)` command along -with `set(CMAKE_CXX_STANDARD_REQUIRED ON). If this is not feasible, for example +project, for example by using the `set(CMAKE_CXX_STANDARD 14)` command along +with `set(CMAKE_CXX_STANDARD_REQUIRED ON)`. If this is not feasible, for example in a C project using GoogleTest for validation, then it can be specified by adding it to the options for cmake via the`-DCMAKE_CXX_FLAGS` option. diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest.cc 2023-07-18 20:42:28.000000000 +0000 @@ -863,13 +863,18 @@ } #if GTEST_HAS_SEH -// Returns EXCEPTION_EXECUTE_HANDLER if Google Test should handle the -// given SEH exception, or EXCEPTION_CONTINUE_SEARCH otherwise. -// This function is useful as an __except condition. -int UnitTestOptions::GTestShouldProcessSEH(DWORD exception_code) { +static std::string FormatSehExceptionMessage(DWORD exception_code, + const char* location) { + Message message; + message << "SEH exception with code 0x" << std::setbase(16) << exception_code + << std::setbase(10) << " thrown in " << location << "."; + return message.GetString(); +} + +int UnitTestOptions::GTestProcessSEH(DWORD seh_code, const char* location) { // Google Test should handle a SEH exception if: // 1. the user wants it to, AND - // 2. this is not a breakpoint exception, AND + // 2. this is not a breakpoint exception or stack overflow, AND // 3. this is not a C++ exception (VC++ implements them via SEH, // apparently). // @@ -877,16 +882,20 @@ // (see http://support.microsoft.com/kb/185294 for more information). const DWORD kCxxExceptionCode = 0xe06d7363; - bool should_handle = true; + if (!GTEST_FLAG_GET(catch_exceptions) || seh_code == kCxxExceptionCode || + seh_code == EXCEPTION_BREAKPOINT || + seh_code == EXCEPTION_STACK_OVERFLOW) { + return EXCEPTION_CONTINUE_SEARCH; // Don't handle these exceptions + } - if (!GTEST_FLAG_GET(catch_exceptions)) - should_handle = false; - else if (exception_code == EXCEPTION_BREAKPOINT) - should_handle = false; - else if (exception_code == kCxxExceptionCode) - should_handle = false; + internal::ReportFailureInUnknownLocation( + TestPartResult::kFatalFailure, + FormatSehExceptionMessage(seh_code, location) + + "\n" + "Stack trace:\n" + + ::testing::internal::GetCurrentOsStackTraceExceptTop(1)); - return should_handle ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH; + return EXCEPTION_EXECUTE_HANDLER; } #endif // GTEST_HAS_SEH @@ -2553,23 +2562,6 @@ return true; } -#if GTEST_HAS_SEH - -// Adds an "exception thrown" fatal failure to the current test. This -// function returns its result via an output parameter pointer because VC++ -// prohibits creation of objects with destructors on stack in functions -// using __try (see error C2712). -static std::string* FormatSehExceptionMessage(DWORD exception_code, - const char* location) { - Message message; - message << "SEH exception with code 0x" << std::setbase(16) << exception_code - << std::setbase(10) << " thrown in " << location << "."; - - return new std::string(message.GetString()); -} - -#endif // GTEST_HAS_SEH - namespace internal { #if GTEST_HAS_EXCEPTIONS @@ -2611,16 +2603,8 @@ #if GTEST_HAS_SEH __try { return (object->*method)(); - } __except (internal::UnitTestOptions::GTestShouldProcessSEH( // NOLINT - GetExceptionCode())) { - // We create the exception message on the heap because VC++ prohibits - // creation of objects with destructors on stack in functions using __try - // (see error C2712). - std::string* exception_message = - FormatSehExceptionMessage(GetExceptionCode(), location); - internal::ReportFailureInUnknownLocation(TestPartResult::kFatalFailure, - *exception_message); - delete exception_message; + } __except (internal::UnitTestOptions::GTestProcessSEH( // NOLINT + GetExceptionCode(), location)) { return static_cast(0); } #else @@ -3019,7 +3003,8 @@ internal::HandleExceptionsInMethodIfSupported( this, &TestSuite::RunSetUpTestSuite, "SetUpTestSuite()"); - const bool skip_all = ad_hoc_test_result().Failed(); + const bool skip_all = + ad_hoc_test_result().Failed() || ad_hoc_test_result().Skipped(); start_timestamp_ = internal::GetTimeInMillis(); internal::Timer timer; @@ -5155,8 +5140,8 @@ return repeater_->forwarding_enabled(); } -void TestEventListeners::SuppressEventForwarding() { - repeater_->set_forwarding_enabled(false); +void TestEventListeners::SuppressEventForwarding(bool suppress) { + repeater_->set_forwarding_enabled(!suppress); } // class UnitTest @@ -5634,7 +5619,7 @@ // subprocess. Must not be called before InitGoogleTest. void UnitTestImpl::SuppressTestEventsIfInSubprocess() { if (internal_run_death_test_flag_ != nullptr) - listeners()->SuppressEventForwarding(); + listeners()->SuppressEventForwarding(true); } #endif // GTEST_HAS_DEATH_TEST @@ -5654,8 +5639,10 @@ << output_format << "\" ignored."; } #else - GTEST_LOG_(ERROR) << "ERROR: alternative output formats require " - << "GTEST_HAS_FILE_SYSTEM to be enabled"; + if (!output_format.empty()) { + GTEST_LOG_(ERROR) << "ERROR: alternative output formats require " + << "GTEST_HAS_FILE_SYSTEM to be enabled"; + } #endif // GTEST_HAS_FILE_SYSTEM } diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-death-test.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-death-test.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-death-test.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-death-test.cc 2023-07-18 20:42:28.000000000 +0000 @@ -1128,7 +1128,7 @@ LogToStderr(); // Event forwarding to the listeners of event listener API mush be shut // down in death test subprocesses. - GetUnitTestImpl()->listeners()->SuppressEventForwarding(); + GetUnitTestImpl()->listeners()->SuppressEventForwarding(true); g_in_fast_death_test_child = true; return EXECUTE_TEST; } else { diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-filepath.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-filepath.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-filepath.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-filepath.cc 2023-07-18 20:42:28.000000000 +0000 @@ -102,7 +102,7 @@ #if defined(GTEST_OS_WINDOWS_MOBILE) || defined(GTEST_OS_WINDOWS_PHONE) || \ defined(GTEST_OS_WINDOWS_RT) || defined(GTEST_OS_ESP8266) || \ defined(GTEST_OS_ESP32) || defined(GTEST_OS_XTENSA) || \ - defined(GTEST_OS_QURT) + defined(GTEST_OS_QURT) || defined(GTEST_OS_NXP_QN9090) // These platforms do not have a current directory, so we just return // something reasonable. return FilePath(kCurrentDirectoryString); @@ -356,7 +356,7 @@ #elif defined(GTEST_OS_WINDOWS) int result = _mkdir(pathname_.c_str()); #elif defined(GTEST_OS_ESP8266) || defined(GTEST_OS_XTENSA) || \ - defined(GTEST_OS_QURT) + defined(GTEST_OS_QURT) || defined(GTEST_OS_NXP_QN9090) // do nothing int result = 0; #else diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-internal-inl.h dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-internal-inl.h --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-internal-inl.h 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-internal-inl.h 2023-07-18 20:42:28.000000000 +0000 @@ -387,10 +387,10 @@ #ifdef GTEST_OS_WINDOWS // Function for supporting the gtest_catch_exception flag. - // Returns EXCEPTION_EXECUTE_HANDLER if Google Test should handle the - // given SEH exception, or EXCEPTION_CONTINUE_SEARCH otherwise. + // Returns EXCEPTION_EXECUTE_HANDLER if given SEH exception was handled, or + // EXCEPTION_CONTINUE_SEARCH otherwise. // This function is useful as an __except condition. - static int GTestShouldProcessSEH(DWORD exception_code); + static int GTestProcessSEH(DWORD seh_code, const char* location); #endif // GTEST_OS_WINDOWS // Returns true if "name" matches the ':' separated list of glob-style @@ -672,7 +672,7 @@ void AddTestInfo(internal::SetUpTestSuiteFunc set_up_tc, internal::TearDownTestSuiteFunc tear_down_tc, TestInfo* test_info) { -#ifdef GTEST_HAS_DEATH_TEST +#ifdef GTEST_HAS_FILE_SYSTEM // In order to support thread-safe death tests, we need to // remember the original working directory when the test program // was first invoked. We cannot do this in RUN_ALL_TESTS(), as @@ -685,7 +685,7 @@ GTEST_CHECK_(!original_working_dir_.IsEmpty()) << "Failed to get the current working directory."; } -#endif // GTEST_HAS_DEATH_TEST +#endif // GTEST_HAS_FILE_SYSTEM GetTestSuite(test_info->test_suite_name(), test_info->type_param(), set_up_tc, tear_down_tc) diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-printers.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-printers.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-printers.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/src/gtest-printers.cc 2023-07-18 20:42:28.000000000 +0000 @@ -216,7 +216,7 @@ static const char* GetCharWidthPrefix(unsigned char) { return ""; } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t static const char* GetCharWidthPrefix(char8_t) { return "u8"; } #endif @@ -232,7 +232,7 @@ return PrintAsStringLiteralTo(ToChar32(c), os); } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t static CharFormat PrintAsStringLiteralTo(char8_t c, ostream* os) { return PrintAsStringLiteralTo(ToChar32(c), os); } @@ -395,7 +395,7 @@ UniversalPrintCharArray(begin, len, os); } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t // Prints a (const) char8_t array of 'len' elements, starting at address // 'begin'. void UniversalPrintArray(const char8_t* begin, size_t len, ostream* os) { @@ -438,7 +438,7 @@ void PrintTo(const char* s, ostream* os) { PrintCStringTo(s, os); } -#ifdef __cpp_char8_t +#ifdef __cpp_lib_char8_t void PrintTo(const char8_t* s, ostream* os) { PrintCStringTo(s, os); } #endif diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-catch-exceptions-test.py dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-catch-exceptions-test.py --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-catch-exceptions-test.py 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-catch-exceptions-test.py 2023-07-18 20:42:28.000000000 +0000 @@ -297,10 +297,10 @@ def testUnhandledCxxExceptionsAbortTheProgram(self): # Filters out SEH exception tests on Windows. Unhandled SEH exceptions # cause tests to show pop-up windows there. - FITLER_OUT_SEH_TESTS_FLAG = FILTER_FLAG + '=-*Seh*' + filter_out_seh_tests_flag = FILTER_FLAG + '=-*Seh*' # By default, Google Test doesn't catch the exceptions. uncaught_exceptions_ex_binary_output = gtest_test_utils.Subprocess( - [EX_EXE_PATH, NO_CATCH_EXCEPTIONS_FLAG, FITLER_OUT_SEH_TESTS_FLAG], + [EX_EXE_PATH, NO_CATCH_EXCEPTIONS_FLAG, filter_out_seh_tests_flag], env=environ, ).output diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test_.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test_.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test_.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test_.cc 2023-07-18 20:42:28.000000000 +0000 @@ -1007,6 +1007,12 @@ }; TEST_F(TestSuiteThatFailsToSetUp, ShouldNotRun) { std::abort(); } +class TestSuiteThatSkipsInSetUp : public testing::Test { + public: + static void SetUpTestSuite() { GTEST_SKIP() << "Skip entire test suite"; } +}; +TEST_F(TestSuiteThatSkipsInSetUp, ShouldNotRun) { std::abort(); } + // The main function. // // The idea is to use Google Test to run all the tests we have defined (some diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test-golden-lin.txt dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test-golden-lin.txt --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test-golden-lin.txt 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/googletest-output-test-golden-lin.txt 2023-07-18 20:42:28.000000000 +0000 @@ -12,7 +12,7 @@ 3 Stack trace: (omitted) -[==========] Running 89 tests from 42 test suites. +[==========] Running 90 tests from 43 test suites. [----------] Global test environment set-up. FooEnvironment::SetUp() called. BarEnvironment::SetUp() called. @@ -967,6 +967,15 @@ googletest-output-test_.cc:#: Skipped [ SKIPPED ] TestSuiteThatFailsToSetUp.ShouldNotRun +[----------] 1 test from TestSuiteThatSkipsInSetUp +googletest-output-test_.cc:#: Skipped +Skip entire test suite +Stack trace: (omitted) + +[ RUN ] TestSuiteThatSkipsInSetUp.ShouldNotRun +googletest-output-test_.cc:#: Skipped + +[ SKIPPED ] TestSuiteThatSkipsInSetUp.ShouldNotRun [----------] 1 test from PrintingFailingParams/FailingParamTest [ RUN ] PrintingFailingParams/FailingParamTest.Fails/0 googletest-output-test_.cc:#: Failure @@ -1043,10 +1052,11 @@ Expected fatal failure. Stack trace: (omitted) -[==========] 89 tests from 42 test suites ran. +[==========] 90 tests from 43 test suites ran. [ PASSED ] 31 tests. -[ SKIPPED ] 1 test, listed below: +[ SKIPPED ] 2 tests, listed below: [ SKIPPED ] TestSuiteThatFailsToSetUp.ShouldNotRun +[ SKIPPED ] TestSuiteThatSkipsInSetUp.ShouldNotRun [ FAILED ] 57 tests, listed below: [ FAILED ] NonfatalFailureTest.EscapesStringOperands [ FAILED ] NonfatalFailureTest.DiffForLongStrings diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/gtest_unittest.cc dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/gtest_unittest.cc --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/googletest/test/gtest_unittest.cc 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/googletest/test/gtest_unittest.cc 2023-07-18 20:42:28.000000000 +0000 @@ -67,11 +67,27 @@ #include #include #include +#include #include #include "gtest/gtest-spi.h" #include "src/gtest-internal-inl.h" +struct ConvertibleGlobalType { + // The inner enable_if is to ensure invoking is_constructible doesn't fail. + // The outer enable_if is to ensure the overload resolution doesn't encounter + // an ambiguity. + template < + class T, + std::enable_if_t< + false, std::enable_if_t::value, int>> = 0> + operator T() const; // NOLINT(google-explicit-constructor) +}; +void operator<<(ConvertibleGlobalType&, int); +static_assert(sizeof(decltype(std::declval() + << 1)(*)()) > 0, + "error in operator<< overload resolution"); + namespace testing { namespace internal { @@ -173,7 +189,7 @@ } static void SuppressEventForwarding(TestEventListeners* listeners) { - listeners->SuppressEventForwarding(); + listeners->SuppressEventForwarding(true); } }; diff -Nru dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/README.md dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/README.md --- dotnet6-6.0.120/src/aspnetcore/src/submodules/googletest/README.md 2023-06-23 18:44:37.000000000 +0000 +++ dotnet6-6.0.121/src/aspnetcore/src/submodules/googletest/README.md 2023-07-18 20:42:28.000000000 +0000 @@ -27,8 +27,8 @@ #### Continuous Integration We use Google's internal systems for continuous integration. \ -GitHub Actions were added for the convenience of open source contributors. They -are exclusively maintained by the open source community and not used by the +GitHub Actions were added for the convenience of open-source contributors. They +are exclusively maintained by the open-source community and not used by the GoogleTest team. #### Coming Soon @@ -52,40 +52,39 @@ More information about building GoogleTest can be found at [googletest/README.md](googletest/README.md). -| Feature | Description | -| ---------------------------- | --------------------------------------------- | -| xUnit test framework | Googletest is based on the | -: : [xUnit](https\://en.wikipedia.org/wiki/XUnit) : -: : testing framework, a popular architecture for : -: : unit testing : -| Test discovery | Googletest automatically discovers and runs | -: : your tests, eliminating the need to manually : -: : register your tests : -| Rich set of assertions | Googletest provides a variety of assertions, | -: : such as equality, inequality, exceptions, and : -: : more, making it easy to test your code : -| User-defined assertions | You can define your own assertions with | -: : Googletest, making it simple to write tests : -: : that are specific to your code : -| Death tests | Googletest supports death tests, which verify | -: : that your code exits in a certain way, making : -: : it useful for testing error-handling code : -| Fatal and non-fatal failures | You can specify whether a test failure should | -: : be treated as fatal or non-fatal with : -: : Googletest, allowing tests to continue : -: : running even if a failure occurs : -| Value-parameterized tests | Googletest supports value-parameterized | -: : tests, which run multiple times with : -: : different input values, making it useful for : -: : testing functions that take different inputs : -| Type-parameterized tests | Googletest also supports type-parameterized | -: : tests, which run with different data types, : -: : making it useful for testing functions that : -: : work with different data types : -| Various options for running | Googletest provides many options for running | -: tests : tests, including running individual tests, : -: : running tests in a specific order, and : -: : running tests in parallel : +## Features + +* xUnit test framework: \ + Googletest is based on the [xUnit](https://en.wikipedia.org/wiki/XUnit) + testing framework, a popular architecture for unit testing +* Test discovery: \ + Googletest automatically discovers and runs your tests, eliminating the need + to manually register your tests +* Rich set of assertions: \ + Googletest provides a variety of assertions, such as equality, inequality, + exceptions, and more, making it easy to test your code +* User-defined assertions: \ + You can define your own assertions with Googletest, making it simple to + write tests that are specific to your code +* Death tests: \ + Googletest supports death tests, which verify that your code exits in a + certain way, making it useful for testing error-handling code +* Fatal and non-fatal failures: \ + You can specify whether a test failure should be treated as fatal or + non-fatal with Googletest, allowing tests to continue running even if a + failure occurs +* Value-parameterized tests: \ + Googletest supports value-parameterized tests, which run multiple times with + different input values, making it useful for testing functions that take + different inputs +* Type-parameterized tests: \ + Googletest also supports type-parameterized tests, which run with different + data types, making it useful for testing functions that work with different + data types +* Various options for running tests: \ + Googletest provides many options for running tests including running + individual tests, running tests in a specific order and running tests in + parallel ## Supported Platforms @@ -93,7 +92,7 @@ [Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) -for a list of currently supported versions compilers, platforms, and build +for a list of currently supported versions of compilers, platforms, and build tools. ## Who Is Using GoogleTest? Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/clicommandlineparser/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/clicommandlineparser/.git/index differ diff -Nru dotnet6-6.0.120/src/clicommandlineparser/.git/logs/HEAD dotnet6-6.0.121/src/clicommandlineparser/.git/logs/HEAD --- dotnet6-6.0.120/src/clicommandlineparser/.git/logs/HEAD 2023-06-23 18:45:41.000000000 +0000 +++ dotnet6-6.0.121/src/clicommandlineparser/.git/logs/HEAD 2023-07-18 20:43:40.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 3198bf5660cad3dab85f5475bf1fda9688146e3f cloudtest_azpcontainer 1687545941 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 3198bf5660cad3dab85f5475bf1fda9688146e3f cloudtest_azpcontainer 1689713020 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/clicommandlineparser/.git/logs/refs/heads/master dotnet6-6.0.121/src/clicommandlineparser/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/clicommandlineparser/.git/logs/refs/heads/master 2023-06-23 18:45:41.000000000 +0000 +++ dotnet6-6.0.121/src/clicommandlineparser/.git/logs/refs/heads/master 2023-07-18 20:43:40.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 3198bf5660cad3dab85f5475bf1fda9688146e3f cloudtest_azpcontainer 1687545941 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 3198bf5660cad3dab85f5475bf1fda9688146e3f cloudtest_azpcontainer 1689713020 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/command-line-api/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/command-line-api/.git/index differ diff -Nru dotnet6-6.0.120/src/command-line-api/.git/logs/HEAD dotnet6-6.0.121/src/command-line-api/.git/logs/HEAD --- dotnet6-6.0.120/src/command-line-api/.git/logs/HEAD 2023-06-23 18:44:47.000000000 +0000 +++ dotnet6-6.0.121/src/command-line-api/.git/logs/HEAD 2023-07-18 20:42:39.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 82273cb56c83b589e8e5b63da0ac9745ffc6e105 cloudtest_azpcontainer 1687545887 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 82273cb56c83b589e8e5b63da0ac9745ffc6e105 cloudtest_azpcontainer 1689712959 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/command-line-api/.git/logs/refs/heads/master dotnet6-6.0.121/src/command-line-api/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/command-line-api/.git/logs/refs/heads/master 2023-06-23 18:44:47.000000000 +0000 +++ dotnet6-6.0.121/src/command-line-api/.git/logs/refs/heads/master 2023-07-18 20:42:39.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 82273cb56c83b589e8e5b63da0ac9745ffc6e105 cloudtest_azpcontainer 1687545887 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 82273cb56c83b589e8e5b63da0ac9745ffc6e105 cloudtest_azpcontainer 1689712959 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/deployment-tools/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/deployment-tools/.git/index differ diff -Nru dotnet6-6.0.120/src/deployment-tools/.git/logs/HEAD dotnet6-6.0.121/src/deployment-tools/.git/logs/HEAD --- dotnet6-6.0.120/src/deployment-tools/.git/logs/HEAD 2023-06-23 18:45:43.000000000 +0000 +++ dotnet6-6.0.121/src/deployment-tools/.git/logs/HEAD 2023-07-18 20:43:41.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 cloudtest_azpcontainer 1687545943 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 cloudtest_azpcontainer 1689713021 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/deployment-tools/.git/logs/refs/heads/master dotnet6-6.0.121/src/deployment-tools/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/deployment-tools/.git/logs/refs/heads/master 2023-06-23 18:45:43.000000000 +0000 +++ dotnet6-6.0.121/src/deployment-tools/.git/logs/refs/heads/master 2023-07-18 20:43:41.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 cloudtest_azpcontainer 1687545943 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 cloudtest_azpcontainer 1689713021 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/diagnostics/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/diagnostics/.git/index differ diff -Nru dotnet6-6.0.120/src/diagnostics/.git/logs/HEAD dotnet6-6.0.121/src/diagnostics/.git/logs/HEAD --- dotnet6-6.0.120/src/diagnostics/.git/logs/HEAD 2023-06-23 18:45:45.000000000 +0000 +++ dotnet6-6.0.121/src/diagnostics/.git/logs/HEAD 2023-07-18 20:43:43.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1 cloudtest_azpcontainer 1687545945 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1 cloudtest_azpcontainer 1689713023 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/diagnostics/.git/logs/refs/heads/master dotnet6-6.0.121/src/diagnostics/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/diagnostics/.git/logs/refs/heads/master 2023-06-23 18:45:45.000000000 +0000 +++ dotnet6-6.0.121/src/diagnostics/.git/logs/refs/heads/master 2023-07-18 20:43:43.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1 cloudtest_azpcontainer 1687545945 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1 cloudtest_azpcontainer 1689713023 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/format/Directory.Packages.props dotnet6-6.0.121/src/format/Directory.Packages.props --- dotnet6-6.0.120/src/format/Directory.Packages.props 2023-06-23 18:44:44.000000000 +0000 +++ dotnet6-6.0.121/src/format/Directory.Packages.props 2023-07-18 20:42:36.000000000 +0000 @@ -35,5 +35,6 @@ + \ No newline at end of file diff -Nru dotnet6-6.0.120/src/format/eng/Version.Details.xml dotnet6-6.0.121/src/format/eng/Version.Details.xml --- dotnet6-6.0.120/src/format/eng/Version.Details.xml 2023-06-23 18:44:44.000000000 +0000 +++ dotnet6-6.0.121/src/format/eng/Version.Details.xml 2023-07-18 20:42:36.000000000 +0000 @@ -13,6 +13,10 @@ https://github.com/dotnet/command-line-api 82273cb56c83b589e8e5b63da0ac9745ffc6e105 + + https://github.com/dotnet/runtime + 3241df7f2b0f3e2dada8d07229723c79fdbe4991 + diff -Nru dotnet6-6.0.120/src/format/eng/Versions.props dotnet6-6.0.121/src/format/eng/Versions.props --- dotnet6-6.0.120/src/format/eng/Versions.props 2023-06-23 18:44:44.000000000 +0000 +++ dotnet6-6.0.121/src/format/eng/Versions.props 2023-07-18 20:42:36.000000000 +0000 @@ -21,6 +21,8 @@ 2.0.0-beta1.21473.1 0.3.0-alpha.21473.1 + + 6.0.8 + Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/fsharp/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/fsharp/.git/index differ diff -Nru dotnet6-6.0.120/src/fsharp/.git/logs/HEAD dotnet6-6.0.121/src/fsharp/.git/logs/HEAD --- dotnet6-6.0.120/src/fsharp/.git/logs/HEAD 2023-06-23 18:44:51.000000000 +0000 +++ dotnet6-6.0.121/src/fsharp/.git/logs/HEAD 2023-07-18 20:42:43.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 6d626ff0752a77d339f609b4d361787dc9ca93a5 cloudtest_azpcontainer 1687545891 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 6d626ff0752a77d339f609b4d361787dc9ca93a5 cloudtest_azpcontainer 1689712963 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/fsharp/.git/logs/refs/heads/master dotnet6-6.0.121/src/fsharp/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/fsharp/.git/logs/refs/heads/master 2023-06-23 18:44:51.000000000 +0000 +++ dotnet6-6.0.121/src/fsharp/.git/logs/refs/heads/master 2023-07-18 20:42:43.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 6d626ff0752a77d339f609b4d361787dc9ca93a5 cloudtest_azpcontainer 1687545891 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 6d626ff0752a77d339f609b4d361787dc9ca93a5 cloudtest_azpcontainer 1689712963 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/installer/eng/Version.Details.xml dotnet6-6.0.121/src/installer/eng/Version.Details.xml --- dotnet6-6.0.120/src/installer/eng/Version.Details.xml 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/eng/Version.Details.xml 2023-07-18 20:41:56.000000000 +0000 @@ -1,46 +1,46 @@ - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d @@ -52,30 +52,30 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime a08d9ce2caf02455c0b825bcdc32974bdf769a80 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace https://github.com/dotnet/test-templates @@ -90,36 +90,36 @@ c40ef7e056b48e011c43a21354d6790ba6b8b4fc - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-sdk - 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 + 1f77c362a752e25c643140f014af4ee0a05fce4b - + https://dev.azure.com/dnceng/internal/_git/dotnet-sdk - 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 + 1f77c362a752e25c643140f014af4ee0a05fce4b - + https://dev.azure.com/dnceng/internal/_git/dotnet-winforms - 7f67c1539dcfa02ef740306820b44a713bdcb525 + 052009561f916cf06df82d89297ae3ed66cf5d2f - + https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 0a2507dd214349c40c4f1e9aba2ce6a91e8675a8 + fa467fd679da61d9e429ce2654ef63766afcd7f5 https://github.com/dotnet/fsharp @@ -166,9 +166,9 @@ 698fdad58fa64a55f16cd9562c90224cc498ed02 - + https://github.com/dotnet/emsdk - 6c7f38c614304c93cd392907df7d5e770d5cf7f1 + 60d640a5c1025d1e9e89188cabe41e692d0f5468 https://github.com/dotnet/source-build @@ -197,19 +197,19 @@ - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 https://github.com/dotnet/source-build-reference-packages diff -Nru dotnet6-6.0.120/src/installer/eng/Versions.props dotnet6-6.0.121/src/installer/eng/Versions.props --- dotnet6-6.0.120/src/installer/eng/Versions.props 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/eng/Versions.props 2023-07-18 20:41:56.000000000 +0000 @@ -8,7 +8,7 @@ 6 0 1 - 20 + 21 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) servicing $(VersionMajor).$(VersionMinor) @@ -19,19 +19,19 @@ - 6.0.0-beta.23313.5 + 6.0.0-beta.23361.3 - 6.0.20-servicing.23321.4 + 6.0.21-servicing.23364.6 - 6.0.20-servicing.23321.8 + 6.0.21-servicing.23364.5 - 6.0.120 + 6.0.121 @@ -44,20 +44,20 @@ - 6.0.20 - 6.0.20 - 6.0.20-servicing.23321.6 - 6.0.20-servicing.23321.6 - 6.0.20-servicing.23321.6 - 6.0.20-servicing.23321.6 + 6.0.21 + 6.0.21 + 6.0.21-servicing.23364.38 + 6.0.21-servicing.23364.38 + 6.0.21-servicing.23364.38 + 6.0.21-servicing.23364.38 0.2.0 - 6.0.120-servicing.23322.14 - 6.0.120-servicing.23322.14 + 6.0.121-servicing.23367.13 + 6.0.121-servicing.23367.13 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) @@ -68,20 +68,20 @@ - 6.0.20-servicing.23320.17 - 6.0.20-servicing.23320.17 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 + 6.0.21-servicing.23363.11 + 6.0.21-servicing.23363.11 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 2.1.0 - 6.0.20-servicing.23321.10 - 6.0.20-servicing.23321.10 - 6.0.20 - 6.0.20 + 6.0.21-servicing.23367.3 + 6.0.21-servicing.23367.3 + 6.0.21 + 6.0.21 @@ -115,7 +115,7 @@ $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(NUnit3DotNetNewTemplatePackageVersion) $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - 6.0.120 + 6.0.121 $(MicrosoftAspNetCoreAppRuntimePackageVersion) $(MicrosoftWinFormsProjectTemplates50PackageVersion) @@ -174,7 +174,7 @@ or minor release, prebuilts may be needed. When the release is mature, prebuilts are not necessary, and this property is removed from the file. --> - 6.0.119 + 6.0.120 @@ -185,7 +185,7 @@ 12.0.101-preview.9.31 15.0.101-preview.9.31 $(MicrosoftNETCoreAppRefPackageVersion) - 6.0.20 + 6.0.21 $(MicrosoftNETWorkloadEmscriptenManifest60100Version) diff -Nru dotnet6-6.0.120/src/installer/.git/HEAD dotnet6-6.0.121/src/installer/.git/HEAD --- dotnet6-6.0.120/src/installer/.git/HEAD 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/.git/HEAD 2023-07-18 20:41:56.000000000 +0000 @@ -1 +1 @@ -d63b17be66f766a5381950bce677884e4e3bb5b6 +b0dda375d13513f4b0db90517ff4408e05eb68a4 Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/installer/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/installer/.git/index differ diff -Nru dotnet6-6.0.120/src/installer/.git/logs/HEAD dotnet6-6.0.121/src/installer/.git/logs/HEAD --- dotnet6-6.0.120/src/installer/.git/logs/HEAD 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/.git/logs/HEAD 2023-07-18 20:41:56.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 d63b17be66f766a5381950bce677884e4e3bb5b6 cloudtest_azpcontainer 1687545849 +0000 clone: from /__w/1/s/./.git +0000000000000000000000000000000000000000 b0dda375d13513f4b0db90517ff4408e05eb68a4 cloudtest_azpcontainer 1689712916 +0000 clone: from /__w/1/s/./.git diff -Nru dotnet6-6.0.120/src/installer/.git/ORIG_HEAD dotnet6-6.0.121/src/installer/.git/ORIG_HEAD --- dotnet6-6.0.120/src/installer/.git/ORIG_HEAD 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/.git/ORIG_HEAD 2023-07-18 20:41:56.000000000 +0000 @@ -1 +1 @@ -d63b17be66f766a5381950bce677884e4e3bb5b6 +b0dda375d13513f4b0db90517ff4408e05eb68a4 diff -Nru dotnet6-6.0.120/src/installer/.git/packed-refs dotnet6-6.0.121/src/installer/.git/packed-refs --- dotnet6-6.0.120/src/installer/.git/packed-refs 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/.git/packed-refs 2023-07-18 20:41:56.000000000 +0000 @@ -120,6 +120,7 @@ b605cc131fcdef9956ddefe092069c57938a98db refs/tags/v6.0.116 b8b476fbe60becae6d0c3d36b7ba964aeee3523d refs/tags/v6.0.118 044cde2ce094aec972314deb9e1c92129b7947b9 refs/tags/v6.0.119 +d63b17be66f766a5381950bce677884e4e3bb5b6 refs/tags/v6.0.120 58f9685dd51d3473c89aabfab15d8550aac62638 refs/tags/v6.0.200 8473cb69cb1b97a8da37c9905e4e045147012423 refs/tags/v6.0.200-preview ^58f9685dd51d3473c89aabfab15d8550aac62638 @@ -145,6 +146,7 @@ 4985279bcb64c58fee0be4c2bef6c0f02bb130aa refs/tags/v6.0.313 dee8c5a14265ee5d203582125a089ad710b055ee refs/tags/v6.0.314 ^fd5abc11524679fee2517defc8791bf0a9008969 +2282fe998c54635c744653971f1903f98a33d49b refs/tags/v6.0.315 7771abd614f31fa87deb013fdde3e590495a0c56 refs/tags/v6.0.400 0906eae6f8c72882c197e346b9125f0b69c4b3a7 refs/tags/v6.0.401 68624187969147694f78da1cc12444330b06fb1d refs/tags/v6.0.402 @@ -157,6 +159,7 @@ 28c7c894a318575fbc2f290db2c5b0d95bf1fc60 refs/tags/v6.0.410 83177b8c92cc8b099fe10e388c7a5a57cb7f8895 refs/tags/v6.0.411 ^715c117d37f790c4420b2a11423af4ae0a7c8893 +ee124f7fe1946ba82febd79ef25c3040de461d3a refs/tags/v6.0.412 129d2465c8ef2147252af2d5395fb6bf85a7e40e refs/tags/v7.0.100-preview.1.22110.4 9c52c56c13fa4cb199ccbe1f00dddc6e7cd5f2d7 refs/tags/v7.0.100-preview.2.22153.17 c48f2c30ee2128e0961219bbf1f4babd00a9ada6 refs/tags/v7.0.100-preview.3.22179.4 @@ -180,6 +183,7 @@ e1bc5e001c9b8e87d9f99e06eb7dbf04c508f450 refs/tags/v7.0.105 bf72c06963e2bb23c1abfd97a9ed50e47e155027 refs/tags/v7.0.107 31ced64b58ad86bb12d655ab9f8f4ac213459339 refs/tags/v7.0.108 +3e9283a8e906761fcf9973c0007a75c0eb20baea refs/tags/v7.0.109 534117727ba029772571b09ac6012956e605949b refs/tags/v7.0.200 68f2d7e7a3c55365f4ee48f10495616f6c0651e7 refs/tags/v7.0.201 6c74320bc3ea80d03493a069e4c424b19a5a1983 refs/tags/v7.0.202 @@ -188,9 +192,11 @@ 7e794e2806b712f07d9e4c18aa6cfc8b9249e2fa refs/tags/v7.0.304 c85bb512eca4d9844e3c27bcb84b7b13b7e21825 refs/tags/v7.0.305 ^98e1b6c38143f69c14ca5642ff28154a076abde6 +f500069cb7cdd01b435961287361b9ad21203c67 refs/tags/v7.0.306 913e4679b3ea675f3ca06fd3504d05d034c82aa6 refs/tags/v8.0.100-preview.1.23115.2 54801b24350f51a2e62845b1f5db36fffd976591 refs/tags/v8.0.100-preview.2.23157.25 d06cc8145301911e20322ebc401f2adc0d9f40a4 refs/tags/v8.0.100-preview.3.23178.7 ^e300b0e1e69aa8823e755845759f05ce9edcf2bd 2268e7b15cefbc0fe34d3def28448e301cca306b refs/tags/v8.0.100-preview.4.23260.5 3fe444af72d2826af5d943db4169590006d4a46f refs/tags/v8.0.100-preview.5.23303.2 +ba97796b8ff4bb96d44c76e613bf998349612f62 refs/tags/v8.0.100-preview.6.23330.14 diff -Nru dotnet6-6.0.120/src/installer/global.json dotnet6-6.0.121/src/installer/global.json --- dotnet6-6.0.120/src/installer/global.json 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/global.json 2023-07-18 20:41:56.000000000 +0000 @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.119", + "dotnet": "6.0.120", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" @@ -11,7 +11,7 @@ "cmake": "3.16.4" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23313.5", - "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23313.5" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23361.3", + "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23361.3" } } diff -Nru dotnet6-6.0.120/src/installer/NuGet.config dotnet6-6.0.121/src/installer/NuGet.config --- dotnet6-6.0.120/src/installer/NuGet.config 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/NuGet.config 2023-07-18 20:41:56.000000000 +0000 @@ -7,21 +7,21 @@ - + - + - + - + - + @@ -42,17 +42,17 @@ - + - + - + - + diff -Nru dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/build.proj dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/build.proj --- dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/build.proj 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/build.proj 2023-07-18 20:41:56.000000000 +0000 @@ -134,7 +134,7 @@ - $(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).tar.gz + $(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).$(TargetRid).tar.gz $(SmokeTestsArtifactsDir)prereq-packages/ @@ -190,7 +190,7 @@ - $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).$(BuildArchitecture).tar.gz + $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).$(TargetRid).tar.gz $(ResultingPrebuiltPackagesDir) diff -Nru dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/global.json dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/global.json --- dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/global.json 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/global.json 2023-07-18 20:41:56.000000000 +0000 @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.119" + "dotnet": "6.0.120" }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", diff -Nru dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/repos/package-source-build.proj dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/repos/package-source-build.proj --- dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/repos/package-source-build.proj 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/repos/package-source-build.proj 2023-07-18 20:41:56.000000000 +0000 @@ -47,7 +47,7 @@ Directories="$(SourceBuildReferencePackagesDestination)extractArtifacts/" /> - $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz + $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).$(TargetRid).tar.gz diff -Nru dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff --- dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff 2023-07-18 20:41:56.000000000 +0000 @@ -14,20 +14,7 @@ ./packs/Microsoft.AspNetCore.App.Ref/ ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ @@ ------------ @@ - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.JSInterop.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.Net.Http.Headers.dll - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.Net.Http.Headers.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.DiagnosticSource.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.DiagnosticSource.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.EventLog.dll - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.EventLog.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Formats.Asn1.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Formats.Asn1.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.IO.Pipelines.dll ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.IO.Pipelines.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Runtime.CompilerServices.Unsafe.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.xml ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.dll ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.xml -./packs/Microsoft.NETCore.App.Host.portable-rid/ @@ -42,10 +29,6 @@ -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/libnethost.so -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/nethost.h -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/singlefilehost -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.xml +./packs/Microsoft.NETCore.App.Host.banana-rid/ +./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/ +./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/ diff -Nru dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch --- dotnet6-6.0.120/src/installer/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/installer/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch 2023-07-18 20:41:56.000000000 +0000 @@ -0,0 +1,73 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nikola Milosavljevic +Date: Mon, 26 Jun 2023 23:46:46 +0000 +Subject: [PATCH] Add explicit System.Text.Json dependency + +Adding an excplicit System.Text.Json dependency to prevent transitive dependency to be picked up +from PSB, via Microsoft.Build package. + +Backport: https://github.com/dotnet/format/pull/1887 +--- + Directory.Packages.props | 1 + + eng/Version.Details.xml | 4 ++++ + eng/Versions.props | 2 ++ + src/dotnet-format.csproj | 6 ++++++ + 4 files changed, 13 insertions(+) + +diff --git a/Directory.Packages.props b/Directory.Packages.props +index 6b628c22..c9f86593 100644 +--- a/Directory.Packages.props ++++ b/Directory.Packages.props +@@ -36,5 +36,6 @@ + + + ++ + + +\ No newline at end of file +diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml +index cdfa5f5e..86f02b44 100644 +--- a/eng/Version.Details.xml ++++ b/eng/Version.Details.xml +@@ -13,6 +13,10 @@ + https://github.com/dotnet/command-line-api + 82273cb56c83b589e8e5b63da0ac9745ffc6e105 + ++ ++ https://github.com/dotnet/runtime ++ 3241df7f2b0f3e2dada8d07229723c79fdbe4991 ++ + + + +diff --git a/eng/Versions.props b/eng/Versions.props +index 27582078..bccaf176 100644 +--- a/eng/Versions.props ++++ b/eng/Versions.props +@@ -20,6 +20,8 @@ + + 2.0.0-beta1.21473.1 + 0.3.0-alpha.21473.1 ++ ++ 6.0.8 + + ++ + + + Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/linker/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/linker/.git/index differ diff -Nru dotnet6-6.0.120/src/linker/.git/logs/HEAD dotnet6-6.0.121/src/linker/.git/logs/HEAD --- dotnet6-6.0.120/src/linker/.git/logs/HEAD 2023-06-23 18:44:55.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/logs/HEAD 2023-07-18 20:42:46.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 d0662ed8db919642177ddfd06a1c33895a69015f cloudtest_azpcontainer 1687545895 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 d0662ed8db919642177ddfd06a1c33895a69015f cloudtest_azpcontainer 1689712966 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/linker/.git/logs/refs/heads/master dotnet6-6.0.121/src/linker/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/linker/.git/logs/refs/heads/master 2023-06-23 18:44:55.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/logs/refs/heads/master 2023-07-18 20:42:46.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 d0662ed8db919642177ddfd06a1c33895a69015f cloudtest_azpcontainer 1687545895 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 d0662ed8db919642177ddfd06a1c33895a69015f cloudtest_azpcontainer 1689712966 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/linker/.git/modules/cecil/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/linker/.git/modules/cecil/index differ diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/HEAD dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/HEAD --- dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/HEAD 2023-06-23 18:44:57.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/HEAD 2023-07-18 20:42:50.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 f449dc99239d16ed4d329207101244e8438e6d3d cloudtest_azpcontainer 1687545896 +0000 clone: from https://github.com/mono/cecil.git -f449dc99239d16ed4d329207101244e8438e6d3d 3bef7fc7b7910f826790ebfeccb381b76a650571 cloudtest_azpcontainer 1687545897 +0000 checkout: moving from main to 3bef7fc7b7910f826790ebfeccb381b76a650571 +0000000000000000000000000000000000000000 a994a9fa0165af616cf21b3d418d70387c4bd8ff cloudtest_azpcontainer 1689712968 +0000 clone: from https://github.com/mono/cecil.git +a994a9fa0165af616cf21b3d418d70387c4bd8ff 3bef7fc7b7910f826790ebfeccb381b76a650571 cloudtest_azpcontainer 1689712970 +0000 checkout: moving from main to 3bef7fc7b7910f826790ebfeccb381b76a650571 diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/refs/heads/main dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/refs/heads/main --- dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/refs/heads/main 2023-06-23 18:44:56.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/refs/heads/main 2023-07-18 20:42:48.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 f449dc99239d16ed4d329207101244e8438e6d3d cloudtest_azpcontainer 1687545896 +0000 clone: from https://github.com/mono/cecil.git +0000000000000000000000000000000000000000 a994a9fa0165af616cf21b3d418d70387c4bd8ff cloudtest_azpcontainer 1689712968 +0000 clone: from https://github.com/mono/cecil.git diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/linker/.git/modules/cecil/logs/refs/remotes/origin/HEAD 2023-06-23 18:44:56.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/logs/refs/remotes/origin/HEAD 2023-07-18 20:42:48.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 f449dc99239d16ed4d329207101244e8438e6d3d cloudtest_azpcontainer 1687545896 +0000 clone: from https://github.com/mono/cecil.git +0000000000000000000000000000000000000000 a994a9fa0165af616cf21b3d418d70387c4bd8ff cloudtest_azpcontainer 1689712968 +0000 clone: from https://github.com/mono/cecil.git diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/packed-refs dotnet6-6.0.121/src/linker/.git/modules/cecil/packed-refs --- dotnet6-6.0.120/src/linker/.git/modules/cecil/packed-refs 2023-06-23 18:44:56.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/packed-refs 2023-07-18 20:42:48.000000000 +0000 @@ -1,2 +1,2 @@ # pack-refs with: peeled fully-peeled sorted -f449dc99239d16ed4d329207101244e8438e6d3d refs/remotes/origin/main +a994a9fa0165af616cf21b3d418d70387c4bd8ff refs/remotes/origin/main diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/refs/heads/main dotnet6-6.0.121/src/linker/.git/modules/cecil/refs/heads/main --- dotnet6-6.0.120/src/linker/.git/modules/cecil/refs/heads/main 2023-06-23 18:44:56.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/refs/heads/main 2023-07-18 20:42:48.000000000 +0000 @@ -1 +1 @@ -f449dc99239d16ed4d329207101244e8438e6d3d +a994a9fa0165af616cf21b3d418d70387c4bd8ff diff -Nru dotnet6-6.0.120/src/linker/.git/modules/cecil/shallow dotnet6-6.0.121/src/linker/.git/modules/cecil/shallow --- dotnet6-6.0.120/src/linker/.git/modules/cecil/shallow 2023-06-23 18:44:57.000000000 +0000 +++ dotnet6-6.0.121/src/linker/.git/modules/cecil/shallow 2023-07-18 20:42:50.000000000 +0000 @@ -1,2 +1,2 @@ 3bef7fc7b7910f826790ebfeccb381b76a650571 -f449dc99239d16ed4d329207101244e8438e6d3d +a994a9fa0165af616cf21b3d418d70387c4bd8ff Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/msbuild/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/msbuild/.git/index differ diff -Nru dotnet6-6.0.120/src/msbuild/.git/logs/HEAD dotnet6-6.0.121/src/msbuild/.git/logs/HEAD --- dotnet6-6.0.120/src/msbuild/.git/logs/HEAD 2023-06-23 18:45:14.000000000 +0000 +++ dotnet6-6.0.121/src/msbuild/.git/logs/HEAD 2023-07-18 20:43:14.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 b177f8fa703370c80b2e56469208c2bb099efba0 cloudtest_azpcontainer 1687545914 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 b177f8fa703370c80b2e56469208c2bb099efba0 cloudtest_azpcontainer 1689712994 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/msbuild/.git/logs/refs/heads/master dotnet6-6.0.121/src/msbuild/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/msbuild/.git/logs/refs/heads/master 2023-06-23 18:45:14.000000000 +0000 +++ dotnet6-6.0.121/src/msbuild/.git/logs/refs/heads/master 2023-07-18 20:43:14.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 b177f8fa703370c80b2e56469208c2bb099efba0 cloudtest_azpcontainer 1687545914 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 b177f8fa703370c80b2e56469208c2bb099efba0 cloudtest_azpcontainer 1689712994 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/nuget-client/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/nuget-client/.git/index differ diff -Nru dotnet6-6.0.120/src/nuget-client/.git/logs/HEAD dotnet6-6.0.121/src/nuget-client/.git/logs/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/logs/HEAD 2023-06-23 18:45:19.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/logs/HEAD 2023-07-18 20:43:17.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7fe6b814c901490292f02d8ea12749505fbb959a cloudtest_azpcontainer 1687545919 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7fe6b814c901490292f02d8ea12749505fbb959a cloudtest_azpcontainer 1689712997 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/nuget-client/.git/logs/refs/heads/master dotnet6-6.0.121/src/nuget-client/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/nuget-client/.git/logs/refs/heads/master 2023-06-23 18:45:19.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/logs/refs/heads/master 2023-07-18 20:43:17.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7fe6b814c901490292f02d8ea12749505fbb959a cloudtest_azpcontainer 1687545919 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7fe6b814c901490292f02d8ea12749505fbb959a cloudtest_azpcontainer 1689712997 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/index differ diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/HEAD 2023-06-23 18:45:24.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/HEAD 2023-07-18 20:43:22.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 52ebc1b123613254f9dfe250515027c1332fba35 cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/aspnet/Common.git -52ebc1b123613254f9dfe250515027c1332fba35 e6fac8061686c18531e2621ccef97dd5e0687a65 cloudtest_azpcontainer 1687545924 +0000 checkout: moving from main to e6fac8061686c18531e2621ccef97dd5e0687a65 +0000000000000000000000000000000000000000 32d071f21df4252f8e752e0db5c7018d932884b3 cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/aspnet/Common.git +32d071f21df4252f8e752e0db5c7018d932884b3 e6fac8061686c18531e2621ccef97dd5e0687a65 cloudtest_azpcontainer 1689713002 +0000 checkout: moving from main to e6fac8061686c18531e2621ccef97dd5e0687a65 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/refs/heads/main dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/refs/heads/main --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/refs/heads/main 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/refs/heads/main 2023-07-18 20:43:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 52ebc1b123613254f9dfe250515027c1332fba35 cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/aspnet/Common.git +0000000000000000000000000000000000000000 32d071f21df4252f8e752e0db5c7018d932884b3 cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/aspnet/Common.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 52ebc1b123613254f9dfe250515027c1332fba35 cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/aspnet/Common.git +0000000000000000000000000000000000000000 32d071f21df4252f8e752e0db5c7018d932884b3 cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/aspnet/Common.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/packed-refs dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/packed-refs --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/packed-refs 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/packed-refs 2023-07-18 20:43:18.000000000 +0000 @@ -1,2 +1,2 @@ # pack-refs with: peeled fully-peeled sorted -52ebc1b123613254f9dfe250515027c1332fba35 refs/remotes/origin/main +32d071f21df4252f8e752e0db5c7018d932884b3 refs/remotes/origin/main diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/refs/heads/main dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/refs/heads/main --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/refs/heads/main 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/refs/heads/main 2023-07-18 20:43:18.000000000 +0000 @@ -1 +1 @@ -52ebc1b123613254f9dfe250515027c1332fba35 +32d071f21df4252f8e752e0db5c7018d932884b3 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/shallow dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/shallow --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/Common/shallow 2023-06-23 18:45:23.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/Common/shallow 2023-07-18 20:43:22.000000000 +0000 @@ -1,2 +1,2 @@ -52ebc1b123613254f9dfe250515027c1332fba35 +32d071f21df4252f8e752e0db5c7018d932884b3 e6fac8061686c18531e2621ccef97dd5e0687a65 Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/index differ diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/HEAD 2023-06-23 18:45:25.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/HEAD 2023-07-18 20:43:23.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/NuGet/FileSystem.git -ab5c96bd032d8b144e041c38b9cf082068e9b1df f1f3f0820a573b96b2faaf5b7e6be9a036e4c7aa cloudtest_azpcontainer 1687545925 +0000 checkout: moving from dev to f1f3f0820a573b96b2faaf5b7e6be9a036e4c7aa +0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/NuGet/FileSystem.git +ab5c96bd032d8b144e041c38b9cf082068e9b1df f1f3f0820a573b96b2faaf5b7e6be9a036e4c7aa cloudtest_azpcontainer 1689713003 +0000 checkout: moving from dev to f1f3f0820a573b96b2faaf5b7e6be9a036e4c7aa diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/heads/dev dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/heads/dev --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/heads/dev 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/heads/dev 2023-07-18 20:43:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/NuGet/FileSystem.git +0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/NuGet/FileSystem.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:20.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/FileSystem/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1687545920 +0000 clone: from https://github.com/NuGet/FileSystem.git +0000000000000000000000000000000000000000 ab5c96bd032d8b144e041c38b9cf082068e9b1df cloudtest_azpcontainer 1689712998 +0000 clone: from https://github.com/NuGet/FileSystem.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/HEAD 2023-06-23 18:45:26.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/HEAD 2023-07-18 20:43:25.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 b3b310d999875ad86e87d5cb76ec20b650308bdd cloudtest_azpcontainer 1687545922 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git -b3b310d999875ad86e87d5cb76ec20b650308bdd f15db7b7c6f5affbea268632ef8333d2687c8031 cloudtest_azpcontainer 1687545926 +0000 checkout: moving from dev to f15db7b7c6f5affbea268632ef8333d2687c8031 +0000000000000000000000000000000000000000 4aa1feec021136f920b31fd2152cbd6405886031 cloudtest_azpcontainer 1689713001 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git +4aa1feec021136f920b31fd2152cbd6405886031 f15db7b7c6f5affbea268632ef8333d2687c8031 cloudtest_azpcontainer 1689713005 +0000 checkout: moving from dev to f15db7b7c6f5affbea268632ef8333d2687c8031 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/heads/dev dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/heads/dev --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/heads/dev 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/heads/dev 2023-07-18 20:43:21.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 b3b310d999875ad86e87d5cb76ec20b650308bdd cloudtest_azpcontainer 1687545922 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git +0000000000000000000000000000000000000000 4aa1feec021136f920b31fd2152cbd6405886031 cloudtest_azpcontainer 1689713001 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:21.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 b3b310d999875ad86e87d5cb76ec20b650308bdd cloudtest_azpcontainer 1687545922 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git +0000000000000000000000000000000000000000 4aa1feec021136f920b31fd2152cbd6405886031 cloudtest_azpcontainer 1689713001 +0000 clone: from https://github.com/NuGet/NuGet.Build.Localization.git diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/packed-refs dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/packed-refs --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/packed-refs 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/packed-refs 2023-07-18 20:43:21.000000000 +0000 @@ -1,2 +1,2 @@ # pack-refs with: peeled fully-peeled sorted -b3b310d999875ad86e87d5cb76ec20b650308bdd refs/remotes/origin/dev +4aa1feec021136f920b31fd2152cbd6405886031 refs/remotes/origin/dev diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/heads/dev dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/heads/dev --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/heads/dev 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/heads/dev 2023-07-18 20:43:21.000000000 +0000 @@ -1 +1 @@ -b3b310d999875ad86e87d5cb76ec20b650308bdd +4aa1feec021136f920b31fd2152cbd6405886031 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.100 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.100 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.100 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.100 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -0f45ee168a1937c0ffa184b53a05c5ca0713b911 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.93 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.93 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.93 2023-06-23 18:45:22.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.7.0.93 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -85ea0af3e0ed36f7fc3ff22beec70fed69463686 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.13 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.13 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.13 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.13 2023-07-18 20:43:21.000000000 +0000 @@ -0,0 +1 @@ +8f805953f65246b8d38a16c74808bf1dbb57c80b diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.17 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.17 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.17 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.17 2023-07-18 20:43:21.000000000 +0000 @@ -0,0 +1 @@ +1928089750cfb233f9a8179df744f69ab4104db0 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.22 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.22 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.22 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.22 2023-07-18 20:43:21.000000000 +0000 @@ -0,0 +1 @@ +513c91e2667f2d0ebfcd30869508095620efe298 diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.24 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.24 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.24 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.24 2023-07-18 20:43:21.000000000 +0000 @@ -0,0 +1 @@ +8f7c3ae3171391a34bac8ee90bf42412f8c86e1f diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.31 dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.31 --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.31 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/refs/tags/6.8.0.31 2023-07-18 20:43:21.000000000 +0000 @@ -0,0 +1 @@ +235ea5d973c6eb5c29c73715d4b725607abe119f diff -Nru dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/shallow dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/shallow --- dotnet6-6.0.120/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/shallow 2023-06-23 18:45:26.000000000 +0000 +++ dotnet6-6.0.121/src/nuget-client/.git/modules/submodules/NuGet.Build.Localization/shallow 2023-07-18 20:43:24.000000000 +0000 @@ -1,2 +1,2 @@ -b3b310d999875ad86e87d5cb76ec20b650308bdd +4aa1feec021136f920b31fd2152cbd6405886031 f15db7b7c6f5affbea268632ef8333d2687c8031 Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/roslyn/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/roslyn/.git/index differ diff -Nru dotnet6-6.0.120/src/roslyn/.git/logs/HEAD dotnet6-6.0.121/src/roslyn/.git/logs/HEAD --- dotnet6-6.0.120/src/roslyn/.git/logs/HEAD 2023-06-23 18:45:12.000000000 +0000 +++ dotnet6-6.0.121/src/roslyn/.git/logs/HEAD 2023-07-18 20:43:11.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 487283bcd8d66693091f2800dcf1c8ae37cccdee cloudtest_azpcontainer 1687545912 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 487283bcd8d66693091f2800dcf1c8ae37cccdee cloudtest_azpcontainer 1689712991 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/roslyn/.git/logs/refs/heads/master dotnet6-6.0.121/src/roslyn/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/roslyn/.git/logs/refs/heads/master 2023-06-23 18:45:12.000000000 +0000 +++ dotnet6-6.0.121/src/roslyn/.git/logs/refs/heads/master 2023-07-18 20:43:11.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 487283bcd8d66693091f2800dcf1c8ae37cccdee cloudtest_azpcontainer 1687545912 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 487283bcd8d66693091f2800dcf1c8ae37cccdee cloudtest_azpcontainer 1689712991 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/roslyn-analyzers/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/roslyn-analyzers/.git/index differ diff -Nru dotnet6-6.0.120/src/roslyn-analyzers/.git/logs/HEAD dotnet6-6.0.121/src/roslyn-analyzers/.git/logs/HEAD --- dotnet6-6.0.120/src/roslyn-analyzers/.git/logs/HEAD 2023-06-23 18:44:46.000000000 +0000 +++ dotnet6-6.0.121/src/roslyn-analyzers/.git/logs/HEAD 2023-07-18 20:42:38.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 c750b5a665adb75b528a93d844f238bd1360a91a cloudtest_azpcontainer 1687545886 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 c750b5a665adb75b528a93d844f238bd1360a91a cloudtest_azpcontainer 1689712958 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/roslyn-analyzers/.git/logs/refs/heads/master dotnet6-6.0.121/src/roslyn-analyzers/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/roslyn-analyzers/.git/logs/refs/heads/master 2023-06-23 18:44:46.000000000 +0000 +++ dotnet6-6.0.121/src/roslyn-analyzers/.git/logs/refs/heads/master 2023-07-18 20:42:38.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 c750b5a665adb75b528a93d844f238bd1360a91a cloudtest_azpcontainer 1687545886 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 c750b5a665adb75b528a93d844f238bd1360a91a cloudtest_azpcontainer 1689712958 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/runtime/eng/Version.Details.xml dotnet6-6.0.121/src/runtime/eng/Version.Details.xml --- dotnet6-6.0.120/src/runtime/eng/Version.Details.xml 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/eng/Version.Details.xml 2023-07-18 20:42:15.000000000 +0000 @@ -1,24 +1,24 @@ - + https://github.com/dotnet/icu - cff1c9ff20d271c6698d150e484e8327998595a4 + 18b103db239331f9b917e741b13c95eddf32f6df https://github.com/dotnet/msquic 7312355e44fd230b7aa26c7190f3870391751476 - + https://github.com/dotnet/emsdk - 6c7f38c614304c93cd392907df7d5e770d5cf7f1 + 60d640a5c1025d1e9e89188cabe41e692d0f5468 - + https://github.com/dotnet/emsdk - 6c7f38c614304c93cd392907df7d5e770d5cf7f1 + 60d640a5c1025d1e9e89188cabe41e692d0f5468 - + https://github.com/dotnet/emsdk - 6c7f38c614304c93cd392907df7d5e770d5cf7f1 + 60d640a5c1025d1e9e89188cabe41e692d0f5468 https://github.com/dotnet/wcf @@ -26,125 +26,125 @@ - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 https://github.com/microsoft/vstest 140434f7109d357d0158ade9e5164a4861513965 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 https://github.com/dotnet/llvm-project @@ -222,9 +222,9 @@ https://github.com/dotnet/xharness 233cbdd69acedc940fc3342f66b649ac0fb44333 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -242,13 +242,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization d50065944d8b41d804448a7056351481d583ad3d - + https://github.com/dotnet/hotreload-utils - 83c5bd71b65d9de362ae0ba2f2cdea94c002c8c7 + 2293d2ba069595f1c87f4e002c84cbab7201bfe7 - + https://github.com/dotnet/runtime-assets - 27b0291e9fb85b6664e4fc7c6bc10bcd059d8ab7 + 60b420e88cdd0ec0becb2115e14288adc1a1cb55 https://github.com/dotnet/roslyn-analyzers diff -Nru dotnet6-6.0.120/src/runtime/eng/Versions.props dotnet6-6.0.121/src/runtime/eng/Versions.props --- dotnet6-6.0.120/src/runtime/eng/Versions.props 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/eng/Versions.props 2023-07-18 20:42:15.000000000 +0000 @@ -1,11 +1,11 @@ - 6.0.20 + 6.0.21 6 0 - 20 + 21 6.0.400 servicing @@ -42,21 +42,21 @@ 1.1.0-preview.22164.17 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 2.5.1-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 - 6.0.0-beta.23313.5 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 2.5.1-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 + 6.0.0-beta.23361.3 6.0.0-preview.1.102 @@ -108,18 +108,18 @@ 4.5.0 6.0.0-rc.1.21415.6 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 - 6.0.0-beta.23212.1 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 + 6.0.0-beta.23316.2 1.0.0-prerelease.21416.5 1.0.0-prerelease.21416.5 @@ -162,7 +162,7 @@ 6.0.100-1.21459.1 $(MicrosoftNETILLinkTasksVersion) - 6.0.0-rtm.23218.5 + 6.0.0-rtm.23315.1 6.0.0-servicing.22205.1 @@ -175,9 +175,9 @@ 11.1.0-alpha.1.21416.1 11.1.0-alpha.1.21416.1 - 6.0.20 - 6.0.20 - 6.0.20 + 6.0.21 + 6.0.21 + 6.0.21 $(MicrosoftNETWorkloadEmscriptenManifest60100Version) 1.1.87-gba258badda diff -Nru dotnet6-6.0.120/src/runtime/.git/FETCH_HEAD dotnet6-6.0.121/src/runtime/.git/FETCH_HEAD --- dotnet6-6.0.120/src/runtime/.git/FETCH_HEAD 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/.git/FETCH_HEAD 2023-07-18 20:42:15.000000000 +0000 @@ -1 +1 @@ -a08d9ce2caf02455c0b825bcdc32974bdf769a80 'a08d9ce2caf02455c0b825bcdc32974bdf769a80' of https://dev.azure.com/dnceng/internal/_git/dotnet-runtime +e40b3abf1b41621d4298642a5fd300ebf7cccf6d 'e40b3abf1b41621d4298642a5fd300ebf7cccf6d' of https://dev.azure.com/dnceng/internal/_git/dotnet-runtime Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/runtime/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/runtime/.git/index differ diff -Nru dotnet6-6.0.120/src/runtime/.git/logs/HEAD dotnet6-6.0.121/src/runtime/.git/logs/HEAD --- dotnet6-6.0.120/src/runtime/.git/logs/HEAD 2023-06-23 18:44:22.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/.git/logs/HEAD 2023-07-18 20:42:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 a08d9ce2caf02455c0b825bcdc32974bdf769a80 cloudtest_azpcontainer 1687545862 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 e40b3abf1b41621d4298642a5fd300ebf7cccf6d cloudtest_azpcontainer 1689712938 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/runtime/.git/logs/refs/heads/master dotnet6-6.0.121/src/runtime/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/runtime/.git/logs/refs/heads/master 2023-06-23 18:44:22.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/.git/logs/refs/heads/master 2023-07-18 20:42:18.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 a08d9ce2caf02455c0b825bcdc32974bdf769a80 cloudtest_azpcontainer 1687545862 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 e40b3abf1b41621d4298642a5fd300ebf7cccf6d cloudtest_azpcontainer 1689712938 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/runtime/.git/refs/heads/master dotnet6-6.0.121/src/runtime/.git/refs/heads/master --- dotnet6-6.0.120/src/runtime/.git/refs/heads/master 2023-06-23 18:44:22.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/.git/refs/heads/master 2023-07-18 20:42:18.000000000 +0000 @@ -1 +1 @@ -a08d9ce2caf02455c0b825bcdc32974bdf769a80 +e40b3abf1b41621d4298642a5fd300ebf7cccf6d diff -Nru dotnet6-6.0.120/src/runtime/.git/shallow dotnet6-6.0.121/src/runtime/.git/shallow --- dotnet6-6.0.120/src/runtime/.git/shallow 2023-06-23 18:44:09.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/.git/shallow 2023-07-18 20:41:57.000000000 +0000 @@ -1 +1 @@ -a08d9ce2caf02455c0b825bcdc32974bdf769a80 +e40b3abf1b41621d4298642a5fd300ebf7cccf6d diff -Nru dotnet6-6.0.120/src/runtime/global.json dotnet6-6.0.121/src/runtime/global.json --- dotnet6-6.0.120/src/runtime/global.json 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/global.json 2023-07-18 20:42:15.000000000 +0000 @@ -1,21 +1,21 @@ { "sdk": { - "version": "6.0.118", + "version": "6.0.120", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "6.0.118" + "dotnet": "6.0.120" }, "native-tools": { "cmake": "3.16.4", "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.23313.5", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23313.5", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23313.5", - "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.23313.5", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.23361.3", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23361.3", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23361.3", + "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.23361.3", "Microsoft.Build.NoTargets": "3.1.0", "Microsoft.Build.Traversal": "3.0.23", "Microsoft.NET.Sdk.IL": "6.0.0-rc.1.21415.6" diff -Nru dotnet6-6.0.120/src/runtime/NuGet.config dotnet6-6.0.121/src/runtime/NuGet.config --- dotnet6-6.0.120/src/runtime/NuGet.config 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/NuGet.config 2023-07-18 20:42:15.000000000 +0000 @@ -9,7 +9,7 @@ - + diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/gc/gc.cpp dotnet6-6.0.121/src/runtime/src/coreclr/gc/gc.cpp --- dotnet6-6.0.120/src/runtime/src/coreclr/gc/gc.cpp 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/gc/gc.cpp 2023-07-18 20:42:15.000000000 +0000 @@ -45045,6 +45045,11 @@ #endif //_DEBUG } +int64_t GCHeap::GetTotalPauseDuration() +{ + return (int64_t)(gc_heap::total_suspended_time * 10); +} + uint32_t GCHeap::GetMemoryLoad() { uint32_t memory_load = 0; diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/gc/gcimpl.h dotnet6-6.0.121/src/runtime/src/coreclr/gc/gcimpl.h --- dotnet6-6.0.120/src/runtime/src/coreclr/gc/gcimpl.h 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/gc/gcimpl.h 2023-07-18 20:42:15.000000000 +0000 @@ -180,7 +180,9 @@ bool* isConcurrent, uint64_t* genInfoRaw, uint64_t* pauseInfoRaw, - int kind);; + int kind); + + int64_t GetTotalPauseDuration(); uint32_t GetMemoryLoad(); diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/gc/gcinterface.h dotnet6-6.0.121/src/runtime/src/coreclr/gc/gcinterface.h --- dotnet6-6.0.120/src/runtime/src/coreclr/gc/gcinterface.h 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/gc/gcinterface.h 2023-07-18 20:42:15.000000000 +0000 @@ -925,6 +925,9 @@ IGCHeap() {} virtual ~IGCHeap() {} + + // Get the total paused duration + virtual int64_t GetTotalPauseDuration() = 0; }; #ifdef WRITE_BARRIER_CHECK diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/System.Private.CoreLib/src/System/GC.cs dotnet6-6.0.121/src/runtime/src/coreclr/System.Private.CoreLib/src/System/GC.cs --- dotnet6-6.0.120/src/runtime/src/coreclr/System.Private.CoreLib/src/System/GC.cs 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/System.Private.CoreLib/src/System/GC.cs 2023-07-18 20:42:15.000000000 +0000 @@ -719,5 +719,13 @@ return Unsafe.As(AllocateNewArray(typeof(T[]).TypeHandle.Value, length, flags)); } + + [MethodImpl(MethodImplOptions.InternalCall)] + private static extern long _GetTotalPauseDuration(); + + public static TimeSpan GetTotalPauseDuration() + { + return new TimeSpan(_GetTotalPauseDuration()); + } } } diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/vm/comutilnative.cpp dotnet6-6.0.121/src/runtime/src/coreclr/vm/comutilnative.cpp --- dotnet6-6.0.120/src/runtime/src/coreclr/vm/comutilnative.cpp 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/vm/comutilnative.cpp 2023-07-18 20:42:15.000000000 +0000 @@ -674,6 +674,16 @@ // (m_iteration % MEM_PRESSURE_COUNT) is used as an index into m_addPressure and m_remPressure UINT GCInterface::m_iteration = 0; +FCIMPL0(INT64, GCInterface::GetTotalPauseDuration) +{ + FCALL_CONTRACT; + + FC_GC_POLL_NOT_NEEDED(); + + return GCHeapUtilities::GetGCHeap()->GetTotalPauseDuration(); +} +FCIMPLEND + FCIMPL2(void, GCInterface::GetMemoryInfo, Object* objUNSAFE, int kind) { FCALL_CONTRACT; diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/vm/comutilnative.h dotnet6-6.0.121/src/runtime/src/coreclr/vm/comutilnative.h --- dotnet6-6.0.120/src/runtime/src/coreclr/vm/comutilnative.h 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/vm/comutilnative.h 2023-07-18 20:42:15.000000000 +0000 @@ -143,6 +143,7 @@ static FORCEINLINE UINT64 InterlockedAdd(UINT64 *pAugend, UINT64 addend); static FORCEINLINE UINT64 InterlockedSub(UINT64 *pMinuend, UINT64 subtrahend); + static FCDECL0(INT64, GetTotalPauseDuration); static FCDECL2(void, GetMemoryInfo, Object* objUNSAFE, int kind); static FCDECL0(UINT32, GetMemoryLoad); static FCDECL0(int, GetGcLatencyMode); diff -Nru dotnet6-6.0.120/src/runtime/src/coreclr/vm/ecalllist.h dotnet6-6.0.121/src/runtime/src/coreclr/vm/ecalllist.h --- dotnet6-6.0.120/src/runtime/src/coreclr/vm/ecalllist.h 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/coreclr/vm/ecalllist.h 2023-07-18 20:42:15.000000000 +0000 @@ -706,6 +706,7 @@ FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete) FCFuncElement("_CollectionCount", GCInterface::CollectionCount) FCFuncElement("GetMemoryInfo", GCInterface::GetMemoryInfo) + FCFuncElement("_GetTotalPauseDuration", GCInterface::GetTotalPauseDuration) FCFuncElement("GetMemoryLoad", GCInterface::GetMemoryLoad) QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion) QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion) diff -Nru dotnet6-6.0.120/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj dotnet6-6.0.121/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj --- dotnet6-6.0.120/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj 2023-06-23 18:44:19.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj 2023-07-18 20:42:16.000000000 +0000 @@ -20,7 +20,7 @@ $(AdditionalRuntimeIdentifiers);$(OutputRID) 11 - true + false diff -Nru dotnet6-6.0.120/src/runtime/src/libraries/System.Runtime/src/MatchingRefApiCompatBaseline.txt dotnet6-6.0.121/src/runtime/src/libraries/System.Runtime/src/MatchingRefApiCompatBaseline.txt --- dotnet6-6.0.120/src/runtime/src/libraries/System.Runtime/src/MatchingRefApiCompatBaseline.txt 2023-06-23 18:44:20.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/libraries/System.Runtime/src/MatchingRefApiCompatBaseline.txt 2023-07-18 20:42:16.000000000 +0000 @@ -24,4 +24,5 @@ CannotMakeMemberAbstract : Member 'public System.String System.IO.FileSystemInfo.Name.get()' is abstract in the reference but is not abstract in the implementation. # C# generates backing fields for fixed buffers as public. TypesMustExist : Type 'System.IO.Enumeration.FileSystemEntry.<_fileNameBuffer>e__FixedBuffer' does not exist in the reference but it does exist in the implementation. - +# This API only exists on servicing builds after the commit that introduce it +MembersMustExist : Member 'public System.TimeSpan System.GC.GetTotalPauseDuration()' does not exist in the reference but it does exist in the implementation. \ No newline at end of file diff -Nru dotnet6-6.0.120/src/runtime/src/mono/System.Private.CoreLib/src/System/GC.Mono.cs dotnet6-6.0.121/src/runtime/src/mono/System.Private.CoreLib/src/System/GC.Mono.cs --- dotnet6-6.0.120/src/runtime/src/mono/System.Private.CoreLib/src/System/GC.Mono.cs 2023-06-23 18:44:20.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/mono/System.Private.CoreLib/src/System/GC.Mono.cs 2023-07-18 20:42:17.000000000 +0000 @@ -313,5 +313,10 @@ { return (int)EventPipeInternal.GetRuntimeCounterValue(EventPipeInternal.RuntimeCounters.GC_LAST_PERCENT_TIME_IN_GC); } + + public static TimeSpan GetTotalPauseDuration() + { + return TimeSpan.Zero; + } } } diff -Nru dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs --- dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs 2023-06-23 18:44:21.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs 2023-07-18 20:42:17.000000000 +0000 @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; @@ -288,6 +289,7 @@ public object AuxData { get; set; } public PauseOnExceptionsKind PauseOnExceptions { get; set; } + internal bool Destroyed { get; set; } public List CallStack { get; set; } @@ -341,4 +343,70 @@ { } } + + internal sealed class ConcurrentExecutionContextDictionary + { + private ConcurrentDictionary> contexts = new ConcurrentDictionary>(); + public ExecutionContext GetCurrentContext(SessionId sessionId) + => TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context) + ? context + : throw new KeyNotFoundException($"No execution context found for session {sessionId}"); + + public bool TryGetCurrentExecutionContextValue(SessionId id, out ExecutionContext executionContext, bool ignoreDestroyedContext = true) + { + executionContext = null; + if (!contexts.TryGetValue(id, out ConcurrentBag contextBag)) + return false; + if (contextBag.IsEmpty) + return false; + IEnumerable validContexts = null; + if (ignoreDestroyedContext) + validContexts = contextBag.Where(context => context.Destroyed == false); + else + validContexts = contextBag; + if (!validContexts.Any()) + return false; + int maxId = validContexts.Max(context => context.Id); + executionContext = contextBag.FirstOrDefault(context => context.Id == maxId); + return executionContext != null; + } + + public void OnDefaultContextUpdate(SessionId sessionId, ExecutionContext newContext) + { + if (TryGetAndAddContext(sessionId, newContext, out ExecutionContext previousContext)) + { + foreach (KeyValuePair kvp in previousContext.BreakpointRequests) + { + newContext.BreakpointRequests[kvp.Key] = kvp.Value.Clone(); + } + newContext.PauseOnExceptions = previousContext.PauseOnExceptions; + } + } + + public bool TryGetAndAddContext(SessionId sessionId, ExecutionContext newExecutionContext, out ExecutionContext previousExecutionContext) + { + bool hasExisting = TryGetCurrentExecutionContextValue(sessionId, out previousExecutionContext, ignoreDestroyedContext: false); + ConcurrentBag bag = contexts.GetOrAdd(sessionId, _ => new ConcurrentBag()); + bag.Add(newExecutionContext); + return hasExisting; + } + + public void DestroyContext(SessionId sessionId, int id) + { + if (!contexts.TryGetValue(sessionId, out ConcurrentBag contextBag)) + return; + foreach (ExecutionContext context in contextBag.Where(x => x.Id == id).ToList()) + context.Destroyed = true; + } + + public void ClearContexts(SessionId sessionId) + { + if (!contexts.TryGetValue(sessionId, out ConcurrentBag contextBag)) + return; + foreach (ExecutionContext context in contextBag) + context.Destroyed = true; + } + + public bool ContainsKey(SessionId sessionId) => contexts.ContainsKey(sessionId); + } } diff -Nru dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs --- dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs 2023-06-23 18:44:21.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs 2023-07-18 20:42:17.000000000 +0000 @@ -22,7 +22,7 @@ private IList urlSymbolServerList; private static HttpClient client = new HttpClient(); private HashSet sessions = new HashSet(); - private Dictionary contexts = new Dictionary(); + internal ConcurrentExecutionContextDictionary Contexts = new ConcurrentExecutionContextDictionary(); private const string sPauseOnUncaught = "pause_on_uncaught"; private const string sPauseOnCaught = "pause_on_caught"; @@ -32,21 +32,6 @@ SdbHelper = new MonoSDBHelper(this, logger); } - internal ExecutionContext GetContext(SessionId sessionId) - { - if (contexts.TryGetValue(sessionId, out ExecutionContext context)) - return context; - - throw new ArgumentException($"Invalid Session: \"{sessionId}\"", nameof(sessionId)); - } - - private bool UpdateContext(SessionId sessionId, ExecutionContext executionContext, out ExecutionContext previousExecutionContext) - { - bool previous = contexts.TryGetValue(sessionId, out previousExecutionContext); - contexts[sessionId] = executionContext; - return previous; - } - internal Task SendMonoCommand(SessionId id, MonoCommands cmd, CancellationToken token) => SendCommand(id, "Runtime.evaluate", JObject.FromObject(cmd), token); protected override async Task AcceptEvent(SessionId sessionId, string method, JObject args, CancellationToken token) @@ -56,7 +41,7 @@ case "Runtime.consoleAPICalled": { // Don't process events from sessions we aren't tracking - if (!contexts.TryGetValue(sessionId, out ExecutionContext context)) + if (!Contexts.TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context)) return false; string type = args["type"]?.ToString(); if (type == "debug") @@ -129,7 +114,7 @@ case "Runtime.exceptionThrown": { // Don't process events from sessions we aren't tracking - if (!contexts.TryGetValue(sessionId, out ExecutionContext context)) + if (!Contexts.TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context)) return false; if (!context.IsRuntimeReady) @@ -141,10 +126,22 @@ break; } + case "Runtime.executionContextDestroyed": + { + Contexts.DestroyContext(sessionId, args["executionContextId"].Value()); + return false; + } + + case "Runtime.executionContextsCleared": + { + Contexts.ClearContexts(sessionId); + return false; + } + case "Debugger.paused": { // Don't process events from sessions we aren't tracking - if (!contexts.TryGetValue(sessionId, out ExecutionContext context)) + if (!Contexts.TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context)) return false; if (args?["callFrames"]?.Value()?.Count == 0) @@ -238,7 +235,7 @@ private async Task IsRuntimeAlreadyReadyAlready(SessionId sessionId, CancellationToken token) { - if (contexts.TryGetValue(sessionId, out ExecutionContext context) && context.IsRuntimeReady) + if (Contexts.TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context) && context.IsRuntimeReady) return true; Result res = await SendMonoCommand(sessionId, MonoCommands.IsRuntimeReady(), token); @@ -252,7 +249,7 @@ if (id == SessionId.Null) await AttachToTarget(id, token); - if (!contexts.TryGetValue(id, out ExecutionContext context)) + if (!Contexts.TryGetCurrentExecutionContextValue(id, out ExecutionContext context)) { // for Dotnetdebugger.* messages, treat them as handled, thus not passing them on to the browser return method.StartsWith("DotnetDebugger.", StringComparison.OrdinalIgnoreCase); @@ -607,7 +604,7 @@ private async Task OnSetVariableValue(MessageId id, int scopeId, string varName, JToken varValue, CancellationToken token) { - ExecutionContext ctx = GetContext(id); + ExecutionContext ctx = Contexts.GetCurrentContext(id); Frame scope = ctx.CallStack.FirstOrDefault(s => s.Id == scopeId); if (scope == null) return false; @@ -844,7 +841,7 @@ if (res.IsErr) return false; - ExecutionContext context = GetContext(sessionId); + ExecutionContext context = Contexts.GetCurrentContext(sessionId); byte[] newBytes = Convert.FromBase64String(res.Value?["result"]?["value"]?["value"]?.Value()); var retDebuggerCmd = new MemoryStream(newBytes); var retDebuggerCmdReader = new MonoBinaryReader(retDebuggerCmd); @@ -910,7 +907,7 @@ internal async Task LoadSymbolsOnDemand(AssemblyInfo asm, int method_token, SessionId sessionId, CancellationToken token) { - ExecutionContext context = GetContext(sessionId); + ExecutionContext context = Contexts.GetCurrentContext(sessionId); if (urlSymbolServerList.Count == 0) return null; if (asm.TriedToLoadSymbolsOnDemand) @@ -961,14 +958,7 @@ private async Task OnDefaultContext(SessionId sessionId, ExecutionContext context, CancellationToken token) { Log("verbose", "Default context created, clearing state and sending events"); - if (UpdateContext(sessionId, context, out ExecutionContext previousContext)) - { - foreach (KeyValuePair kvp in previousContext.BreakpointRequests) - { - context.BreakpointRequests[kvp.Key] = kvp.Value.Clone(); - } - context.PauseOnExceptions = previousContext.PauseOnExceptions; - } + Contexts.OnDefaultContextUpdate(sessionId, context); if (await IsRuntimeAlreadyReadyAlready(sessionId, token)) await RuntimeReady(sessionId, token); @@ -976,7 +966,7 @@ private async Task OnResume(MessageId msg_id, CancellationToken token) { - ExecutionContext ctx = GetContext(msg_id); + ExecutionContext ctx = Contexts.GetCurrentContext(msg_id); if (ctx.CallStack != null) { // Stopped on managed code @@ -985,12 +975,12 @@ //discard managed frames SdbHelper.ClearCache(); - GetContext(msg_id).ClearState(); + Contexts.GetCurrentContext(msg_id).ClearState(); } private async Task Step(MessageId msg_id, StepKind kind, CancellationToken token) { - ExecutionContext context = GetContext(msg_id); + ExecutionContext context = Contexts.GetCurrentContext(msg_id); if (context.CallStack == null) return false; @@ -1061,7 +1051,7 @@ var assembly_data = Convert.FromBase64String(assembly_b64); var pdb_data = string.IsNullOrEmpty(pdb_b64) ? null : Convert.FromBase64String(pdb_b64); - var context = GetContext(sessionId); + var context = Contexts.GetCurrentContext(sessionId); foreach (var source in store.Add(sessionId, assembly_data, pdb_data)) { await OnSourceFileAdded(sessionId, source, context, token); @@ -1080,7 +1070,7 @@ { try { - ExecutionContext context = GetContext(msg_id); + ExecutionContext context = Contexts.GetCurrentContext(msg_id); if (context.CallStack == null) return false; @@ -1121,7 +1111,7 @@ { try { - ExecutionContext ctx = GetContext(msg_id); + ExecutionContext ctx = Contexts.GetCurrentContext(msg_id); Frame scope = ctx.CallStack.FirstOrDefault(s => s.Id == scopeId); if (scope == null) return Result.Err(JObject.FromObject(new { message = $"Could not find scope with id #{scopeId}" })); @@ -1180,14 +1170,21 @@ { if (req.TryResolve(source)) { - await SetBreakpoint(sessionId, context.store, req, true, token); + try + { + await SetBreakpoint(sessionId, context.store, req, true, token); + } + catch (Exception e) + { + logger.LogDebug($"Unexpected error on OnSourceFileAdded {e}"); + } } } } internal async Task LoadStore(SessionId sessionId, CancellationToken token) { - ExecutionContext context = GetContext(sessionId); + ExecutionContext context = Contexts.GetCurrentContext(sessionId); if (Interlocked.CompareExchange(ref context.store, new DebugStore(logger), null) != null) return await context.Source.Task; @@ -1239,7 +1236,7 @@ private async Task RuntimeReady(SessionId sessionId, CancellationToken token) { - ExecutionContext context = GetContext(sessionId); + ExecutionContext context = Contexts.GetCurrentContext(sessionId); if (Interlocked.CompareExchange(ref context.ready, new TaskCompletionSource(), null) != null) return await context.ready.Task; @@ -1263,7 +1260,7 @@ private async Task ResetBreakpoint(SessionId msg_id, MethodInfo method, CancellationToken token) { - ExecutionContext context = GetContext(msg_id); + ExecutionContext context = Contexts.GetCurrentContext(msg_id); foreach (var req in context.BreakpointRequests.Values) { if (req.Method != null) @@ -1279,7 +1276,7 @@ { string bpid = args?["breakpointId"]?.Value(); - ExecutionContext context = GetContext(msg_id); + ExecutionContext context = Contexts.GetCurrentContext(msg_id); if (!context.BreakpointRequests.TryGetValue(bpid, out BreakpointRequest breakpointRequest)) return; @@ -1303,7 +1300,7 @@ private async Task SetBreakpoint(SessionId sessionId, DebugStore store, BreakpointRequest req, bool sendResolvedEvent, CancellationToken token) { - ExecutionContext context = GetContext(sessionId); + ExecutionContext context = Contexts.GetCurrentContext(sessionId); if (req.Locations.Any()) { Log("debug", $"locations already loaded for {req.Id}"); @@ -1319,7 +1316,7 @@ .OrderBy(l => l.Column) .GroupBy(l => l.Id); - logger.LogDebug("BP request for '{req}' runtime ready {context.RuntimeReady}", req, GetContext(sessionId).IsRuntimeReady); + logger.LogDebug("BP request for '{req}' runtime ready {context.RuntimeReady}", req, Contexts.GetCurrentContext(sessionId).IsRuntimeReady); var breakpoints = new List(); @@ -1415,7 +1412,7 @@ //we only need this check if it's a non-vs debugging if (sessionId == SessionId.Null) { - if (!contexts.TryGetValue(sessionId, out ExecutionContext context) || context.PauseOnExceptions == PauseOnExceptionsKind.Unset) + if (!Contexts.TryGetCurrentExecutionContextValue(sessionId, out ExecutionContext context) || context.PauseOnExceptions == PauseOnExceptionsKind.Unset) { checkUncaughtExceptions = $"throw \"{sPauseOnUncaught}\";"; checkCaughtExceptions = $"try {{throw \"{sPauseOnCaught}\";}} catch {{}}"; diff -Nru dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs --- dotnet6-6.0.120/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs 2023-06-23 18:44:21.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs 2023-07-18 20:42:17.000000000 +0000 @@ -1408,7 +1408,7 @@ var stringId = getCAttrsRetReader.ReadInt32(); var dispAttrStr = await GetStringValue(sessionId, stringId, token); - ExecutionContext context = proxy.GetContext(sessionId); + ExecutionContext context = proxy.Contexts.GetCurrentContext(sessionId); JArray objectValues = await GetObjectValues(sessionId, objectId, GetObjectCommandOptions.WithProperties | GetObjectCommandOptions.ForDebuggerDisplayAttribute, token); var thisObj = CreateJObject(value: "", type: "object", description: "", writable: false, objectId: $"dotnet:object:{objectId}"); diff -Nru dotnet6-6.0.120/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.cs dotnet6-6.0.121/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.cs --- dotnet6-6.0.120/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.cs 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.cs 2023-07-18 20:42:17.000000000 +0000 @@ -0,0 +1,36 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Tests GC.GetTotalPauseDuration() + +using System; +using System.Diagnostics; +using System.Reflection; + +public class Test_Collect +{ + public static int Main() + { + Stopwatch sw = Stopwatch.StartNew(); + GC.Collect(); + sw.Stop(); + TimeSpan elapsed = sw.Elapsed; + TimeSpan totalPauseDuration = (TimeSpan)typeof(GC).GetMethod("GetTotalPauseDuration", BindingFlags.Public | BindingFlags.Static).Invoke(null, null); + GCMemoryInfo memoryInfo = GC.GetGCMemoryInfo(); + TimeSpan lastGcDuration = memoryInfo.PauseDurations[0]; + + // These conditions assume the only GC in the process + // is the one we just triggered. This makes the test incompatible + // with any changes that might introduce extra GCs. + + if (TimeSpan.Zero < totalPauseDuration && + totalPauseDuration <= elapsed && + lastGcDuration == totalPauseDuration) + { + return 100; + } + else + { + return 101; + } + } +} diff -Nru dotnet6-6.0.120/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.csproj dotnet6-6.0.121/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.csproj --- dotnet6-6.0.120/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.csproj 1970-01-01 00:00:00.000000000 +0000 +++ dotnet6-6.0.121/src/runtime/src/tests/GC/API/GC/GetTotalPauseDuration.csproj 2023-07-18 20:42:17.000000000 +0000 @@ -0,0 +1,16 @@ + + + Exe + + true + + 0 + + + + PdbOnly + + + + + diff -Nru dotnet6-6.0.120/src/sdk/eng/Version.Details.xml dotnet6-6.0.121/src/sdk/eng/Version.Details.xml --- dotnet6-6.0.120/src/sdk/eng/Version.Details.xml 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/eng/Version.Details.xml 2023-07-18 20:42:35.000000000 +0000 @@ -1,70 +1,70 @@ - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 080b813fcf9f2417d6f0d50a6853d1b71034482b + b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://dev.azure.com/dnceng/internal/_git/dotnet-runtime a08d9ce2caf02455c0b825bcdc32974bdf769a80 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://dev.azure.com/devdiv/DevDiv/_git/DotNet-msbuild-Trusted @@ -113,13 +113,13 @@ https://github.com/dotnet/roslyn 487283bcd8d66693091f2800dcf1c8ae37cccdee - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted @@ -166,98 +166,98 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 70ae3df4a6f3c92fb6b315afc405edd10ff38579 - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 198e1c4771fc6a8a19625159c5730c26ef00f3cf + 3c299ae525000e4dd138b22c0f549110625876ed - + https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 0a2507dd214349c40c4f1e9aba2ce6a91e8675a8 + fa467fd679da61d9e429ce2654ef63766afcd7f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 39e0501ee91dcf2b9b885d647795184815fb0408 + cec88a329584349fda070f4c7346b10538210ace https://github.com/aspnet/xdt @@ -288,22 +288,22 @@ - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 https://github.com/dotnet/runtime diff -Nru dotnet6-6.0.120/src/sdk/eng/Versions.props dotnet6-6.0.121/src/sdk/eng/Versions.props --- dotnet6-6.0.120/src/sdk/eng/Versions.props 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/eng/Versions.props 2023-07-18 20:42:35.000000000 +0000 @@ -10,7 +10,7 @@ - 6.0.120 + 6.0.121 servicing @@ -26,7 +26,7 @@ $(NewtonsoftJsonPackageVersion) 4.0.0 5.0.0 - 6.0.0-beta.23313.5 + 6.0.0-beta.23361.3 3.1.0 6.0.0 4.3.0 @@ -40,13 +40,13 @@ - 6.0.20 - 6.0.20-servicing.23320.17 - 6.0.20 + 6.0.21 + 6.0.21-servicing.23363.11 + 6.0.21 $(MicrosoftNETCoreAppRuntimewinx64PackageVersion) 6.0.0 - 6.0.20 - 6.0.20-servicing.23320.17 + 6.0.21 + 6.0.21-servicing.23363.11 6.0.0-preview.7.21363.9 6.0.1 @@ -109,11 +109,11 @@ - 6.0.120-servicing.23322.4 - 6.0.120 - 6.0.120 - 6.0.120 - 6.0.120 + 6.0.121-servicing.23363.11 + 6.0.121 + 6.0.121 + 6.0.121 + 6.0.121 @@ -130,24 +130,24 @@ - 6.0.20-servicing.23321.6 - 6.0.20 - 6.0.20-servicing.23321.6 - 6.0.20-servicing.23321.6 - 6.0.20-servicing.23321.6 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20 - 6.0.20-servicing.23321.6 + 6.0.21-servicing.23364.38 + 6.0.21 + 6.0.21-servicing.23364.38 + 6.0.21-servicing.23364.38 + 6.0.21-servicing.23364.38 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21 + 6.0.21-servicing.23364.38 - 6.0.20-servicing.23321.8 + 6.0.21-servicing.23364.5 - 6.0.20-servicing.23321.10 + 6.0.21-servicing.23367.3 @@ -165,7 +165,7 @@ 4.19.2 4.19.0 - 6.0.0-beta.23313.5 + 6.0.0-beta.23361.3 4.8.2 6.0.0-beta.21376.2 diff -Nru dotnet6-6.0.120/src/sdk/.git/FETCH_HEAD dotnet6-6.0.121/src/sdk/.git/FETCH_HEAD --- dotnet6-6.0.120/src/sdk/.git/FETCH_HEAD 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/.git/FETCH_HEAD 2023-07-18 20:42:35.000000000 +0000 @@ -1 +1 @@ -1f82b9fbd6d2ed0076ed2ea733330ba98130a109 '1f82b9fbd6d2ed0076ed2ea733330ba98130a109' of https://dev.azure.com/dnceng/internal/_git/dotnet-sdk +1f77c362a752e25c643140f014af4ee0a05fce4b '1f77c362a752e25c643140f014af4ee0a05fce4b' of https://dev.azure.com/dnceng/internal/_git/dotnet-sdk Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/sdk/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/sdk/.git/index differ diff -Nru dotnet6-6.0.120/src/sdk/.git/logs/HEAD dotnet6-6.0.121/src/sdk/.git/logs/HEAD --- dotnet6-6.0.120/src/sdk/.git/logs/HEAD 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/.git/logs/HEAD 2023-07-18 20:42:35.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 cloudtest_azpcontainer 1687545883 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 1f77c362a752e25c643140f014af4ee0a05fce4b cloudtest_azpcontainer 1689712955 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/sdk/.git/logs/refs/heads/master dotnet6-6.0.121/src/sdk/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/sdk/.git/logs/refs/heads/master 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/.git/logs/refs/heads/master 2023-07-18 20:42:35.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 1f82b9fbd6d2ed0076ed2ea733330ba98130a109 cloudtest_azpcontainer 1687545883 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 1f77c362a752e25c643140f014af4ee0a05fce4b cloudtest_azpcontainer 1689712955 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/sdk/.git/refs/heads/master dotnet6-6.0.121/src/sdk/.git/refs/heads/master --- dotnet6-6.0.120/src/sdk/.git/refs/heads/master 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/.git/refs/heads/master 2023-07-18 20:42:35.000000000 +0000 @@ -1 +1 @@ -1f82b9fbd6d2ed0076ed2ea733330ba98130a109 +1f77c362a752e25c643140f014af4ee0a05fce4b diff -Nru dotnet6-6.0.120/src/sdk/.git/shallow dotnet6-6.0.121/src/sdk/.git/shallow --- dotnet6-6.0.120/src/sdk/.git/shallow 2023-06-23 18:44:42.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/.git/shallow 2023-07-18 20:42:33.000000000 +0000 @@ -1 +1 @@ -1f82b9fbd6d2ed0076ed2ea733330ba98130a109 +1f77c362a752e25c643140f014af4ee0a05fce4b diff -Nru dotnet6-6.0.120/src/sdk/global.json dotnet6-6.0.121/src/sdk/global.json --- dotnet6-6.0.120/src/sdk/global.json 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/global.json 2023-07-18 20:42:35.000000000 +0000 @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.118", + "dotnet": "6.0.120", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" @@ -11,7 +11,7 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23313.5", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23313.5" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23361.3", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23361.3" } } diff -Nru dotnet6-6.0.120/src/sdk/NuGet.config dotnet6-6.0.121/src/sdk/NuGet.config --- dotnet6-6.0.120/src/sdk/NuGet.config 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/NuGet.config 2023-07-18 20:42:35.000000000 +0000 @@ -4,20 +4,20 @@ - + - + - + - + @@ -34,18 +34,18 @@ - + - + - + - + diff -Nru dotnet6-6.0.120/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj dotnet6-6.0.121/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj --- dotnet6-6.0.120/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj 2023-07-18 20:42:35.000000000 +0000 @@ -23,6 +23,13 @@ + + + + diff -Nru dotnet6-6.0.120/src/sdk/src/Cli/dotnet/CommandFactory/CommandResolution/WindowsExePreferredCommandSpecFactory.cs dotnet6-6.0.121/src/sdk/src/Cli/dotnet/CommandFactory/CommandResolution/WindowsExePreferredCommandSpecFactory.cs --- dotnet6-6.0.120/src/sdk/src/Cli/dotnet/CommandFactory/CommandResolution/WindowsExePreferredCommandSpecFactory.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Cli/dotnet/CommandFactory/CommandResolution/WindowsExePreferredCommandSpecFactory.cs 2023-07-18 20:42:35.000000000 +0000 @@ -50,7 +50,7 @@ string command, IEnumerable args) { - var comSpec = Environment.GetEnvironmentVariable("ComSpec") ?? "cmd.exe"; + var comSpec = Environment.GetEnvironmentVariable("ComSpec") ?? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe"); // Handle the case where ComSpec is already the command if (command.Equals(comSpec, StringComparison.OrdinalIgnoreCase)) diff -Nru dotnet6-6.0.120/src/sdk/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs dotnet6-6.0.121/src/sdk/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs --- dotnet6-6.0.120/src/sdk/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs 2023-07-18 20:42:35.000000000 +0000 @@ -4,6 +4,7 @@ using System; using System.CommandLine.Parsing; using System.Diagnostics; +using System.IO; using System.Runtime.InteropServices; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; @@ -57,7 +58,7 @@ { psInfo = new ProcessStartInfo { - FileName = "cmd", + FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe"), Arguments = $"/c start {docUrl}" }; } @@ -65,15 +66,19 @@ { psInfo = new ProcessStartInfo { - FileName = "open", + FileName = @"/usr/bin/open", Arguments = docUrl }; } else { + var fileName = File.Exists(@"/usr/bin/xdg-open") ? @"/usr/bin/xdg-open" : + File.Exists(@"/usr/sbin/xdg-open") ? @"/usr/sbin/xdg-open" : + File.Exists(@"/sbin/xdg-open") ? @"/sbin/xdg-open" : + "xdg-open"; psInfo = new ProcessStartInfo { - FileName = "xdg-open", + FileName = fileName, Arguments = docUrl }; } diff -Nru dotnet6-6.0.120/src/sdk/src/Cli/dotnet/Telemetry/MacAddressGetter.cs dotnet6-6.0.121/src/sdk/src/Cli/dotnet/Telemetry/MacAddressGetter.cs --- dotnet6-6.0.120/src/sdk/src/Cli/dotnet/Telemetry/MacAddressGetter.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Cli/dotnet/Telemetry/MacAddressGetter.cs 2023-07-18 20:42:35.000000000 +0000 @@ -10,6 +10,7 @@ using System.Net.NetworkInformation; using System.ComponentModel; using Microsoft.DotNet.Cli.Utils; +using System.IO; namespace Microsoft.DotNet.Cli.Telemetry { @@ -64,9 +65,14 @@ private static string GetIpCommandOutput() { + var fileName = File.Exists(@"/usr/bin/ip") ? @"/usr/bin/ip" : + File.Exists(@"/usr/sbin/ip") ? @"/usr/sbin/ip" : + File.Exists(@"/sbin/ip") ? @"/sbin/ip" : + "ip"; + var ipResult = new ProcessStartInfo { - FileName = "ip", + FileName = fileName, Arguments = "link", UseShellExecute = false }.ExecuteAndCaptureOutput(out string ipStdOut, out string ipStdErr); @@ -87,7 +93,7 @@ { var result = new ProcessStartInfo { - FileName = "getmac.exe", + FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "getmac.exe"), UseShellExecute = false }.ExecuteAndCaptureOutput(out string stdOut, out string stdErr); @@ -104,9 +110,14 @@ { try { + var fileName = File.Exists("/sbin/ifconfig") ? "/sbin/ifconfig" : + File.Exists("/usr/sbin/ifconfig") ? "/usr/sbin/ifconfig" : + File.Exists("/usr/bin/ifconfig") ? "/usr/bin/ifconfig" : + "ifconfig"; + var ifconfigResult = new ProcessStartInfo { - FileName = "ifconfig", + FileName = fileName, Arguments = "-a", UseShellExecute = false }.ExecuteAndCaptureOutput(out string ifconfigStdOut, out string ifconfigStdErr); diff -Nru dotnet6-6.0.120/src/sdk/src/Cli/Microsoft.DotNet.Cli.Utils/ForwardingAppImplementation.cs dotnet6-6.0.121/src/sdk/src/Cli/Microsoft.DotNet.Cli.Utils/ForwardingAppImplementation.cs --- dotnet6-6.0.120/src/sdk/src/Cli/Microsoft.DotNet.Cli.Utils/ForwardingAppImplementation.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Cli/Microsoft.DotNet.Cli.Utils/ForwardingAppImplementation.cs 2023-07-18 20:42:35.000000000 +0000 @@ -1,6 +1,8 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +#if NET + using System.Collections.Generic; using System.Diagnostics; using Microsoft.DotNet.Cli.Utils; @@ -13,8 +15,6 @@ /// internal class ForwardingAppImplementation { - private const string HostExe = "dotnet"; - private readonly string _forwardApplicationPath; private readonly IEnumerable _argsToForward; private readonly string _depsFile; @@ -97,7 +97,10 @@ private string GetHostExeName() { - return $"{HostExe}{FileNameSuffixes.CurrentPlatform.Exe}"; + // Should instead make this a full path to dotnet + return System.Environment.ProcessPath; } } } + +#endif \ No newline at end of file diff -Nru dotnet6-6.0.120/src/sdk/src/RazorSdk/Tool/ServerProtocol/ServerConnection.cs dotnet6-6.0.121/src/sdk/src/RazorSdk/Tool/ServerProtocol/ServerConnection.cs --- dotnet6-6.0.120/src/sdk/src/RazorSdk/Tool/ServerProtocol/ServerConnection.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/RazorSdk/Tool/ServerProtocol/ServerConnection.cs 2023-07-18 20:42:35.000000000 +0000 @@ -288,7 +288,17 @@ // The server should be in the same directory as the client var expectedCompilerPath = Path.Combine(clientDir, ServerName); - var expectedPath = Environment.GetEnvironmentVariable("DOTNET_HOST_PATH") ?? "dotnet"; + + var expectedPath = Environment.GetEnvironmentVariable("DOTNET_HOST_PATH"); + if (string.IsNullOrEmpty(expectedPath)) + { +#if NET + expectedPath = System.Environment.ProcessPath; +#else + expectedPath = Process.GetCurrentProcess().MainModule.FileName; +#endif + } + var argumentList = new string[] { expectedCompilerPath, diff -Nru dotnet6-6.0.120/src/sdk/src/Tests/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs dotnet6-6.0.121/src/sdk/src/Tests/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs --- dotnet6-6.0.120/src/sdk/src/Tests/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Tests/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs 2023-07-18 20:42:35.000000000 +0000 @@ -128,7 +128,7 @@ public void WhenRunOnWindowsDotnetHelpCommandShouldContainProperProcessInformation() { var proc = HelpCommand.ConfigureProcess("https://aka.ms/dotnet-build"); - Assert.Equal("cmd", proc.StartInfo.FileName); + Assert.EndsWith("cmd.exe", proc.StartInfo.FileName); Assert.Equal("/c start https://aka.ms/dotnet-build", proc.StartInfo.Arguments); } @@ -144,7 +144,7 @@ public void WhenRunOnMacOsDotnetHelpCommandShouldContainProperProcessInformation() { var proc = HelpCommand.ConfigureProcess("https://aka.ms/dotnet-build"); - Assert.Equal("open", proc.StartInfo.FileName); + Assert.EndsWith("open", proc.StartInfo.FileName); Assert.Equal("https://aka.ms/dotnet-build", proc.StartInfo.Arguments); } } diff -Nru dotnet6-6.0.120/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenForwardingApp.cs dotnet6-6.0.121/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenForwardingApp.cs --- dotnet6-6.0.120/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenForwardingApp.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenForwardingApp.cs 2023-07-18 20:42:35.000000000 +0000 @@ -17,14 +17,14 @@ public void DotnetExeIsExecuted() { new ForwardingApp("", new string[0]) - .GetProcessStartInfo().FileName.Should().Be("dotnet.exe"); + .GetProcessStartInfo().FileName.Should().EndWith("dotnet.exe"); } [UnixOnlyFact] public void DotnetIsExecuted() { new ForwardingApp("", new string[0]) - .GetProcessStartInfo().FileName.Should().Be("dotnet"); + .GetProcessStartInfo().FileName.Should().EndWith("dotnet"); } [Fact] diff -Nru dotnet6-6.0.120/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenMsbuildForwardingApp.cs dotnet6-6.0.121/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenMsbuildForwardingApp.cs --- dotnet6-6.0.120/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenMsbuildForwardingApp.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Tests/dotnet.Tests/dotnet-msbuild/GivenMsbuildForwardingApp.cs 2023-07-18 20:42:35.000000000 +0000 @@ -23,7 +23,7 @@ { var msbuildPath = ""; new MSBuildForwardingApp(new string[0], msbuildPath) - .GetProcessStartInfo().FileName.Should().Be("dotnet.exe"); + .GetProcessStartInfo().FileName.Should().EndWith("dotnet.exe"); } [UnixOnlyFact] @@ -31,7 +31,7 @@ { var msbuildPath = ""; new MSBuildForwardingApp(new string[0], msbuildPath) - .GetProcessStartInfo().FileName.Should().Be("dotnet"); + .GetProcessStartInfo().FileName.Should().EndWith("dotnet"); } [Theory] diff -Nru dotnet6-6.0.120/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAnAppBaseCommandResolver.cs dotnet6-6.0.121/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAnAppBaseCommandResolver.cs --- dotnet6-6.0.120/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAnAppBaseCommandResolver.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAnAppBaseCommandResolver.cs 2023-07-18 20:42:35.000000000 +0000 @@ -7,6 +7,7 @@ using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.CommandFactory; +using Microsoft.NET.TestFramework; using Xunit; namespace Microsoft.DotNet.Tests @@ -153,7 +154,7 @@ commandFile.Should().Be("appbasetestcommand1.exe"); } - [Fact] + [WindowsOnlyFact] public void It_wraps_command_with_CMD_EXE_when_command_has_CMD_Extension_and_using_WindowsExePreferredCommandSpecFactory() { var environment = new EnvironmentProvider(new[] { ".cmd" }); @@ -175,7 +176,7 @@ result.Should().NotBeNull(); var commandFile = Path.GetFileName(result.Path); - commandFile.Should().Be("cmd.exe"); + commandFile.Should().EndWith("cmd.exe"); result.Args.Should().Contain(testCommandPath); } diff -Nru dotnet6-6.0.120/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAProjectPathCommandResolver.cs dotnet6-6.0.121/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAProjectPathCommandResolver.cs --- dotnet6-6.0.120/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAProjectPathCommandResolver.cs 2023-06-23 18:44:43.000000000 +0000 +++ dotnet6-6.0.121/src/sdk/src/Tests/Microsoft.DotNet.CommandFactory.Tests/GivenAProjectPathCommandResolver.cs 2023-07-18 20:42:35.000000000 +0000 @@ -7,6 +7,7 @@ using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.CommandFactory; +using Microsoft.NET.TestFramework; using Xunit; namespace Microsoft.DotNet.Tests @@ -208,7 +209,7 @@ commandFile.Should().Be("projectpathtestcommand1.exe"); } - [Fact] + [WindowsOnlyFact] public void It_wraps_command_with_CMD_EXE_when_command_has_CMD_Extension_and_using_WindowsExePreferredCommandSpecFactory() { var environment = new EnvironmentProvider(new[] { ".cmd" }); @@ -231,7 +232,7 @@ result.Should().NotBeNull(); var commandFile = Path.GetFileName(result.Path); - commandFile.Should().Be("cmd.exe"); + commandFile.Should().EndWith("cmd.exe"); result.Args.Should().Contain(testCommandPath); } Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/logs/HEAD dotnet6-6.0.121/src/source-build/.git/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/logs/HEAD 2023-06-23 18:45:27.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/logs/HEAD 2023-07-18 20:43:26.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7649ca7106e7e91ac06f169626bf01a77c2258eb cloudtest_azpcontainer 1687545927 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7649ca7106e7e91ac06f169626bf01a77c2258eb cloudtest_azpcontainer 1689713006 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/source-build/.git/logs/refs/heads/master dotnet6-6.0.121/src/source-build/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/source-build/.git/logs/refs/heads/master 2023-06-23 18:45:27.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/logs/refs/heads/master 2023-07-18 20:43:26.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7649ca7106e7e91ac06f169626bf01a77c2258eb cloudtest_azpcontainer 1687545927 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7649ca7106e7e91ac06f169626bf01a77c2258eb cloudtest_azpcontainer 1689713006 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/HEAD 2023-06-23 18:45:35.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/HEAD 2023-07-18 20:43:34.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1687545929 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet -248800626c1c31a2b4100f64a884257833b8c77f 93f745cfef8541f09862aae9bc8c04554bca38c7 cloudtest_azpcontainer 1687545935 +0000 checkout: moving from main to 93f745cfef8541f09862aae9bc8c04554bca38c7 +0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet +248800626c1c31a2b4100f64a884257833b8c77f 93f745cfef8541f09862aae9bc8c04554bca38c7 cloudtest_azpcontainer 1689713014 +0000 checkout: moving from main to 93f745cfef8541f09862aae9bc8c04554bca38c7 diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/refs/heads/main dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/refs/heads/main --- dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/refs/heads/main 2023-06-23 18:45:29.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/refs/heads/main 2023-07-18 20:43:28.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1687545929 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet +0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/application-insights/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:29.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/application-insights/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:28.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1687545929 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet +0000000000000000000000000000000000000000 248800626c1c31a2b4100f64a884257833b8c77f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/Microsoft/ApplicationInsights-dotnet Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/HEAD 2023-06-23 18:45:36.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/HEAD 2023-07-18 20:43:35.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/dotnet/cssparser -0d59611784841735a7778a67aa6e9d8d000c861f d6d86bcd8c162b1ae22ef00955ff748d028dd0ee cloudtest_azpcontainer 1687545936 +0000 checkout: moving from main to d6d86bcd8c162b1ae22ef00955ff748d028dd0ee +0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/dotnet/cssparser +0d59611784841735a7778a67aa6e9d8d000c861f d6d86bcd8c162b1ae22ef00955ff748d028dd0ee cloudtest_azpcontainer 1689713015 +0000 checkout: moving from main to d6d86bcd8c162b1ae22ef00955ff748d028dd0ee diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/refs/heads/main dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/refs/heads/main --- dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/refs/heads/main 2023-06-23 18:45:30.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/refs/heads/main 2023-07-18 20:43:28.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/dotnet/cssparser +0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/dotnet/cssparser diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/cssparser/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:30.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/cssparser/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:28.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/dotnet/cssparser +0000000000000000000000000000000000000000 0d59611784841735a7778a67aa6e9d8d000c861f cloudtest_azpcontainer 1689713008 +0000 clone: from https://github.com/dotnet/cssparser Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/HEAD 2023-06-23 18:45:38.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/HEAD 2023-07-18 20:43:36.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/Humanizr/Humanizer -5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 b30550eed103a6970d8465fe7c5c16300b70be81 cloudtest_azpcontainer 1687545938 +0000 checkout: moving from main to b30550eed103a6970d8465fe7c5c16300b70be81 +0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1689713009 +0000 clone: from https://github.com/Humanizr/Humanizer +5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 b30550eed103a6970d8465fe7c5c16300b70be81 cloudtest_azpcontainer 1689713016 +0000 checkout: moving from main to b30550eed103a6970d8465fe7c5c16300b70be81 diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/refs/heads/main dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/refs/heads/main --- dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/refs/heads/main 2023-06-23 18:45:30.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/refs/heads/main 2023-07-18 20:43:29.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/Humanizr/Humanizer +0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1689713009 +0000 clone: from https://github.com/Humanizr/Humanizer diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/humanizer/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:30.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/humanizer/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:29.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1687545930 +0000 clone: from https://github.com/Humanizr/Humanizer +0000000000000000000000000000000000000000 5dfb5ae8b8f90d3f769a7ce389eb5f756305f746 cloudtest_azpcontainer 1689713009 +0000 clone: from https://github.com/Humanizr/Humanizer Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/HEAD 2023-06-23 18:45:33.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/HEAD 2023-07-18 20:43:32.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1687545928 +0000 clone: from https://github.com/microsoft/MSBuildLocator -d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 47281c3de1c87a43ab946725d011b9dca4b6434a cloudtest_azpcontainer 1687545933 +0000 checkout: moving from master to 47281c3de1c87a43ab946725d011b9dca4b6434a +0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1689713007 +0000 clone: from https://github.com/microsoft/MSBuildLocator +d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 47281c3de1c87a43ab946725d011b9dca4b6434a cloudtest_azpcontainer 1689713012 +0000 checkout: moving from master to 47281c3de1c87a43ab946725d011b9dca4b6434a diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/heads/master dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/heads/master --- dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/heads/master 2023-06-23 18:45:28.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/heads/master 2023-07-18 20:43:27.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1687545928 +0000 clone: from https://github.com/microsoft/MSBuildLocator +0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1689713007 +0000 clone: from https://github.com/microsoft/MSBuildLocator diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:28.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/MSBuildLocator/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:27.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1687545928 +0000 clone: from https://github.com/microsoft/MSBuildLocator +0000000000000000000000000000000000000000 d0b588d5206bec7d6c1a7864dbb49ffda0bc6693 cloudtest_azpcontainer 1689713007 +0000 clone: from https://github.com/microsoft/MSBuildLocator Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/HEAD 2023-06-23 18:45:39.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/HEAD 2023-07-18 20:43:38.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545931 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git -0a2e291c0d9c0c7675d445703e51750363a549ef ae9fe44e1323e91bcbd185ca1a14099fba7c021f cloudtest_azpcontainer 1687545939 +0000 checkout: moving from master to ae9fe44e1323e91bcbd185ca1a14099fba7c021f +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713010 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0a2e291c0d9c0c7675d445703e51750363a549ef ae9fe44e1323e91bcbd185ca1a14099fba7c021f cloudtest_azpcontainer 1689713018 +0000 checkout: moving from master to ae9fe44e1323e91bcbd185ca1a14099fba7c021f diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/heads/master dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/heads/master --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/heads/master 2023-06-23 18:45:31.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/heads/master 2023-07-18 20:43:30.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545931 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713010 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:31.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:30.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545931 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713010 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/index differ diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/HEAD 2023-06-23 18:45:41.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/HEAD 2023-07-18 20:43:40.000000000 +0000 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545932 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git -0a2e291c0d9c0c7675d445703e51750363a549ef e5ac9a8473dfdefb8fe2cddae433a9aaa94a5b37 cloudtest_azpcontainer 1687545941 +0000 checkout: moving from master to e5ac9a8473dfdefb8fe2cddae433a9aaa94a5b37 +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713011 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0a2e291c0d9c0c7675d445703e51750363a549ef e5ac9a8473dfdefb8fe2cddae433a9aaa94a5b37 cloudtest_azpcontainer 1689713020 +0000 checkout: moving from master to e5ac9a8473dfdefb8fe2cddae433a9aaa94a5b37 diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/heads/master dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/heads/master --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/heads/master 2023-06-23 18:45:32.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/heads/master 2023-07-18 20:43:31.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545932 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713011 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git diff -Nru dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/remotes/origin/HEAD dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/remotes/origin/HEAD --- dotnet6-6.0.120/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/remotes/origin/HEAD 2023-06-23 18:45:32.000000000 +0000 +++ dotnet6-6.0.121/src/source-build/.git/modules/src/newtonsoft-json901/logs/refs/remotes/origin/HEAD 2023-07-18 20:43:31.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1687545932 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git +0000000000000000000000000000000000000000 0a2e291c0d9c0c7675d445703e51750363a549ef cloudtest_azpcontainer 1689713011 +0000 clone: from https://github.com/JamesNK/Newtonsoft.Json.git Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/source-build-reference-packages/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/source-build-reference-packages/.git/index differ diff -Nru dotnet6-6.0.120/src/source-build-reference-packages/.git/logs/HEAD dotnet6-6.0.121/src/source-build-reference-packages/.git/logs/HEAD --- dotnet6-6.0.120/src/source-build-reference-packages/.git/logs/HEAD 2023-06-23 18:46:47.000000000 +0000 +++ dotnet6-6.0.121/src/source-build-reference-packages/.git/logs/HEAD 2023-07-18 20:44:33.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 38385bc8b19cebe7ae7d20771646158785ee5bdc cloudtest_azpcontainer 1687546007 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 38385bc8b19cebe7ae7d20771646158785ee5bdc cloudtest_azpcontainer 1689713073 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/source-build-reference-packages/.git/logs/refs/heads/master dotnet6-6.0.121/src/source-build-reference-packages/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/source-build-reference-packages/.git/logs/refs/heads/master 2023-06-23 18:46:47.000000000 +0000 +++ dotnet6-6.0.121/src/source-build-reference-packages/.git/logs/refs/heads/master 2023-07-18 20:44:33.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 38385bc8b19cebe7ae7d20771646158785ee5bdc cloudtest_azpcontainer 1687546007 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 38385bc8b19cebe7ae7d20771646158785ee5bdc cloudtest_azpcontainer 1689713073 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/sourcelink/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/sourcelink/.git/index differ diff -Nru dotnet6-6.0.120/src/sourcelink/.git/logs/HEAD dotnet6-6.0.121/src/sourcelink/.git/logs/HEAD --- dotnet6-6.0.120/src/sourcelink/.git/logs/HEAD 2023-06-23 18:46:51.000000000 +0000 +++ dotnet6-6.0.121/src/sourcelink/.git/logs/HEAD 2023-07-18 20:44:36.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 8031e5220baf2acad991e661d8308b783d2acf3e cloudtest_azpcontainer 1687546011 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 8031e5220baf2acad991e661d8308b783d2acf3e cloudtest_azpcontainer 1689713076 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/sourcelink/.git/logs/refs/heads/master dotnet6-6.0.121/src/sourcelink/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/sourcelink/.git/logs/refs/heads/master 2023-06-23 18:46:51.000000000 +0000 +++ dotnet6-6.0.121/src/sourcelink/.git/logs/refs/heads/master 2023-07-18 20:44:36.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 8031e5220baf2acad991e661d8308b783d2acf3e cloudtest_azpcontainer 1687546011 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 8031e5220baf2acad991e661d8308b783d2acf3e cloudtest_azpcontainer 1689713076 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/symreader/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/symreader/.git/index differ diff -Nru dotnet6-6.0.120/src/symreader/.git/logs/HEAD dotnet6-6.0.121/src/symreader/.git/logs/HEAD --- dotnet6-6.0.120/src/symreader/.git/logs/HEAD 2023-06-23 18:45:46.000000000 +0000 +++ dotnet6-6.0.121/src/symreader/.git/logs/HEAD 2023-07-18 20:43:44.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7b9791daa3a3477eb22ec805946c9fff8b42d8ca cloudtest_azpcontainer 1687545946 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7b9791daa3a3477eb22ec805946c9fff8b42d8ca cloudtest_azpcontainer 1689713024 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/symreader/.git/logs/refs/heads/master dotnet6-6.0.121/src/symreader/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/symreader/.git/logs/refs/heads/master 2023-06-23 18:45:46.000000000 +0000 +++ dotnet6-6.0.121/src/symreader/.git/logs/refs/heads/master 2023-07-18 20:43:44.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 7b9791daa3a3477eb22ec805946c9fff8b42d8ca cloudtest_azpcontainer 1687545946 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 7b9791daa3a3477eb22ec805946c9fff8b42d8ca cloudtest_azpcontainer 1689713024 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/templating/eng/Version.Details.xml dotnet6-6.0.121/src/templating/eng/Version.Details.xml --- dotnet6-6.0.120/src/templating/eng/Version.Details.xml 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/eng/Version.Details.xml 2023-07-18 20:42:33.000000000 +0000 @@ -11,17 +11,17 @@ def2e2c6dc5064319250e2868a041a3dc07f9579 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - a08d9ce2caf02455c0b825bcdc32974bdf769a80 + e40b3abf1b41621d4298642a5fd300ebf7cccf6d https://github.com/dotnet/command-line-api @@ -57,9 +57,9 @@ - + https://github.com/dotnet/arcade - 91616785a1a6578c83f7e93d98c34a1eb83d6223 + cd79d2e8f7844d0a9aca607d4d5b9b6ab78e2f34 diff -Nru dotnet6-6.0.120/src/templating/eng/Versions.props dotnet6-6.0.121/src/templating/eng/Versions.props --- dotnet6-6.0.120/src/templating/eng/Versions.props 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/eng/Versions.props 2023-07-18 20:42:33.000000000 +0000 @@ -4,7 +4,7 @@ true true - 6.0.120 + 6.0.121 servicing @@ -25,9 +25,9 @@ 6.0.4-rc.9 6.0.4-rc.9 - 6.0.20 - 6.0.20 - 6.0.20-servicing.23320.17 + 6.0.21 + 6.0.21 + 6.0.21-servicing.23363.11 6.0.4 6.0.0 6.0.0 diff -Nru dotnet6-6.0.120/src/templating/.git/FETCH_HEAD dotnet6-6.0.121/src/templating/.git/FETCH_HEAD --- dotnet6-6.0.120/src/templating/.git/FETCH_HEAD 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/.git/FETCH_HEAD 2023-07-18 20:42:33.000000000 +0000 @@ -1 +1 @@ -080b813fcf9f2417d6f0d50a6853d1b71034482b '080b813fcf9f2417d6f0d50a6853d1b71034482b' of https://dev.azure.com/dnceng/internal/_git/dotnet-templating +b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f 'b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f' of https://dev.azure.com/dnceng/internal/_git/dotnet-templating Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/templating/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/templating/.git/index differ diff -Nru dotnet6-6.0.120/src/templating/.git/logs/HEAD dotnet6-6.0.121/src/templating/.git/logs/HEAD --- dotnet6-6.0.120/src/templating/.git/logs/HEAD 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/.git/logs/HEAD 2023-07-18 20:42:33.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 080b813fcf9f2417d6f0d50a6853d1b71034482b cloudtest_azpcontainer 1687545881 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f cloudtest_azpcontainer 1689712953 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/templating/.git/logs/refs/heads/master dotnet6-6.0.121/src/templating/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/templating/.git/logs/refs/heads/master 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/.git/logs/refs/heads/master 2023-07-18 20:42:33.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 080b813fcf9f2417d6f0d50a6853d1b71034482b cloudtest_azpcontainer 1687545881 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f cloudtest_azpcontainer 1689712953 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/templating/.git/refs/heads/master dotnet6-6.0.121/src/templating/.git/refs/heads/master --- dotnet6-6.0.120/src/templating/.git/refs/heads/master 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/.git/refs/heads/master 2023-07-18 20:42:33.000000000 +0000 @@ -1 +1 @@ -080b813fcf9f2417d6f0d50a6853d1b71034482b +b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f diff -Nru dotnet6-6.0.120/src/templating/.git/shallow dotnet6-6.0.121/src/templating/.git/shallow --- dotnet6-6.0.120/src/templating/.git/shallow 2023-06-23 18:44:39.000000000 +0000 +++ dotnet6-6.0.121/src/templating/.git/shallow 2023-07-18 20:42:31.000000000 +0000 @@ -1 +1 @@ -080b813fcf9f2417d6f0d50a6853d1b71034482b +b84e7c0a5a2a6d8dc8ce802975b4e117d01a891f diff -Nru dotnet6-6.0.120/src/templating/global.json dotnet6-6.0.121/src/templating/global.json --- dotnet6-6.0.120/src/templating/global.json 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/global.json 2023-07-18 20:42:33.000000000 +0000 @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.118", + "dotnet": "6.0.120", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" @@ -8,6 +8,6 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23313.5" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23361.3" } } diff -Nru dotnet6-6.0.120/src/templating/NuGet.config dotnet6-6.0.121/src/templating/NuGet.config --- dotnet6-6.0.120/src/templating/NuGet.config 2023-06-23 18:44:41.000000000 +0000 +++ dotnet6-6.0.121/src/templating/NuGet.config 2023-07-18 20:42:33.000000000 +0000 @@ -4,7 +4,7 @@ - + @@ -19,7 +19,7 @@ - + Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/test-templates/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/test-templates/.git/index differ diff -Nru dotnet6-6.0.120/src/test-templates/.git/logs/HEAD dotnet6-6.0.121/src/test-templates/.git/logs/HEAD --- dotnet6-6.0.120/src/test-templates/.git/logs/HEAD 2023-06-23 18:44:39.000000000 +0000 +++ dotnet6-6.0.121/src/test-templates/.git/logs/HEAD 2023-07-18 20:42:30.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 c40ef7e056b48e011c43a21354d6790ba6b8b4fc cloudtest_azpcontainer 1687545879 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 c40ef7e056b48e011c43a21354d6790ba6b8b4fc cloudtest_azpcontainer 1689712950 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/test-templates/.git/logs/refs/heads/master dotnet6-6.0.121/src/test-templates/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/test-templates/.git/logs/refs/heads/master 2023-06-23 18:44:39.000000000 +0000 +++ dotnet6-6.0.121/src/test-templates/.git/logs/refs/heads/master 2023-07-18 20:42:30.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 c40ef7e056b48e011c43a21354d6790ba6b8b4fc cloudtest_azpcontainer 1687545879 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 c40ef7e056b48e011c43a21354d6790ba6b8b4fc cloudtest_azpcontainer 1689712950 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/vstest/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/vstest/.git/index differ diff -Nru dotnet6-6.0.120/src/vstest/.git/logs/HEAD dotnet6-6.0.121/src/vstest/.git/logs/HEAD --- dotnet6-6.0.120/src/vstest/.git/logs/HEAD 2023-06-23 18:44:53.000000000 +0000 +++ dotnet6-6.0.121/src/vstest/.git/logs/HEAD 2023-07-18 20:42:45.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 cc7fb0593127e24f55ce016fb3ac85b5b2857fec cloudtest_azpcontainer 1687545893 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 cc7fb0593127e24f55ce016fb3ac85b5b2857fec cloudtest_azpcontainer 1689712965 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/vstest/.git/logs/refs/heads/master dotnet6-6.0.121/src/vstest/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/vstest/.git/logs/refs/heads/master 2023-06-23 18:44:53.000000000 +0000 +++ dotnet6-6.0.121/src/vstest/.git/logs/refs/heads/master 2023-07-18 20:42:45.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 cc7fb0593127e24f55ce016fb3ac85b5b2857fec cloudtest_azpcontainer 1687545893 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 cc7fb0593127e24f55ce016fb3ac85b5b2857fec cloudtest_azpcontainer 1689712965 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/xdt/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/xdt/.git/index differ diff -Nru dotnet6-6.0.120/src/xdt/.git/logs/HEAD dotnet6-6.0.121/src/xdt/.git/logs/HEAD --- dotnet6-6.0.120/src/xdt/.git/logs/HEAD 2023-06-23 18:45:27.000000000 +0000 +++ dotnet6-6.0.121/src/xdt/.git/logs/HEAD 2023-07-18 20:43:25.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 698fdad58fa64a55f16cd9562c90224cc498ed02 cloudtest_azpcontainer 1687545927 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 698fdad58fa64a55f16cd9562c90224cc498ed02 cloudtest_azpcontainer 1689713005 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/xdt/.git/logs/refs/heads/master dotnet6-6.0.121/src/xdt/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/xdt/.git/logs/refs/heads/master 2023-06-23 18:45:27.000000000 +0000 +++ dotnet6-6.0.121/src/xdt/.git/logs/refs/heads/master 2023-07-18 20:43:25.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 698fdad58fa64a55f16cd9562c90224cc498ed02 cloudtest_azpcontainer 1687545927 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 698fdad58fa64a55f16cd9562c90224cc498ed02 cloudtest_azpcontainer 1689713005 +0000 reset: moving to FETCH_HEAD Binary files /tmp/tmp6xvi5dvy/_faOjQMQDR/dotnet6-6.0.120/src/xliff-tasks/.git/index and /tmp/tmp6xvi5dvy/op1nRrQiFI/dotnet6-6.0.121/src/xliff-tasks/.git/index differ diff -Nru dotnet6-6.0.120/src/xliff-tasks/.git/logs/HEAD dotnet6-6.0.121/src/xliff-tasks/.git/logs/HEAD --- dotnet6-6.0.120/src/xliff-tasks/.git/logs/HEAD 2023-06-23 18:46:51.000000000 +0000 +++ dotnet6-6.0.121/src/xliff-tasks/.git/logs/HEAD 2023-07-18 20:44:37.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 bc3233146e1fcd393ed471d5005333c83363e0fe cloudtest_azpcontainer 1687546011 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 bc3233146e1fcd393ed471d5005333c83363e0fe cloudtest_azpcontainer 1689713077 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/src/xliff-tasks/.git/logs/refs/heads/master dotnet6-6.0.121/src/xliff-tasks/.git/logs/refs/heads/master --- dotnet6-6.0.120/src/xliff-tasks/.git/logs/refs/heads/master 2023-06-23 18:46:51.000000000 +0000 +++ dotnet6-6.0.121/src/xliff-tasks/.git/logs/refs/heads/master 2023-07-18 20:44:37.000000000 +0000 @@ -1 +1 @@ -0000000000000000000000000000000000000000 bc3233146e1fcd393ed471d5005333c83363e0fe cloudtest_azpcontainer 1687546011 +0000 reset: moving to FETCH_HEAD +0000000000000000000000000000000000000000 bc3233146e1fcd393ed471d5005333c83363e0fe cloudtest_azpcontainer 1689713077 +0000 reset: moving to FETCH_HEAD diff -Nru dotnet6-6.0.120/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff dotnet6-6.0.121/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff --- dotnet6-6.0.120/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff 2023-06-23 18:43:18.000000000 +0000 +++ dotnet6-6.0.121/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff 2023-07-18 20:41:26.000000000 +0000 @@ -14,20 +14,7 @@ ./packs/Microsoft.AspNetCore.App.Ref/ ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ @@ ------------ @@ - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.JSInterop.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.Net.Http.Headers.dll - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/Microsoft.Net.Http.Headers.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.DiagnosticSource.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.DiagnosticSource.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.EventLog.dll - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Diagnostics.EventLog.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Formats.Asn1.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Formats.Asn1.xml - ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.IO.Pipelines.dll ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.IO.Pipelines.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Runtime.CompilerServices.Unsafe.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.xml ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.dll ./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.xml -./packs/Microsoft.NETCore.App.Host.portable-rid/ @@ -42,10 +29,6 @@ -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/libnethost.so -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/nethost.h -./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/singlefilehost -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.xml -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.dll -+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.xml +./packs/Microsoft.NETCore.App.Host.banana-rid/ +./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/ +./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/