Viktor Hofer [Fri, 18 Oct 2019 18:58:41 +0000 (20:58 +0200)]
Disable MemoryCacheTest.Contains test (dotnet/corefx#41890)
Commit migrated from https://github.com/dotnet/corefx/commit/
b8048a1e2bd7ee776b4cb6df684db3a0b35886c1
buyaa-n [Fri, 18 Oct 2019 16:40:35 +0000 (09:40 -0700)]
Annotate System.ObjectModel for nullable (dotnet/corefx#41808)
Annotate System.ObjectModel for nullable
Commit migrated from https://github.com/dotnet/corefx/commit/
0ca34f1595299b605f97149927c938a4e086b7f3
Roman Marusyk [Fri, 18 Oct 2019 07:40:17 +0000 (09:40 +0200)]
Store Description value of ConfigurationProperty 2 (dotnet/corefx#41873)
* Store Description value of ConfigurationProperty
* Skip test on the .NET Framework
Commit migrated from https://github.com/dotnet/corefx/commit/
2b92fc0930b941cd0d9146971745cd717689434c
Ahson Khan [Fri, 18 Oct 2019 02:20:43 +0000 (19:20 -0700)]
Followup to add more extension data tests. (dotnet/corefx#41877)
Commit migrated from https://github.com/dotnet/corefx/commit/
5f5c965af1c14703d449da665a26a845eb76973a
dotnet-maestro[bot] [Thu, 17 Oct 2019 22:30:59 +0000 (22:30 +0000)]
[master] Update dependencies from dotnet/coreclr (dotnet/corefx#41851)
* Update dependencies from https://github.com/dotnet/coreclr build
20191016.3
- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19516.3
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19516.3
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19516.3
* Add unit tests for DecoderNLS
Commit migrated from https://github.com/dotnet/corefx/commit/
6eb32bf0faef55321f02b1502ddaeac6dc4a76f6
Viktor Hofer [Thu, 17 Oct 2019 21:59:14 +0000 (23:59 +0200)]
Remove arcade SolutionBuildTargets hack (dotnet/corefx#41868)
* Remove arcade SolutionBuildTargets hack
Commit migrated from https://github.com/dotnet/corefx/commit/
9b558d32e7dc784bb16aec11c22d56a82892cae3
Viktor Hofer [Thu, 17 Oct 2019 21:56:24 +0000 (23:56 +0200)]
Disabling DualModeConnectAsync test (dotnet/corefx#41874)
Commit migrated from https://github.com/dotnet/corefx/commit/
73c898d40df25bbf195e8287c6e037aa036043db
Stephen Toub [Thu, 17 Oct 2019 20:18:03 +0000 (16:18 -0400)]
Annotate System.Runtime.CompilerServices.Unsafe for nullable reference types (dotnet/corefx#41855)
* Annotate System.Runtime.CompilerServices.Unsafe for nullable reference types
The actual implementation is in IL, and there'd be no benefit to adding annotations there, so I've only annotated the C# ref assembly.
* Address PR feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
a7b4117d96e0b58a69bf4b76ef56fa9e8c0880bb
Stephen Toub [Thu, 17 Oct 2019 20:17:41 +0000 (16:17 -0400)]
Annotate System.Web.HttpUtility for nullable reference types (dotnet/corefx#41854)
Commit migrated from https://github.com/dotnet/corefx/commit/
a97191b79893556ea9e798e56bda7f80eeba0567
Jan Kotas [Thu, 17 Oct 2019 19:59:58 +0000 (12:59 -0700)]
Delete unused files (dotnet/corefx#41869)
Commit migrated from https://github.com/dotnet/corefx/commit/
9b261704c5195fd2dbbceedc07486bb952d2a2f8
Santiago Fernandez Madero [Thu, 17 Oct 2019 19:58:29 +0000 (12:58 -0700)]
Move analyzers restore to a .depproj to follow arcade Tools.proj convention (dotnet/corefx#41832)
* Move analyzers restore to a .depproj to follow arcade Tools.proj convention
* Fix build break
* PR Feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
0a3bfee6f2af0e1558b98cae1a5b81ffd084aa99
Stephen Toub [Thu, 17 Oct 2019 17:36:29 +0000 (13:36 -0400)]
Annotate System.Runtime.Numerics for nullable reference types (dotnet/corefx#41861)
Commit migrated from https://github.com/dotnet/corefx/commit/
5f46e170dee7ad6b03c5da8c014d8e95a05b835b
Stephen Toub [Thu, 17 Oct 2019 17:23:20 +0000 (13:23 -0400)]
Annotate System.Runtime.InteropServices.RuntimeInformation for nullable reference types (dotnet/corefx#41856)
Commit migrated from https://github.com/dotnet/corefx/commit/
fd6714a359ff68127e25f1aecbfbdf4be09524a7
Stephen Toub [Thu, 17 Oct 2019 17:13:17 +0000 (13:13 -0400)]
Annotate System.Runtime.CompilerServices.VisualC for nullable reference types (dotnet/corefx#41858)
This assembly really doesn't matter for nullability, as it's only meant to be used with C++/CLI and only by infrastructure. There's also no annotations necessary on any of the contained attributes, as they are either parameterless or take a parameter that shouldn't be null. Even so, we may as well mark the assembly as being annotated, so that its status is appropriately reflected by tools.
Commit migrated from https://github.com/dotnet/corefx/commit/
57e30310253d9c720722f4363fb75e7df93efa67
Stephen Toub [Thu, 17 Oct 2019 17:00:08 +0000 (13:00 -0400)]
Add back TraceListener handling for Callstack/LogicalOperationStack (dotnet/corefx#41844)
Commit migrated from https://github.com/dotnet/corefx/commit/
2177ff131e267472bab53f124fac160d7af952bb
Viktor Hofer [Thu, 17 Oct 2019 13:04:39 +0000 (15:04 +0200)]
Remove UAP target (dotnet/corefx#41759)
* Remove Uap target
* Remove RemoteInvokeForUap wrapper calls entirely
* Harvest S.D.SqlClient on UWP
* Disable UWP PInvoke analyzer
* Enable WindowsRuntime* tests on netcoreapp
Commit migrated from https://github.com/dotnet/corefx/commit/
3b6ec2ba944fb72f921f95b99b6ebf2e7bb3dc5a
Viktor Hofer [Thu, 17 Oct 2019 11:31:16 +0000 (13:31 +0200)]
Revert "Store Description value of ConfigurationProperty" (dotnet/corefx#41848)
This reverts commit dotnet/corefx@
b9186cfa3566ee24e5f16e45c542a3078e128dc6.
Commit migrated from https://github.com/dotnet/corefx/commit/
f9233ab726031451edce2b95c02f51fc09960132
Roma Marusyk [Wed, 16 Oct 2019 23:47:53 +0000 (02:47 +0300)]
Store Description value of ConfigurationProperty
Commit migrated from https://github.com/dotnet/corefx/commit/
b9186cfa3566ee24e5f16e45c542a3078e128dc6
Cory Nelson [Wed, 16 Oct 2019 22:28:50 +0000 (15:28 -0700)]
HTTP2: Support receiving dynamic table headers (dotnet/corefx#41295)
Support HTTP2 dynamic table header decode. Improve some exception messaging in HPACK decoder. Resolves dotnet/corefx#41208
Commit migrated from https://github.com/dotnet/corefx/commit/
7487aec03dc27b910ad4ea096544b850afc74876
Santiago Fernandez Madero [Wed, 16 Oct 2019 22:28:26 +0000 (15:28 -0700)]
Pass down /warnaserror switch for package testing (dotnet/corefx#41807)
* Pass down /warnaserror switch for package testing
* Fix baseline version for System.Composition.* packages now that we bumped their package versions
Commit migrated from https://github.com/dotnet/corefx/commit/
a0e2e123e690b09c09c9d25c3100475b39edf230
Stephen Toub [Wed, 16 Oct 2019 21:28:34 +0000 (17:28 -0400)]
Improve error when socket ValueTask consumed incorrectly (dotnet/corefx#41831)
* Improve error when socket ValueTask consumed incorrectly
* Update src/System.Net.Sockets/src/Resources/Strings.resx
Co-Authored-By: David Shulman <david.shulman@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
a60703d66f0a75a6bb05d584b7677d9b04edf46a
Levi Broderick [Wed, 16 Oct 2019 15:40:42 +0000 (08:40 -0700)]
Add Utf8String ref asms, react to API changes
Commit migrated from https://github.com/dotnet/corefx/commit/
ba76ea2cf8ee916a28a26d657440b94829737d13
Stephen Toub [Wed, 16 Oct 2019 16:12:30 +0000 (12:12 -0400)]
Make ShellExecuteOnSTAThread's thread a background thread (dotnet/corefx#41827)
Commit migrated from https://github.com/dotnet/corefx/commit/
fe148c1d954d105ab47d78717724f1504494aeb1
Stephen Toub [Wed, 16 Oct 2019 13:57:13 +0000 (09:57 -0400)]
Update nullability.md
Commit migrated from https://github.com/dotnet/corefx/commit/
aa1f450e6c6cfe1ded705d5d52c69c20c280daa1
Tomas Weinfurt [Wed, 16 Oct 2019 05:10:51 +0000 (22:10 -0700)]
use background thread to wait for address changes on OSX (dotnet/corefx#41768)
* use background thread to wait for address changes on OSX
* remove RemoteExecutor
* update comment
Commit migrated from https://github.com/dotnet/corefx/commit/
08bf1fec4bbb44bab804f068878812aacb06b4d0
Santiago Fernandez Madero [Wed, 16 Oct 2019 04:40:28 +0000 (21:40 -0700)]
Add stable versions for Microsoft.Bcl.* packages (dotnet/corefx#41800)
Commit migrated from https://github.com/dotnet/corefx/commit/
0bd57b9199e486031c25891aa0290bcb41350a8c
Stephen Toub [Wed, 16 Oct 2019 04:17:36 +0000 (00:17 -0400)]
Disable deterministically failing outerloop CNG tests (dotnet/corefx#41812)
Commit migrated from https://github.com/dotnet/corefx/commit/
40f2e587a576b708c276c7a3dc2aa37dc54b5244
Filip Navara [Wed, 16 Oct 2019 01:51:21 +0000 (03:51 +0200)]
Disable finalization of bogus SafeWaitHandles (dotnet/corefx#41801)
Fixes https://github.com/dotnet/corefx/issues/41635#issuecomment-
542409299.
Commit migrated from https://github.com/dotnet/corefx/commit/
b50bd0a1d3f0326fc717706cb5c5950ab41cf437
Tom Deseyn [Wed, 16 Oct 2019 01:28:17 +0000 (03:28 +0200)]
Socket: don't perform RST close on Dispose when user called Shutdown (dotnet/corefx#41250)
* Socket: don't perform RST close on Dispose when user called Shutdown
* Add test
* PR feedback
* Remove confusing 'canAbort' local
* Improve comments
Commit migrated from https://github.com/dotnet/corefx/commit/
4826532b12be39f4b6634d73a13ddb6a2e346697
Martin Frýdl [Tue, 15 Oct 2019 17:45:35 +0000 (19:45 +0200)]
Fixing NullReferenceException in XmlSchemaAnyAttribute.Namespace (dotnet/corefx#41731)
* Fixing NullReferenceException when XmlSchemaAnyAttribute.Namespace is not set (dotnet/corefx#41704)
* Fixing tests according to review
Commit migrated from https://github.com/dotnet/corefx/commit/
75d19b61b20197f3e6348f5e444e9e3af0f0750a
Stephen Toub [Tue, 15 Oct 2019 17:29:00 +0000 (13:29 -0400)]
Fix whitespace causing warning-as-error
Commit migrated from https://github.com/dotnet/corefx/commit/
f1ca289f156664e8e5e26c12a350e424ae15def1
Eriawan Kusumawardhono [Tue, 15 Oct 2019 17:11:40 +0000 (00:11 +0700)]
Replace tfm based constants with SDK ones (dotnet/corefx#41601)
* replace DefineConstants with SDK ones
Commit migrated from https://github.com/dotnet/corefx/commit/
2133679ff62222ba2734232ab8fa4c65765e82a2
Stephen Toub [Tue, 15 Oct 2019 16:27:31 +0000 (12:27 -0400)]
Rewrite Uri.EscapeString (dotnet/corefx#41772)
* Rewrite Uri.EscapeString
Several public methods (Uri.EscapeDataString, Uri.EscapeUriString) and a bunch of internal call sites rely on the internal EscapeString helper. This helper has several issues with it:
- It uses unsafe code.
- It unnecessarily requires and copies through a char[] to get to a string when a string is the required result.
- It has a lot of complexity around the handling of unicode.
This PR rewrites it to utilize Span, Rune, and other newer features in a way that enables it to be both safe and efficient. Most inputs ends up being faster, and for very long inputs, it's much, much faster. The use of ValueStringBuilder also results in less memory allocation, in some cases significantly.
The use of Rune also fixes two arguable bugs in the existing implementation around invalid Unicode sequences, which is why a couple tests were tweaked:
- Some but not all invalid unicode patterns result in replacement characters being used: a few invalid sequences (e.g. just a high surrogate) result in an exception. We should be standardized on using replacement characters for all such invalid sequences.
- Some patterns with invalid unicode patterns actually result in unnecessary encoding, e.g. `Uri.EscapeDataString("\uD800\uD800a")` results in `a` being encoded.
* Address PR feedback
* Add comment about RFC 3986
Commit migrated from https://github.com/dotnet/corefx/commit/
75b4e8b12815949813d83b771d5d6ed9279f924c
Stephen Toub [Tue, 15 Oct 2019 16:09:06 +0000 (12:09 -0400)]
Reduce RemoteInvoke usage in tests (dotnet/corefx#41741)
Many of our RemoteInvokes are there purely because of needing to change the current thread culture but on UAP that actually impacting the whole process. Until that's addressed, we can at least avoid the RemoteInvoke on all platforms other than UAP. There are also some RemoteInvokes that can be avoided by just serializing all of the (small number of) tests in a test assembly. And there's some additional cleanup to be done as well around not explicitly returning an exit code unless required.
This helps measurably with test performance. Consider the System.ComponentModel.Annotations test suite. On my machine, prior to these changes, it took ~25 seconds; after these changes, it takes ~0.3. It helps even more when running against a checked runtime, where all of our test costs are magnified. With a checked runtime, prior to these changes, it takes ~196 seconds; after these changes, it takes ~2.5 seconds. This should help measurably with CI time in coreclr.
Commit migrated from https://github.com/dotnet/corefx/commit/
cd18bafbabf7fe47601f6f790d157409034a2477
Tom Deseyn [Tue, 15 Oct 2019 13:36:26 +0000 (15:36 +0200)]
Socket: consider handle exposed when user gets Socket.SafeHandle. (dotnet/corefx#41760)
* Socket: consider handle exposed when user gets Socket.SafeHandle.
* PR feedback
* Add Socket.InternalSafeHandle that returns _handle without exposing it.
* Update formatting
Commit migrated from https://github.com/dotnet/corefx/commit/
e1847debab33fbb0861253f2bdf7ae51f819833e
Stephen Toub [Tue, 15 Oct 2019 13:21:25 +0000 (09:21 -0400)]
Fix cast in CacheMemoryMonitor (dotnet/corefx#41776)
Avoid overflow.
Commit migrated from https://github.com/dotnet/corefx/commit/
6b2cb3a16a717b47c72c088d073a8f598bfc9335
Wraith2 [Tue, 15 Oct 2019 05:54:08 +0000 (06:54 +0100)]
SqlClient fix managed MARS timeout cancellation (dotnet/corefx#38266)
* Add check for completion callback in Mars connection to prevent invalid callback conditions propagating.
* address feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
3d16a2bd46d452ceb341887dc9c9dde26545110b
Jeremy Kuhne [Tue, 15 Oct 2019 04:01:25 +0000 (21:01 -0700)]
Break the ACL classes into files (dotnet/corefx#41454)
* Break the ACL classes into files
* Fix NetFX build
Commit migrated from https://github.com/dotnet/corefx/commit/
226f57b4f2bf91822604aa73338070c601d7a0fe
buyaa-n [Mon, 14 Oct 2019 16:52:26 +0000 (09:52 -0700)]
Nullable annotation for System.IO.Pipelines (dotnet/corefx#41407)
* Nullable annotation for System.IO.Pipelines
Commit migrated from https://github.com/dotnet/corefx/commit/
48363ac826ccf66fbe31a5dcb1dc2aab9a7dd768
Eirik Tsarpalis [Mon, 14 Oct 2019 12:59:16 +0000 (13:59 +0100)]
HttpStress: Add scripts for loading the corefx testhost in the environment (dotnet/corefx#41721)
HttpStress: add testhost environment loader scripts
Commit migrated from https://github.com/dotnet/corefx/commit/
faefe04a1cd88053cb8d63028494dfe7ea1a97ec
dotnet-maestro[bot] [Mon, 14 Oct 2019 09:57:29 +0000 (09:57 +0000)]
[master] Update dependencies from dotnet/coreclr (dotnet/corefx#41745)
* Update dependencies from https://github.com/dotnet/coreclr build
20191011.1
- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19511.1
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19511.1
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19511.1
* Removing ApiCompatBaseline and MatchingRefApiCompatBaseline from System.Runtime.Intrinsics.Experimental
* Regenerating the System.Runtime.Intrinsics.Experimental ref assembly
* Update dependencies from https://github.com/dotnet/coreclr build
20191012.2
- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19512.2
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19512.2
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19512.2
Commit migrated from https://github.com/dotnet/corefx/commit/
6526461271368311b8fde639cea13764c1f97c7f
Viktor Hofer [Mon, 14 Oct 2019 08:56:36 +0000 (10:56 +0200)]
Update cmake required version
Commit migrated from https://github.com/dotnet/corefx/commit/
81c91fab23b26592334ac6ff4bef34f102e3c3ce
Viktor Hofer [Sun, 13 Oct 2019 11:05:47 +0000 (13:05 +0200)]
Enable TargetFrameworkName attribute (dotnet/corefx#40924)
* Enable TargetFrameworkName attribute
Remove the opt-out of the TargetFrameworkName attribute generation and
fix the existing test to actually test the custom attribute being set
and read correctly by the AppContext class.
Commit migrated from https://github.com/dotnet/corefx/commit/
437d9bc76489ff18bd9ce04f287e07591f6bc38c
Stephen Toub [Sat, 12 Oct 2019 12:15:05 +0000 (08:15 -0400)]
Make WebRequest.GetSystemWebProxy() return a working proxy (dotnet/corefx#41692)
* Make WebRequest.GetSystemWebProxy() return a working proxy
Today it returns a singleton on .NET Core that throws PlatformNotSupportedExceptions, and is only used for its reference identity by the WebRequest implementation. This is problematic for existing code that's taking this proxy and passing it to, for example, ClientWebSocket's Proxy, as it will end up being an expensive nop. In fact, there's currently no way when targeting netstandard2.0 to tell ClientWebSocket to use a default proxy.
With this fix, WebRequest.DefaultWebProxy (which just defaults to GetSystemWebProxy()) will now return HttpClient.DefaultProxy, which is actually a working proxy implementation.
* Stop throwing NotSupportedException from HttpClient.DefaultProxy.set_Credentials
The OS and how the environment is configured determines what concrete type is returned from HttpClient's DefaultProxy property. And currently these different types behave differently from set_Credentials. Two of them are throwing NotSupportedException, which is not expected from the IWebProxy interface. We should just roundtrip the credentials set, even if they're not used.
Commit migrated from https://github.com/dotnet/corefx/commit/
8d21b79b924d29088dbde46d42737a657d466b5e
Cheena Malhotra [Sat, 12 Oct 2019 00:41:15 +0000 (17:41 -0700)]
Update Area Owners for System.Data.SqlClient (dotnet/corefx#41742)
Commit migrated from https://github.com/dotnet/corefx/commit/
fc89c884e99ef3fd920dbe75fbbaf797b02a944f
Jeremy Barton [Fri, 11 Oct 2019 21:31:40 +0000 (14:31 -0700)]
Only pass the needed sub-struct in WriteUncompressedPublicKey. (dotnet/corefx#41712)
Commit migrated from https://github.com/dotnet/corefx/commit/
57ae5430e0e6cbf16b5c7b7def4fc95015b2b722
buyaa-n [Fri, 11 Oct 2019 20:13:07 +0000 (13:13 -0700)]
Annotate System.Net.WebHeaderCollection for nullable (dotnet/corefx#41665)
* Annotate System.Net.WebHeaderCollection for nullable
Commit migrated from https://github.com/dotnet/corefx/commit/
37f55779b13962c369933ecd5be97beb032d4d78
Tomas Weinfurt [Fri, 11 Oct 2019 15:01:02 +0000 (08:01 -0700)]
update DualModeConnect_BeginAccept_Helper (dotnet/corefx#41726)
Commit migrated from https://github.com/dotnet/corefx/commit/
a68ae7ac2a4184a8738569bea177ee8e9f28be3d
Stephen Toub [Fri, 11 Oct 2019 14:49:59 +0000 (10:49 -0400)]
Update api-review-process.md
Commit migrated from https://github.com/dotnet/corefx/commit/
ffe79200a072764e53ab3f4b7c9d73f6e70bf642
Tomáš Matoušek [Fri, 11 Oct 2019 05:05:28 +0000 (22:05 -0700)]
Fix branch distance calculation (dotnet/corefx#41716)
Commit migrated from https://github.com/dotnet/corefx/commit/
901c370c2379ad0885bcc5a1921c4164104586aa
David Shulman [Thu, 10 Oct 2019 23:52:30 +0000 (16:52 -0700)]
Merge pull request dotnet/corefx#41718 from davidsh/renable_revoked_test
Re-enable NoCallback_RevokedCertificate_NoRevocationChecking_Succeeds
Commit migrated from https://github.com/dotnet/corefx/commit/
a58c6bb24573854da23d76b69b6e040c4fa2b780
Steve Harter [Thu, 10 Oct 2019 19:39:59 +0000 (14:39 -0500)]
Add Dictionary<Enum, TValue> converter example with JSON syntax of object+property (dotnet/corefx#41690)
Commit migrated from https://github.com/dotnet/corefx/commit/
5b43eb32b5048f35baea22bf4ef6f4736b33da5f
Steve Harter [Thu, 10 Oct 2019 19:39:28 +0000 (14:39 -0500)]
Support JsonConverterAttribute on enumerable properties (dotnet/corefx#41653)
Commit migrated from https://github.com/dotnet/corefx/commit/
4580a4deb486a155ed4ff12682bd1459c385b017
David Shulman [Thu, 10 Oct 2019 19:34:10 +0000 (12:34 -0700)]
Re-enable NoCallback_RevokedCertificate_NoRevocationChecking_Succeeds test
The third-party server we use for this test, revoked.badssl.com, now has a new
certificate that is good for another two years and is also revoked. So, we can
re-enable this test.
Fixes dotnet/corefx#41108
Commit migrated from https://github.com/dotnet/corefx/commit/
0dd95fc3d4bd24db0fd860295c5873703d7738f5
Alexander Nikolaev [Thu, 10 Oct 2019 11:59:12 +0000 (13:59 +0200)]
TCPListener doesn't create a new socket on Stop (dotnet/corefx#41547)
TCPListener.Stop disposes the socket and resets the reference. New socket is created only on the next Start call or Server property access.
Fixes dotnet/corefx#26170
Commit migrated from https://github.com/dotnet/corefx/commit/
c5edb254b85819d4cd4fd6ce35ebb6acc53f450d
Stephen Toub [Thu, 10 Oct 2019 10:04:01 +0000 (06:04 -0400)]
Change some internal async Task methods to be async ValueTask (dotnet/corefx#40527)
We have some internal and private `async Task` methods that are only ever `await`ed. Today there's no benefit to making them `async ValueTask` methods, so we've kept them as `async Task`. However, if we end up changing the implementation of `async ValueTask` to pool underlying objects, there becomes a potential benefit to using `async ValueTask` for these instead of `async Task`. This PR changes those in a variety of libraries where we care more about performance and allocations. There are likely a few more methods we'd want to convert based on profiling, but I believe this represents the bulk of them.
Commit migrated from https://github.com/dotnet/corefx/commit/
97d9fb9d6c7e1d50f527e290ef8e18767dbc6bbf
Stephen Toub [Thu, 10 Oct 2019 10:03:29 +0000 (06:03 -0400)]
Remove unnecessary length restriction on Uri.Escape{Data/Uri}String (dotnet/corefx#41686)
* Remove unnecessary length restriction on Uri.Escape{Data/Uri}String
* Address PR feedback
Co-Authored-By: David Shulman <david.shulman@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
1d49632bc213416d27ed6c567fd8dd08e00170a1
Roman Marusyk [Wed, 9 Oct 2019 23:37:13 +0000 (02:37 +0300)]
Fix NRE when context value is null in method Save from Principal class (dotnet/corefx#41656)
* Fix NRE when context value is null in method Save from Principal class
* Add unit test
Commit migrated from https://github.com/dotnet/corefx/commit/
30280e07adc3c1f0776ef9531b47a769e2b45420
Stephen Toub [Wed, 9 Oct 2019 22:56:19 +0000 (18:56 -0400)]
Stop using vfork with musl libc and credentials (dotnet/corefx#41693)
Commit migrated from https://github.com/dotnet/corefx/commit/
aaa388c5e6debda70fc50a443453a925cc8a586e
Jeffrey Zhao [Wed, 9 Oct 2019 20:19:34 +0000 (15:19 -0500)]
Catch InvalidCastException properly in Collection (dotnet/corefx#39942)
The explicit implementations of IList.Add/Insert/Set methods catch
InvalidCastException for casting input argument to type T to throw
an ArgumentException. The issue here is they put the core collection
modification operation in the try block, and it could be overridden
by sub-classes and produce an InvalidCastException from user logic,
even the argument passed to IList.Add/Insert/Set is valid.
This commit contains the test cases for those three method. In those
test cases, we create an ObservableCollection (which is the sub-class
of Collection) and throw an InvalidCastException from the handler of
CollectionChanged event. This exception should be observed from the
outside when we pass a valid input, instead of an ArgumentException
as if we've passed an argument with invalid type.
Fix dotnet/corefx#39919
Commit migrated from https://github.com/dotnet/corefx/commit/
fe8db47cb290eff654e8419ce6d615e9bb2ce189
Viktor Hofer [Wed, 9 Oct 2019 13:27:48 +0000 (15:27 +0200)]
Remove obsolete CodeCoverageAssemblyAttribute (dotnet/corefx#41674)
Commit migrated from https://github.com/dotnet/corefx/commit/
e0ad7cfd08719242c4613ffb9574cd77328a7ba6
Stefan [Wed, 9 Oct 2019 13:24:39 +0000 (15:24 +0200)]
Tiny typo in polymorphic (dotnet/corefx#41678)
Tiny typo in polymorphic
Commit migrated from https://github.com/dotnet/corefx/commit/
30b2d788a1687e8aded0ba51a6122635a4d2eb1a
Eirik Tsarpalis [Wed, 9 Oct 2019 10:53:42 +0000 (11:53 +0100)]
Httpstress: add max execution time argument (dotnet/corefx#41643)
HttpStress: add max execution time arg
Adds -maxExecutionTime cli argument.
Enables nullable annotations.
Commit migrated from https://github.com/dotnet/corefx/commit/
630924d0ccfbac62195927c0f4514fe33d47c729
Jeremy Barton [Wed, 9 Oct 2019 05:56:00 +0000 (22:56 -0700)]
Add support for reading/writing key files for explicit parameter ECC
Add support for reading/writing key files for explicit parameter ECC
* Prime curves
* ECPrivateKey
* Pkcs8
* EncryptedPkcs8
* SubjectPublicKeyInfo
* Characteristic-2 curves
* ECPrivateKey
* Pkcs8
* EncryptedPkcs8
* SubjectPublicKeyInfo
Commit migrated from https://github.com/dotnet/corefx/commit/
a7ee8cdccce7d2607d58f9b93ce319209a238f7a
Stephen Toub [Wed, 9 Oct 2019 01:22:47 +0000 (21:22 -0400)]
Several improvements to SocketsHttpHandler perf (dotnet/corefx#41640)
* Do not force-parse TryAddWithoutValidation headers in SocketsHttpHandler
When enumerating headers to write them out, do not force them to be parsed if the user explicitly asked for them not to be with "WithoutValidation". If the key/values are incorrectly formatted, the request may end up being written incorrectly on the wire, but that's up to the developer explicitly choosing it.
* Revert HttpRequestHeaders.ExpectContinue optimization
Several releases ago, when we weren't paying attention to ExpectContinue, we optimized away the backing field for it into a lazily-initialized collection; that made it cheaper when not accessed but more expensive when accessed, which was fine, as we wouldn't access it from the implementation and developers would rarely set it. But now SocketsHttpHandler checks it on every request, which means we're paying for the more expensive thing always. So, revert the optimization for this field.
* Avoid allocating a string[] per header
When we enumerate the headers to write them out, we currently allocate a string[] for each. We can instead just fill the same array over and over and over.
Commit migrated from https://github.com/dotnet/corefx/commit/
4d346a9ab7b6e619dae3784283acb87bb7a825c9
Jeremy Barton [Tue, 8 Oct 2019 20:37:58 +0000 (13:37 -0700)]
Handle "too small" success from CNG and clear out decryption residuals
* When NCryptEncrypt or NCryptDecrypt reports success with a cbResult value that doesn't make sense, normalize the error to NTE_BUFFER_TOO_SMALL.
* When resizing arrays for the array-returning implementation, clear out the temporary arrays to reduce the amount of time they're sitting in memory before the GC clears the memory for reissuance.
Commit migrated from https://github.com/dotnet/corefx/commit/
7c586d32edce94c910fc8b402f4adedaa3cf05fd
Steve Harter [Tue, 8 Oct 2019 20:02:15 +0000 (15:02 -0500)]
Address misc feedback and issues from recent perf changes (dotnet/corefx#41414)
Commit migrated from https://github.com/dotnet/corefx/commit/
8655ef98455f8a8924a4ab4ff62009c1a23d4033
Zappy Zhao [Tue, 8 Oct 2019 18:54:37 +0000 (11:54 -0700)]
Update hex value for DarkSeaGreen color (dotnet/corefx#41561)
Commit migrated from https://github.com/dotnet/corefx/commit/
ebb2d2e05f3dc5932696123c42fd3ca3d1469d4d
Stephen Toub [Tue, 8 Oct 2019 18:46:26 +0000 (14:46 -0400)]
Add ImmutableInterlocked.Update overloads for ImmutableArray (dotnet/corefx#41600)
* Add ImmutableInterlocked.Update overloads for ImmutableArray
The implementations and tests just copy the exist Update overloads, tweaked to work with ImmutableArray.
* Address PR feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
9de37814fe28f497c8679b52772f2e5dd7f73306
Jan Kotas [Tue, 8 Oct 2019 18:33:47 +0000 (11:33 -0700)]
Disable finalization of bogus SafeWaitHandles (dotnet/corefx#41636)
Fixes dotnet/corefx#41635
Commit migrated from https://github.com/dotnet/corefx/commit/
72f5cff116fdfa71f44090281e091b0dcbc31f8f
David Shulman [Tue, 8 Oct 2019 18:22:18 +0000 (11:22 -0700)]
Merge pull request dotnet/corefx#41639 from dotnet/ViktorHofer-domainsock
Disable UnixDomainSock ConcurrentSendReceive test
Commit migrated from https://github.com/dotnet/corefx/commit/
70abb3e52f2b744f2f9d8de77dc1175baec5eb88
Anirudh Agnihotry [Tue, 8 Oct 2019 18:06:55 +0000 (11:06 -0700)]
Bumping the version of OOB packages to match product version (dotnet/corefx#41623)
* update package version for oob packages as well
* ServiceVersion -> PatchVersion
Commit migrated from https://github.com/dotnet/corefx/commit/
4e0541e71d7ff69aaebccd28ca8b6b7dba9e76ee
John Salem [Tue, 8 Oct 2019 17:58:42 +0000 (10:58 -0700)]
Prevent ImplicitTransform of index getter method (dotnet/corefx#41418)
* Prevent TransformSpec from attempting to implicitly create a delegate for index properties
* Add tests
Commit migrated from https://github.com/dotnet/corefx/commit/
2b8d0577ee97ff312ef074ab36f264ebedcccfbf
Stephen Toub [Tue, 8 Oct 2019 16:57:21 +0000 (12:57 -0400)]
Remove System.Linq dependency from System.Security.Cryptography.X509Certificates
System.Linq was only being used in two places:
- In Pkcs10CertificateRequestInfo, it was using Collection<>.Select(...).ToArray(). We can replace it with a simple for loop, which is both faster (e.g. fewer delegate invocations) and fewer generic instantiations (no one else is going to have an instantiation with AttributeAsn).
- In LoadMachineStores on Linux, it was using Prepend. We can avoid the need for Prepend (and the associated allocations) entirely by slightly reorganizing the method and using a local function.
Commit migrated from https://github.com/dotnet/corefx/commit/
5ad15fcb189a9c232051d03c1e889f985f62232b
Viktor Hofer [Tue, 8 Oct 2019 16:12:37 +0000 (18:12 +0200)]
Disable UnixDomainSock ConcurrentSendReceive test
Commit migrated from https://github.com/dotnet/corefx/commit/
3f2b7a06a585e26fffd20cbe0984177b092198d7
birkmose [Tue, 8 Oct 2019 16:07:03 +0000 (18:07 +0200)]
Avoid non documented exceptions in BinaryFormatter.Deserialize (dotnet/corefx#40215)
* dotnet/corefx#35491 Fixes issue with BinaryFormatter.Deserialize throwing other exceptions than those specified in the documentation (only supposed to throw SerializationException or SecurityException).
* Update UnitySerializationHolderTests to test the expected behaviour of BinaryFormatter.Deserialize. Fix naming error in SerializationGuardTests.
Commit migrated from https://github.com/dotnet/corefx/commit/
1736bfa5f06d4d3a60742142f0aaf601bd4db788
Alexander Nikolaev [Tue, 8 Oct 2019 09:22:15 +0000 (11:22 +0200)]
HttpWebRequest caches HttpClient in simple cases (dotnet/corefx#41462)
HttpWebRequest caches and tries to reuse a single static HttpClient instance when it's safe to share the same instance among concurrent requests with the given parameters.
Fixes dotnet/corefx#15460
Commit migrated from https://github.com/dotnet/corefx/commit/
95e35e10d7c52a7eea38c2ae6402d29e2a01efc6
Jan Kotas [Tue, 8 Oct 2019 05:16:18 +0000 (22:16 -0700)]
Fix copy&paste globalization test bug (dotnet/corefx#41624)
Commit migrated from https://github.com/dotnet/corefx/commit/
c1092870c306b8da256e455cec0814486255d0c1
Jan Kotas [Mon, 7 Oct 2019 23:22:34 +0000 (16:22 -0700)]
Improve test coverage for Span-based globalization APIs (dotnet/corefx#41224)
* Improve test coverage for Span-based globalization APIs
* More interesting test cases
Commit migrated from https://github.com/dotnet/corefx/commit/
14d971cdeb7b625bb7b753d48760f2cb98b32358
Viktor Hofer [Mon, 7 Oct 2019 23:15:43 +0000 (01:15 +0200)]
Disable arm64 tests on Win and limit UWP testing (dotnet/corefx#41609)
* Disable arm64 tests on Win and limit UWP testing
Commit migrated from https://github.com/dotnet/corefx/commit/
91b7973e902416c73edfa345a5c7ae945707d29e
Viktor Hofer [Mon, 7 Oct 2019 23:14:22 +0000 (01:14 +0200)]
Disable flaky member descriptor test (dotnet/corefx#41613)
Commit migrated from https://github.com/dotnet/corefx/commit/
ac07a15aa385abf6f41c6d307c473130336fb8de
Jan Kotas [Mon, 7 Oct 2019 23:10:21 +0000 (16:10 -0700)]
Ignore ERROR_NOT_FOUND in File.Encrypt test (dotnet/corefx#41604)
Makes the test pass when EFS (Encrypted File System) is not available.
I have also fixed the interop definition for Encrypt/DecryptFile P/Invokes while I was on it.
Fixes dotnet/corefx#39211
Commit migrated from https://github.com/dotnet/corefx/commit/
8c8bf07d52389d8a2948460d4f7e0dba112c20a0
Eric StJohn [Mon, 7 Oct 2019 22:22:17 +0000 (15:22 -0700)]
Update infra owners (dotnet/corefx#41620)
Commit migrated from https://github.com/dotnet/corefx/commit/
72670835126cb48d39f842a3fda021e808944f58
Stephen Toub [Mon, 7 Oct 2019 22:01:26 +0000 (18:01 -0400)]
Remove unnecessary LINQ usage from System.Text.Json (dotnet/corefx#41553)
* Remove unnecessary LINQ usage from System.Text.Json
* Fix netstandard build
Commit migrated from https://github.com/dotnet/corefx/commit/
2d69a2494b3c1602d9332bab3794e00d1b4858c7
Sylvain [Mon, 7 Oct 2019 20:50:47 +0000 (22:50 +0200)]
FileSystem.Unix.File.Move uses "rename" in more cases (dotnet/corefx#40611)
* FileSystem.Unix.File.Move use rename in more cases, avoid link/copy when possible, improve performance on file systems that do not support hard links, such as FAT
* Adapt Unit Tests for accounting FileSystemWatcher events fired by FileSystem.Unix.File.Move implementation that use rename in more cases, avoiding link/copy when possible
Commit migrated from https://github.com/dotnet/corefx/commit/
89b087ba5548338bb604db4e1cca0e42f8273e2b
Ahson Khan [Mon, 7 Oct 2019 19:07:30 +0000 (12:07 -0700)]
Updating corefx prerequisites for latest VS 2019 workloads (dotnet/corefx#41606)
* Updating corefx prerequisites for latest VS 2019 workloads
* Add netfx 4.7.2 SDK to the list
Commit migrated from https://github.com/dotnet/corefx/commit/
d0ebc1987e8d0f56b00fd23ad0dab8d0ad1f02c3
Stephen Toub [Mon, 7 Oct 2019 18:19:57 +0000 (14:19 -0400)]
Add ConcurrentDictionary.TryRemove(KeyValuePair) (dotnet/corefx#41597)
Commit migrated from https://github.com/dotnet/corefx/commit/
a62579502cb9e86b761c2249d0d04af3d827b3a3
FyiurAmron [Mon, 7 Oct 2019 15:51:44 +0000 (17:51 +0200)]
Fix naming of System.Text.Json methods in docs (dotnet/corefx#41562)
Commit migrated from https://github.com/dotnet/corefx/commit/
81dfdbcad0937707346cadc3968c0c67241c64f8
Stephen Toub [Mon, 7 Oct 2019 15:49:18 +0000 (11:49 -0400)]
Remove System.Linq dependency from System.Security.Cryptography.Encoding (dotnet/corefx#41567)
* Remove System.Linq dependency from System.Security.Cryptography.Encoding
* Address PR feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
2f40d22fddf3e08187a95454958bd42a37ef7ad0
Vladimir Sadov [Sun, 6 Oct 2019 22:39:00 +0000 (15:39 -0700)]
Added a test scenario to verify that Nullable<T> is not assignable from T (dotnet/corefx#41577)
* Added a test scenario to verify that T is not assignable to Nullable<T>
* PR feedback. Replaced `var` with concrete `Type`.
Commit migrated from https://github.com/dotnet/corefx/commit/
38aa9151607cb63bb569beb42880057ba2cd3da0
Stephen Toub [Sun, 6 Oct 2019 02:33:18 +0000 (22:33 -0400)]
Fix HtmlEncode handling of surrogate pairs (dotnet/corefx#41576)
Due to a regression that came as part of changing the code from using pointers to using spans, when the surrogate pair isn't at the beginning of the the input, it's incorrectly encoded.
Commit migrated from https://github.com/dotnet/corefx/commit/
6de42378223c6cb138d28f812c440092718c7a19
Stephen Toub [Sat, 5 Oct 2019 18:12:52 +0000 (14:12 -0400)]
Expose, test, and use ExceptionDispatchInfo.SetCurrentStackTrace
Commit migrated from https://github.com/dotnet/corefx/commit/
615990343a9400e46122debf48a5fb08ec452787
Stephen Toub [Sat, 5 Oct 2019 11:53:40 +0000 (07:53 -0400)]
Remove System.Linq dependency from System.Net.NetworkInformation (dotnet/corefx#41566)
It was only being used on Unix, and the uses are all easily replaced with more efficient implementations.
Commit migrated from https://github.com/dotnet/corefx/commit/
e3fe1db114a283b8719ed1d02a1e26d57010cb55
Stephen Toub [Sat, 5 Oct 2019 11:34:28 +0000 (07:34 -0400)]
Remove unused usings from System.Security.Cryptography.Xml (dotnet/corefx#41568)
I was looking for uses of "using System.Linq;". One file had it, but it turned out to be unused/unnecessary, so as long as I was removing it, I ran VS' "remove unused usings" on the project.
Commit migrated from https://github.com/dotnet/corefx/commit/
418c2e84dbf159100463f172227fbe7460b36533
Stephen Toub [Sat, 5 Oct 2019 11:20:25 +0000 (07:20 -0400)]
Replace Stack with Stack<T> in XmlDataLoader (dotnet/corefx#41569)
This looks like the only remaining uses of the non-generic Stack in a trimmed web api app.
Commit migrated from https://github.com/dotnet/corefx/commit/
052f4af24c1ccaa9bb42735fbdc2e99cadef1e66
Anirudh Agnihotry [Fri, 4 Oct 2019 23:44:56 +0000 (16:44 -0700)]
Removing Microsoft.bcl* packages (dotnet/corefx#41270)
* removing Microsoft.bcl packages
* targetframework conditions modified
* adding versionless config to avoid binplace
* uap standard conflicts
* remove package configurations
* negation if and remove exclude reference asset property
* adding choosing when statement
* using attribute
* Moveing packages to include to the common
* ChooseWhen -> IF
Commit migrated from https://github.com/dotnet/corefx/commit/
99ea2b5aebf7361a5baa638c978cb6214fca5217
Stephen Toub [Fri, 4 Oct 2019 23:14:30 +0000 (19:14 -0400)]
Remove System.Linq dependency from System.Security.Cryptography.Algorithms (dotnet/corefx#41554)
It's not being used. Remove it.
Commit migrated from https://github.com/dotnet/corefx/commit/
a434a52ae3f1175bc1cad8b1a02b0921ef3b1f55
Stephen Toub [Fri, 4 Oct 2019 20:53:22 +0000 (16:53 -0400)]
Remove unnecessary System.Linq usage from Microsoft.CSharp (dotnet/corefx#41552)
Most of the usage was just as easily (if not more easily) done without LINQ. In some cases the use was entirely superfluous (e.g. MethodReturningNewArray().ToArray()).
Commit migrated from https://github.com/dotnet/corefx/commit/
09698dd91c53e123d3a0f1240b5f611b3c14639c
Adeel Mujahid [Fri, 4 Oct 2019 18:48:15 +0000 (21:48 +0300)]
Replace PrintF with Console.WriteLine and cleanups (dotnet/corefx#41540)
* Replace PrintF with Console.WriteLine and cleanups
* PR feedback: simplify WriteLine arguments
Commit migrated from https://github.com/dotnet/corefx/commit/
c28a9e69902bcbc0d742732630bd6e82ac922d5b
Anirudh Agnihotry [Fri, 4 Oct 2019 15:29:14 +0000 (08:29 -0700)]
updating packageindex with stable versions (dotnet/corefx#41511)
* updating packageindex with stable versions
* disabling harverst stable packages
Commit migrated from https://github.com/dotnet/corefx/commit/
b5ef4ea045bdd3dc8d528e6408360bf812eefd17