platform/upstream/dotnet/runtime.git
3 years agoUpdate comments on RequiresAssemblyFiles (#55675)
Tlakaelel Axayakatl Ceja [Wed, 14 Jul 2021 19:23:32 +0000 (12:23 -0700)]
Update comments on RequiresAssemblyFiles (#55675)

The setter of the Message property in RequiresAssemblyFiles was removed, updating the documentation to reflect that change

3 years agoRequire CFB8 for persisted CNG keys in CFB mode
Kevin Jones [Wed, 14 Jul 2021 19:22:10 +0000 (15:22 -0400)]
Require CFB8 for persisted CNG keys in CFB mode

This changes AesCng and TripleDESCng to require the feedback size to be
set to '8' when in CFB mode and using a persisted CNG key.

Prior to this change, BasicSymmetricCipherNCrypt ignored the feedback
size which resulted in CFB8 always being used, even if the FeedbackSize
was set to another value. However, when padding was applied, the padding
size would be padded to the feedback size. In the case of AesCng, this
would mean it would be encrypted with CFB8 and padded as if it were
CFB128.

This changes the implementation so that the feedback size is required
to be set to 8 for persisted keys. No change is made for ephemeral keys.

3 years agoremove Steve as the os-mac-os-x owner (#55671)
Jeff Schwartz [Wed, 14 Jul 2021 19:15:55 +0000 (12:15 -0700)]
remove Steve as the os-mac-os-x owner (#55671)

3 years agoUnify Requires Attribute (#55622)
Tlakaelel Axayakatl Ceja [Wed, 14 Jul 2021 19:09:16 +0000 (12:09 -0700)]
Unify Requires Attribute (#55622)

Add an overload to RequiresAssemblyFiles to be able to have the same user experience as if using RequiresUnreferencedCode

3 years agoOverride the APM methods on AsyncWindowsFileStreamStrategy. (#55203)
Theodore Tsirpanis [Wed, 14 Jul 2021 19:01:43 +0000 (22:01 +0300)]
Override the APM methods on AsyncWindowsFileStreamStrategy. (#55203)

* Override the APM methods on AsyncWindowsFileStreamStrategy.

Closes #55172.

* Address PR feedback.

* Update src/libraries/System.Private.CoreLib/src/System/IO/Strategies/AsyncWindowsFileStreamStrategy.cs

* Update AsyncWindowsFileStreamStrategy.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoDisable some System.Drawing.Common tests failing on Windows Mono (#55656)
Alexander Köplinger [Wed, 14 Jul 2021 18:51:25 +0000 (20:51 +0200)]
Disable some System.Drawing.Common tests failing on Windows Mono (#55656)

After https://github.com/dotnet/runtime/pull/54884 these tests started failing on Mono on Windows, see https://github.com/dotnet/runtime/issues/55655.

3 years ago[wasm][debugger] Implement support to DebuggerDisplay attribute (#55524)
Thays Grazia [Wed, 14 Jul 2021 18:24:33 +0000 (11:24 -0700)]
[wasm][debugger] Implement support to DebuggerDisplay attribute (#55524)

* Support DebuggerDisplay attribute on type.

* Implementing DebuggerDisplay calling methods.

* Apply suggestions from code review

Co-authored-by: Larry Ewing <lewing@microsoft.com>
* Fixing snake case.

* Changing snake case.

Co-authored-by: Larry Ewing <lewing@microsoft.com>
3 years agoHTTP/3 GET Aborted stress scenario fix (#55582)
Natalia Kondratyeva [Wed, 14 Jul 2021 18:11:16 +0000 (20:11 +0200)]
HTTP/3 GET Aborted stress scenario fix (#55582)

This adds checks for HTTP/3 specific exceptions to GET Aborted scenario

3 years agoImplement JitInfo API (#55046)
John Salem [Wed, 14 Jul 2021 17:47:10 +0000 (10:47 -0700)]
Implement JitInfo API (#55046)

3 years agoPlace the CMake command line cache file in the intermediates dir instead of the outpu...
Jeremy Koritzinsky [Wed, 14 Jul 2021 17:44:24 +0000 (10:44 -0700)]
Place the CMake command line cache file in the intermediates dir instead of the output dir (#55587)

Fixes an issue where deleting the intermediates folder locally would get the build in a bad state where the command-line check would be up to date but the CMake files would not be generated.

3 years agoUse GitHub issue form for API suggestions (#55659)
Immo Landwerth [Wed, 14 Jul 2021 17:41:46 +0000 (10:41 -0700)]
Use GitHub issue form for API suggestions (#55659)

3 years agoCorrectly skip PosixSignalRegistrationTests on mobile (#55643)
Alexander Köplinger [Wed, 14 Jul 2021 17:04:48 +0000 (19:04 +0200)]
Correctly skip PosixSignalRegistrationTests on mobile (#55643)

https://github.com/dotnet/runtime/pull/55569 didn't fix the issue since xunit retrieves the MemberData and checks for non-empty *before* evaluating the ConditionalTheory condition.

3 years agoRaise the max size poolable by ArrayPool (#55621)
Stephen Toub [Wed, 14 Jul 2021 15:33:50 +0000 (11:33 -0400)]
Raise the max size poolable by ArrayPool (#55621)

We previously set an arbitrary cut-off of 2MB max array size. That was before we would trim arrays in response to memory pressure.  This now raises the limit as high as we can while maintaining the current power-of-two-based scheme.

3 years agoenable working websocket subprotocol test
Pavel Savara [Wed, 14 Jul 2021 15:10:20 +0000 (17:10 +0200)]
enable working websocket subprotocol test

3 years agoMigrate various parts of the bindings code to use roots (#55530)
Katelyn Gadd [Wed, 14 Jul 2021 14:54:04 +0000 (07:54 -0700)]
Migrate various parts of the bindings code to use roots (#55530)

We have a lot of code that passes raw pointers to managed objects around when they should really be using roots instead (i.e. root.value) so that if the GC relocates the object, they won't be using the old address. This PR migrates a bunch of that code so that it uses root objects.

A lot of code remains that does use raw objects, but I read over all of it and the cases appear to be safe because they immediately return it (or return it without calling any other functions).

3 years ago[wasm] Run `Wasm.Build.Tests` against workloads (#54451)
Ankit Jain [Wed, 14 Jul 2021 14:47:03 +0000 (10:47 -0400)]
[wasm] Run `Wasm.Build.Tests` against workloads (#54451)

Co-authored-by: Larry Ewing <lewing@microsoft.com>
3 years agoTurn on loc PRs (#54293)
Jon Fortescue [Wed, 14 Jul 2021 14:26:52 +0000 (07:26 -0700)]
Turn on loc PRs (#54293)

* Turn on loc PRs

* oops

Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
* Keep OneLocBuild running only in main

Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
3 years agoDisable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequests...
Alexander Nikolaev [Wed, 14 Jul 2021 14:05:27 +0000 (16:05 +0200)]
Disable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled

Reverts #55572. The test is still failing.

3 years ago[QUIC] Cosmetic changes to Read pipeline (#55591)
Natalia Kondratyeva [Wed, 14 Jul 2021 14:00:44 +0000 (16:00 +0200)]
[QUIC] Cosmetic changes to Read pipeline (#55591)

Follow-up for NITs and cosmetic changes from #55505

3 years ago[mono][wasm] Mark memcpy LLVM instructions as volatile when they are used to copy...
Zoltan Varga [Wed, 14 Jul 2021 13:45:04 +0000 (09:45 -0400)]
[mono][wasm] Mark memcpy LLVM instructions as volatile when they are used to copy (#55598)

valuetypes containing references. This is needed to make sure llvm keeps the valuetypes
on the C stack for GC tracking.

Fixes random crashes when running the System.Collections.NonGeneric testsuite.

3 years agoAdd ArgumentNullException.ThrowIfNull (#55594)
Stephen Toub [Wed, 14 Jul 2021 13:12:09 +0000 (09:12 -0400)]
Add ArgumentNullException.ThrowIfNull (#55594)

3 years ago[mono][wasm] Avoid compiling llvm bitcode files with -emit-llvm. (#55630)
Zoltan Varga [Wed, 14 Jul 2021 12:53:09 +0000 (08:53 -0400)]
[mono][wasm] Avoid compiling llvm bitcode files with -emit-llvm. (#55630)

It causes the output to be a bitcode file as well, which is
passed to the emscripten link step, which will compile it
to wasm sequentially, slowing down linking.

Fixes https://github.com/dotnet/runtime/issues/54935.

3 years agoremove superfluous comment (#55634)
Eirik Tsarpalis [Wed, 14 Jul 2021 12:32:27 +0000 (15:32 +0300)]
remove superfluous comment (#55634)

Fix #55389

3 years ago[wasm] [debugger] Support method calls (#55458)
Thays Grazia [Wed, 14 Jul 2021 12:13:46 +0000 (05:13 -0700)]
[wasm] [debugger] Support method calls  (#55458)

* Implement method calls and method calls with simple parameters.

* removing useless change.

* Support const char.
Support object.

* Adding more tests as suggested by @pavelsavara.

* Adding a test calling a method that returns void and change an attribute value.

* Changing what @pavelsavara suggested.

* Fix merge.

3 years ago[debugger] Fix debugging after hot reloading (#55599)
Thays Grazia [Wed, 14 Jul 2021 12:13:32 +0000 (05:13 -0700)]
[debugger] Fix debugging after hot reloading (#55599)

* Fix deug after hotreload.

* do not change mono.proj

* fix formatting.

* Remove extra space.

3 years agoInliner: Extend IL limit for profiled call-sites, allow inlining for switches. (...
Egor Bogatov [Wed, 14 Jul 2021 11:01:14 +0000 (14:01 +0300)]
Inliner: Extend IL limit for profiled call-sites, allow inlining for switches. (#55478)

3 years agoDiagnosticSourceEventSource supports base class properties (#55613)
Noah Falk [Wed, 14 Jul 2021 10:29:04 +0000 (03:29 -0700)]
DiagnosticSourceEventSource supports base class properties (#55613)

Fixes #41300

Previously DiagnosticSourceEventSource would only iterate and recognize properties that were declared on the most derived type.
Now it can capture properties that were inherited from a base class too.

3 years ago[mono] Fix race during mono_image_storage_open (#55201)
Ulrich Weigand [Wed, 14 Jul 2021 09:52:27 +0000 (11:52 +0200)]
[mono] Fix race during mono_image_storage_open (#55201)

3 years ago[mono] Add wrapper info for native func wrappers. (#55602)
Zoltan Varga [Wed, 14 Jul 2021 09:07:37 +0000 (05:07 -0400)]
[mono] Add wrapper info for native func wrappers. (#55602)

Fixes https://github.com/dotnet/runtime/issues/55567.

3 years agoH/3 and Quic AppContext switch (#55332)
Marie Píchová [Wed, 14 Jul 2021 07:19:45 +0000 (09:19 +0200)]
H/3 and Quic AppContext switch (#55332)

* Renamed AllowDraftHttp3 to AllowHttp3AndQuic app context switch

* Usage of AllowHttp3AndQuic switch in S.N.Quic and enabling it in tests

* Renamed AppContext switch to Http3Support

3 years agoCompression.ZipFile support for Unix Permissions (#55531)
Eric Erhardt [Wed, 14 Jul 2021 04:14:24 +0000 (23:14 -0500)]
Compression.ZipFile support for Unix Permissions (#55531)

* Compression.ZipFile support for Unix Permissions

When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract.

Fix #1548

3 years ago[mono] Fix skipping of static methods during IMT table construction. (#55610)
Zoltan Varga [Wed, 14 Jul 2021 04:12:14 +0000 (00:12 -0400)]
[mono] Fix skipping of static methods during IMT table construction. (#55610)

Fixes https://github.com/dotnet/runtime/issues/55375.

3 years agoCombine System.Private.Xml TrimmingTests projects (#55606)
Eric Erhardt [Wed, 14 Jul 2021 03:14:39 +0000 (22:14 -0500)]
Combine System.Private.Xml TrimmingTests projects (#55606)

For some reason we have 2 of them, and only need 1.

3 years agofix name conflict with Configuration class (#55597)
Geoff Kizer [Wed, 14 Jul 2021 01:36:43 +0000 (18:36 -0700)]
fix name conflict with Configuration class (#55597)

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoFinish migrating RSAOpenSsl from RSA* to EVP_PKEY*
Jeremy Barton [Wed, 14 Jul 2021 01:20:19 +0000 (18:20 -0700)]
Finish migrating RSAOpenSsl from RSA* to EVP_PKEY*

This change moves the RSAOpenSsl class (and the RSA.Create() internal class on Linux) to use EVP_PKEY
for the import and export operations, making the interaction with the underlying library based on
PKCS#8 PrivateKeyInfo and X.509 SubjectPublicKeyInfo key blobs.

A large portion of the code is just from splitting the key helpers files to not need all of the encrypted PKCS#8 support
in the System.Security.Cryptography.OpenSsl library, as the encrypted PKCS#8 <-> unencrypted PKCS#8 work provided
by the base classes is sufficient.

Once PKCS#8 and SPKI became the primary modes of interaction the spanified import and export routines for those got
overridden in RSAOpenSsl to avoid SPKI->RSAParameters->SPKI-style conversions.

This change completely eliminates SafeRsaHandle, and the only time that an `RSA*` is used at all is in the legacy RSAOpenSsl(IntPtr) constructor.

3 years agoDisable generic math (#55540)
Tanner Gooding [Wed, 14 Jul 2021 00:34:26 +0000 (17:34 -0700)]
Disable generic math (#55540)

3 years agoObsolete CryptoConfig.EncodeOID (#55592)
Kevin Jones [Wed, 14 Jul 2021 00:16:54 +0000 (20:16 -0400)]
Obsolete CryptoConfig.EncodeOID (#55592)

3 years agoAddress System.Net.Http.WinHttpHandler's nullable warnings targeting .NETCoreApp...
Huo Yaoyuan [Wed, 14 Jul 2021 00:11:58 +0000 (08:11 +0800)]
Address System.Net.Http.WinHttpHandler's nullable warnings targeting .NETCoreApp (#54995)

* Update nullability for WinHttpHandler

* Update project file

* Use ! for PtrToStringUni

* Move assertion of _sessionHandle

* Remove false assertion about RequestHandle.

3 years agoEnable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsS...
Alexander Nikolaev [Wed, 14 Jul 2021 00:10:52 +0000 (02:10 +0200)]
Enable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled (#55572)

* Enable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled

* Update SocketsHttpHandlerTest.cs

3 years agoFix Task.WhenAny failure mode when passed ICollection of zero tasks (#55580)
Stephen Toub [Wed, 14 Jul 2021 00:10:24 +0000 (20:10 -0400)]
Fix Task.WhenAny failure mode when passed ICollection of zero tasks (#55580)

3 years agoConsume DistributedContextPropagator in DiagnosticsHandler (#55392)
Miha Zupan [Tue, 13 Jul 2021 23:44:57 +0000 (16:44 -0700)]
Consume DistributedContextPropagator in DiagnosticsHandler (#55392)

3 years agoAdd property ordering feature (#55586)
Steve Harter [Tue, 13 Jul 2021 22:40:28 +0000 (17:40 -0500)]
Add property ordering feature (#55586)

3 years agoReduce subtest count in Reflection (#55537)
Dan Moseley [Tue, 13 Jul 2021 22:33:32 +0000 (16:33 -0600)]
Reduce subtest count in Reflection (#55537)

* Reduce reflection subtest count

* typo

3 years agoDo PGO restore as part of PGO path lookup. (#55584)
Jeremy Koritzinsky [Tue, 13 Jul 2021 22:26:47 +0000 (15:26 -0700)]
Do PGO restore as part of PGO path lookup. (#55584)

3 years agoOpen types can exist as entries in interface map (#55372)
David Wrighton [Tue, 13 Jul 2021 22:25:10 +0000 (15:25 -0700)]
Open types can exist as entries in interface map (#55372)

* Open types can exist as entries in interface map
- While invalid via the ECMA spec, the runtime currently represents a type explicitly instantiated over its own generic type parameters via the open type MethodTable
- This is not strictly correct, as per the spec, these should be represented via an instantiated type, but changing that detail at this time is considered highly risky
- This conflicts with the perf optimization around partialy interface loading which uses the open type of an interface to represent a type instantiated in the curiously recurring fashion.
- The fix is to detect types instantiated over generic variables, and make them ineligible for the optimization, and to detect those cases where the optimization is ineligible, and revert back to the non-optimized behavior

Fixes #55323

3 years agoAvoid declaring an object cannot fit in a segment if we already have committed space...
Andrew Au [Tue, 13 Jul 2021 22:10:34 +0000 (15:10 -0700)]
Avoid declaring an object cannot fit in a segment if we already have committed space for it (#55585)

3 years agoRecognize MacCatalyst as a superset of iOS (#55550)
Jeff Handley [Tue, 13 Jul 2021 21:33:41 +0000 (14:33 -0700)]
Recognize MacCatalyst as a superset of iOS (#55550)

Recognize MacCatalyst as a superset of iOS and apply platform guard attributes that will inform the analyzer of the relationship.

3 years agoFix length check for Regex BOL FindFirstChar optimization (#55574)
Stephen Toub [Tue, 13 Jul 2021 21:10:18 +0000 (17:10 -0400)]
Fix length check for Regex BOL FindFirstChar optimization (#55574)

For a beginning-of-line anchor, in FindFirstChar we use IndexOf to quickly skip ahead to the next \n.  But we neglected to check to see whether that brought us past an explicitly specified end position.  This just adds the missing check.

3 years agoRemove IL2050 in System.Management (#54810)
Andrii Kurdiumov [Tue, 13 Jul 2021 20:47:02 +0000 (02:47 +0600)]
Remove IL2050 in System.Management (#54810)

* Remove IL2050 in System.Management
Remove unused functions which trigger IL2050
As per discussed in #54317

* Fix location of variables

3 years agoRemove IL205 warning for System.Data.Odbc (#54809)
Andrii Kurdiumov [Tue, 13 Jul 2021 20:44:03 +0000 (02:44 +0600)]
Remove IL205 warning for System.Data.Odbc (#54809)

Function which produce warning not used anywhere

3 years ago[mono] Fix loader incompatibility w.r.t. Resolving event (#54815)
Ulrich Weigand [Tue, 13 Jul 2021 20:42:47 +0000 (22:42 +0200)]
[mono] Fix loader incompatibility w.r.t. Resolving event (#54815)

* When loading a non-satellite assembly into a non-default ALC,
  invoke the Resolving event in the default ALC first.

* Fixes https://github.com/dotnet/runtime/issues/54814

3 years ago[QUIC] Move ByteMixingOrNativeAVE_MinimalFailingTest to OuterLoop (#55595)
Natalia Kondratyeva [Tue, 13 Jul 2021 20:38:24 +0000 (22:38 +0200)]
[QUIC] Move ByteMixingOrNativeAVE_MinimalFailingTest to OuterLoop (#55595)

Fixes #55588

3 years agoAdd runtime property HOSTFXR_PATH (#55369)
Mateo Torres-Ruiz [Tue, 13 Jul 2021 20:16:29 +0000 (13:16 -0700)]
Add runtime property HOSTFXR_PATH (#55369)

* Add property HOSTFXR_PATH

* Comment

* PR feedback

* Use get_own_module_path since we are on hostfxr

* Dispose FileStream

3 years agoRemove EventSourceActivity (#55575)
hrrrrustic [Tue, 13 Jul 2021 19:53:12 +0000 (22:53 +0300)]
Remove EventSourceActivity (#55575)

* remove file

* remove a few references to deleted file

* fix corelib

3 years agoSimplify PosixSignalRegistration implementation on Unix (#55552)
Stephen Toub [Tue, 13 Jul 2021 19:39:47 +0000 (15:39 -0400)]
Simplify PosixSignalRegistration implementation on Unix (#55552)

* Simplify PosixSignalRegistration implementation on Unix

Bring it onto the same scheme as the Windows implementation.

* Address PR feedback

* Delete more dead code

* Update PosixSignalRegistration.Unix.cs

3 years agoDisable some PosixSignalRegistration tests on mobile targets (#55569)
Stephen Toub [Tue, 13 Jul 2021 19:39:29 +0000 (15:39 -0400)]
Disable some PosixSignalRegistration tests on mobile targets (#55569)

xunit doesn't like the fact that some of these MemberDatas were yielding 0 entries on these platforms.

3 years agoDisable Http2_MultipleConnectionsEnabled_InfiniteRequestsCompletelyBlockOneConnection...
Alexander Nikolaev [Tue, 13 Jul 2021 19:10:16 +0000 (21:10 +0200)]
Disable Http2_MultipleConnectionsEnabled_InfiniteRequestsCompletelyBlockOneConnection_RemaningRequestsAreHandledByNewConnection (#55593)

3 years agoAdd leeway to revocation timeout tests.
Kevin Jones [Tue, 13 Jul 2021 18:37:00 +0000 (14:37 -0400)]
Add leeway to revocation timeout tests.

3 years ago[wasm][http] Improve compatibility of abort and cancelation of BrowserHttpHandler...
Pavel Savara [Tue, 13 Jul 2021 18:20:10 +0000 (20:20 +0200)]
[wasm][http] Improve compatibility of abort and cancelation of BrowserHttpHandler (#55084)

* fixed handling of cancelation and abots exceptions to match unit test expectations

added [ActiveIssue("https://github.com/dotnet/runtime/issues/55083", TestPlatforms.Browser)] for redirect outerloop tests

* more

* code review feedback

3 years ago[main] Update dependencies from 7 repositories (#55565)
dotnet-maestro[bot] [Tue, 13 Jul 2021 18:13:22 +0000 (20:13 +0200)]
[main] Update dependencies from 7 repositories (#55565)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210712.2

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21361.3 -> To Version 1.0.0-prerelease.21362.2

* Update dependencies from https://github.com/dotnet/arcade build 20210709.3

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21357.3 -> To Version 6.0.0-beta.21359.3

* Update dependencies from https://github.com/dotnet/icu build 20210712.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-preview.7.21328.1 -> To Version 6.0.0-preview.7.21362.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20210712.1

runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21357.1 -> To Version 11.1.0-alpha.1.21362.1

* Update dependencies from https://github.com/mono/linker build 20210712.3

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21358.3 -> To Version 6.0.100-preview.6.21362.3

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210712.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21361.1 -> To Version 1.0.1-alpha.0.21362.1

* Update dependencies from https://github.com/dotnet/emsdk build 20210713.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-preview.7.21362.2 -> To Version 6.0.0-preview.7.21363.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoAdd one-shot CFB encrypt/decrypt to SymmetricAlgorithm
Kevin Jones [Tue, 13 Jul 2021 18:01:31 +0000 (14:01 -0400)]
Add one-shot CFB encrypt/decrypt to SymmetricAlgorithm

Adds the CFB versions similar to the already-added ECB and CBC versions.

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
3 years agoFix Tizen ARMEL Build Failure (#55545)
Dong-Heon Jung [Tue, 13 Jul 2021 18:01:19 +0000 (03:01 +0900)]
Fix Tizen ARMEL Build Failure (#55545)

* Fix Tizen ARMEL Build Failure

* Check with MFD_CLOEXEC instead of ARM_SOFTFP

3 years agoRemove C# dynamic support from JsonNode (#55430)
Steve Harter [Tue, 13 Jul 2021 17:57:48 +0000 (12:57 -0500)]
Remove C# dynamic support from JsonNode (#55430)

3 years agoDelayed client certificate (#54692)
Jan Jahoda [Tue, 13 Jul 2021 17:45:59 +0000 (19:45 +0200)]
Delayed client certificate (#54692)

* initial prototype

* Restore TLS 1.2 renegotiation

* First windows functionality merge

* reenable client certificate

* Add more renegotiate tests

* Remove client certificates

* Cleanup

* add test log

* Apply PR comments

* Add Data frame test

* Add drain buffer test

* Fix tls 1.3 incomming app data frame

* Restore verify callback

* Remove debug log

* Remove keylog callback and unused method

* Fix test build

* Attempt to fix openssl version api difference

* Sort shim

* fix build

* CI log

* Restore mac tests

* Add logs

* fix test runs on old openssl

* fix tests

* fix w7 condition

* feedback from review

Co-authored-by: wfurt <tweinfurt@yahoo.com>
3 years agoAdd ConfigurationManager(#55338)
Stephen Halter [Tue, 13 Jul 2021 17:26:42 +0000 (10:26 -0700)]
Add ConfigurationManager(#55338)

* ConfigurationManager : IConfigurationRoot, IConfigurationBuilder

3 years agoH/3 Server Cert validation callback exception fix (#55526)
Marie Píchová [Tue, 13 Jul 2021 17:18:26 +0000 (19:18 +0200)]
H/3 Server Cert validation callback exception fix (#55526)

* Fix and test.

* MsQuicConnection now call the cert validation callback only once, removed code duplication

3 years agoAdd AttributeTargets.Interface to JsonConverterAttribute (#54922)
Eirik Tsarpalis [Tue, 13 Jul 2021 16:57:45 +0000 (19:57 +0300)]
Add AttributeTargets.Interface to JsonConverterAttribute (#54922)

* Allow JsonConverterAttribute usage on interfaces.

Fix #33112

* update ApiCompat baseline

3 years agoQUIC read pipeline changes (#55505)
Natalia Kondratyeva [Tue, 13 Jul 2021 16:49:47 +0000 (18:49 +0200)]
QUIC read pipeline changes (#55505)

This brings changes to read states and behavior done initially in #52929 with my fixes to it to make all tests work

3 years agoImport `cgt.un(op, 0)` as `NE(op, 0)` (#54539)
SingleAccretion [Tue, 13 Jul 2021 16:39:21 +0000 (19:39 +0300)]
Import `cgt.un(op, 0)` as `NE(op, 0)` (#54539)

* Some minor code modernization

Use "genActualType" directly as it is now a templated method.

Don't create casts to TYP_ULONG - they are identical to casts
to TYP_LONG. TYP_ULONG is only relevant for checked casts.

Add a TODO on addressing the duplicated logic that upcasts to
native int from int32 on 64 bit.

Use modern comments.

Zero diffs.

* Normalize GT_UN(op, 0) early in importer

Normalizing this idiom helps downstream optimizations.

* Solve most of the regressions

In morph, when narrowing the AND operand, only
insert casts if necessary - prefer to use "optNarrowTree".
Otherwise we end up with redundant register shuffling.

3 years agoExpose nullability info (#54985)
Buyaa Namnan [Tue, 13 Jul 2021 16:34:34 +0000 (09:34 -0700)]
Expose nullability info (#54985)

* Expose nullability info from Reflection

3 years agoAugment tests for FileMode.Append (#55513)
Stephen Toub [Tue, 13 Jul 2021 16:05:31 +0000 (12:05 -0400)]
Augment tests for FileMode.Append (#55513)

To validate that seeking and writing are valid in the region of the file since its initial length.

3 years agoRename TextMapPropagator to DistributedContextPropagator (#55539)
Tarek Mahmoud Sayed [Tue, 13 Jul 2021 16:00:40 +0000 (09:00 -0700)]
Rename TextMapPropagator to DistributedContextPropagator (#55539)

3 years agoUpdate spin-wait pause/yield normalization (#55295)
Koundinya Veluri [Tue, 13 Jul 2021 15:59:20 +0000 (08:59 -0700)]
Update spin-wait pause/yield normalization (#55295)

Update spin-wait pause/yield normalization

- Modified the measurement to use much less time and to remeasure periodically to reduce CPU usage during startup
- Each measurement does a low-microsecond-level measurement of pause/yield times
- Some small amount of history of recent measurements is retained and used to for now take the lowest measurement for normalization
- Measurements are done lazily, and at most every few seconds another measurement is taken
- Added a profiling event that includes info about a measurement and the established value from recent measurements that is used for normalization

3 years agoImprove resolving runtime pack in WasmApp targets (#55258)
Alexander Köplinger [Tue, 13 Jul 2021 15:12:28 +0000 (17:12 +0200)]
Improve resolving runtime pack in WasmApp targets (#55258)

Use similar logic to `eng/targetingpacks.targets` in `WasmApp.InTree.targets` and `WasmApp.LocalBuild.targets`.

Also set `UseMonoRuntime=true` to make sure we get the Mono-based runtime pack.

3 years agoDo not eliminate casts from FP types (#53667)
SingleAccretion [Tue, 13 Jul 2021 15:10:39 +0000 (18:10 +0300)]
Do not eliminate casts from FP types (#53667)

An optimization in morph was deleting casts
on the RHS of a narrow store if the cast-to-type
was wider than the type being stored. This is only
valid for casts from integral types, as the backend
does not handle "STOREIND(byte*, double)", nor is there
an instruction to go from an XMM register to a narrow
memory location on x86/x64.

The issue is not reproducible right now because
fgMorphCast wraps the casts in question, but it is
an invalid IR transformation nonetheless, and similar
code in fgMorphSmpOpOptional guards against non-integral sources.

3 years agooptimize adding unwind info entries by hashtable (#55398)
Dzmitry Konanka [Tue, 13 Jul 2021 15:02:43 +0000 (18:02 +0300)]
optimize adding unwind info entries by hashtable (#55398)

3 years agoUse interpolated strings in more places
Stephen Toub [Mon, 12 Jul 2021 10:30:34 +0000 (06:30 -0400)]
Use interpolated strings in more places

3 years agoFix LangVersion on several test projects
Stephen Toub [Sat, 10 Jul 2021 14:09:23 +0000 (10:09 -0400)]
Fix LangVersion on several test projects

3 years agoAdd Debug.Assert/Write{Line}If interpolated overloads
Stephen Toub [Fri, 18 Jun 2021 21:57:11 +0000 (17:57 -0400)]
Add Debug.Assert/Write{Line}If interpolated overloads

3 years agoAdd Span.TryWrite, StringBuilder.Append, and String.Create interpolated strings support
Stephen Toub [Wed, 26 May 2021 00:41:54 +0000 (20:41 -0400)]
Add Span.TryWrite, StringBuilder.Append, and String.Create interpolated strings support

3 years agoFix for a couple of Microsoft.XmlSerializer.Generator issues (#55427)
Hong Li [Tue, 13 Jul 2021 13:44:22 +0000 (06:44 -0700)]
Fix for a couple of Microsoft.XmlSerializer.Generator issues (#55427)

* Fix for a couple of Microsoft.XmlSerializer.Generator issues

* fix the name of the AssemblyInfo.cs file

3 years agoProcess.Unix: consider executable permission while searching PATH. (#55504)
Tom Deseyn [Tue, 13 Jul 2021 13:43:49 +0000 (15:43 +0200)]
Process.Unix: consider executable permission while searching PATH. (#55504)

3 years agoFix exception (#55324)
Stefan [Tue, 13 Jul 2021 13:27:54 +0000 (15:27 +0200)]
Fix exception (#55324)

3 years agoUse ReflectionOnly as data contract serializer option for iOS/tvOS/MacCatalyst (...
Maxim Lipnin [Tue, 13 Jul 2021 13:16:17 +0000 (16:16 +0300)]
Use ReflectionOnly as data contract serializer option for iOS/tvOS/MacCatalyst (#55503)

An attempt to address #47114 by making the System.Runtime.Serialization.DataContractSerializer.Option property return ReflectionOnly value when RuntimeFeature.IsDynamicCodeSupported is true.

3 years agoFix UMThunkMarshInfo delete (#55559)
Jan Vorlicek [Tue, 13 Jul 2021 13:04:15 +0000 (15:04 +0200)]
Fix UMThunkMarshInfo delete (#55559)

There was a forgotten call to c++ delete that should have been converted
to LoaderHeap::BackoutMem in a code path invoked only if two threads
raced for allocating the UMThunkMarshInfo and the one that lost the race
needed to delete it.

3 years agoFix nullable warning in AssemblyLoadContext30Extensions.cs
Stephen Toub [Tue, 13 Jul 2021 01:37:58 +0000 (21:37 -0400)]
Fix nullable warning in AssemblyLoadContext30Extensions.cs

3 years agoAvoid obscuring failure by ODE thrown from Dispose
Stephen Toub [Mon, 12 Jul 2021 19:18:29 +0000 (15:18 -0400)]
Avoid obscuring failure by ODE thrown from Dispose

3 years agoWorkaround eventpipe deadlock due to ArrayPool usage
Stephen Toub [Mon, 12 Jul 2021 18:32:36 +0000 (14:32 -0400)]
Workaround eventpipe deadlock due to ArrayPool usage

3 years agoTemporarily remove string interpolation from NetCoreServer test helper
Stephen Toub [Mon, 12 Jul 2021 16:54:46 +0000 (12:54 -0400)]
Temporarily remove string interpolation from NetCoreServer test helper

3 years agoFix async method builder override tests for compiler constraint
Stephen Toub [Sat, 10 Jul 2021 13:56:43 +0000 (09:56 -0400)]
Fix async method builder override tests for compiler constraint

3 years agoUpdate pinned C# compiler version
Stephen Toub [Fri, 9 Jul 2021 19:25:19 +0000 (15:25 -0400)]
Update pinned C# compiler version

3 years agoAdjust crypto shim for functions renamed for OSSL3 beta1
Jeremy Barton [Tue, 13 Jul 2021 08:38:33 +0000 (01:38 -0700)]
Adjust crypto shim for functions renamed for OSSL3 beta1

3 years agoAllow multiple private key references in Unix PFXes
Jeremy Barton [Tue, 13 Jul 2021 08:37:09 +0000 (01:37 -0700)]
Allow multiple private key references in Unix PFXes

Windows has a complicated state for when a PFX contains two certificates that link to the same private key:

* EphemeralKeySet: The PFX load fails.
* PersistKeySet: Things probably work.
* (normal): "It's complicated".

When the Unix PFX loader was written it was based on the EphemeralKeySet behavior,
because that's what the tests used (to avoid disk penalties and problems).

Trying to maintain a balance between Herculean efforts of bug-for-bug compatibility
and OS variability, this change takes a simpler approach:

* EphemeralKeySet: The PFX load fails, like it will on Windows.
* Otherwise: Let it work (but always with cloned keys, so some of the subtle Windows undesirable states are lost).

3 years agoFix bad folding (#54722)
SingleAccretion [Tue, 13 Jul 2021 08:35:10 +0000 (11:35 +0300)]
Fix bad folding (#54722)

* Always sign-extend from int32 in gtFoldExprConst

GT_CNS_INT of TYP_INT on 64 hosts has an implicit contract:
the value returned by IconValue() must "fit" into 32 bit
signed integer, i. e. "static_cast<int>(IconValue()) == IconValue()".
gtFoldExprConst was failing to uphold this contract when the target
was 32 bit and the host was 64 bit.

Fix this by always truncating before calling SetIconValue().

* Add a simple test that reproduces bad codegen

3 years agoLast set of ILLink annotations related to System.Data.Common (#55507)
Krzysztof Wicher [Tue, 13 Jul 2021 08:05:43 +0000 (10:05 +0200)]
Last set of ILLink annotations related to System.Data.Common (#55507)

* Last set of ILLink annotations related to System.Data.Common

* apply feedback

3 years agoChange server paths to use LOCALHOST (#55523)
David Cantú [Tue, 13 Jul 2021 07:50:00 +0000 (00:50 -0700)]
Change server paths to use LOCALHOST (#55523)

3 years agoKeep looking up derived chain for Property.Get if it doesn't exist. (#52509)
Steve Molloy [Tue, 13 Jul 2021 07:27:06 +0000 (00:27 -0700)]
Keep looking up derived chain for Property.Get if it doesn't exist. (#52509)

3 years agoUse scopes to resolve array naming issue. (#55451)
Steve Molloy [Tue, 13 Jul 2021 07:18:55 +0000 (00:18 -0700)]
Use scopes to resolve array naming issue. (#55451)

* Use scope to avoid using duplicate names for arrays in ILGen serializer.

* Remove comment.

3 years agoHandle nullable primitives before passing them to WritePrimitive which expects non...
Steve Molloy [Tue, 13 Jul 2021 07:18:13 +0000 (00:18 -0700)]
Handle nullable primitives before passing them to WritePrimitive which expects non-null values. (#54800)

3 years agoEnreg structs x86 windows. (#55535)
Sergey Andreenko [Tue, 13 Jul 2021 06:18:32 +0000 (23:18 -0700)]
Enreg structs x86 windows. (#55535)

* Mark more cases as DoNotEnreg before CSE.

There are CSE metrics that take into account how many potential enreg locals
do we have.

* enable for x86.