platform/upstream/dotnet/runtime.git
5 years agoSupport building corefx in VS2019 (dotnet/corefx#35197)
Santiago Fernandez Madero [Tue, 12 Feb 2019 03:53:20 +0000 (21:53 -0600)]
Support building corefx in VS2019 (dotnet/corefx#35197)

* Support building corefx in VS2019

* PR Feedback and update docs for VS2019

Commit migrated from https://github.com/dotnet/corefx/commit/fd736ea93d3b2b4bfa0288afdde34ebd9c9a680a

5 years agoRemove Jenkins uap and all configurations legs (dotnet/corefx#35249)
Santiago Fernandez Madero [Tue, 12 Feb 2019 03:52:40 +0000 (21:52 -0600)]
Remove Jenkins uap and all configurations legs (dotnet/corefx#35249)

Commit migrated from https://github.com/dotnet/corefx/commit/23ec14f59138c41754238183d6fe216d7210bee2

5 years agoMake sure SequencePosition is saved as part of JsonReaderState (dotnet/corefx#35245)
Ahson Khan [Tue, 12 Feb 2019 02:37:51 +0000 (18:37 -0800)]
Make sure SequencePosition is saved as part of JsonReaderState (dotnet/corefx#35245)

Commit migrated from https://github.com/dotnet/corefx/commit/53486e44427e096a4d7f672a0667980e8b65de63

5 years agoFix HttpClient EKU tests (dotnet/corefx#35240)
David Shulman [Tue, 12 Feb 2019 01:27:04 +0000 (17:27 -0800)]
Fix HttpClient EKU tests (dotnet/corefx#35240)

A set of HttpClient tests related to ClientCertificates were always failing on my machine:

System.Net.Http.Functional.Tests.SocketsHttpHandler_HttpClientHandler_ClientCertificates_Test
* method="Manual_SendClientCertificateWithClientAuthEKUToRemoteServer_OK"
* method="Manual_SendClientCertificateWithNoEKUToRemoteServer_OK"
* method="Manual_SendClientCertificateWithServerAuthEKUToRemoteServer_Forbidden"

These tests would generate an exception:
>System.Net.Http.HttpRequestException: An error occurred while sending the request. --->
 System.IO.IOException: The remote party requested renegotiation when AllowRenegotiation was set to false.

Similar to the tests failing and fixed in PR dotnet/corefx#35225, the CI machines don't have the test
root certificate installed. So, the tests weren't running in CI and the failures weren't noticed.

The root cause of the test failures is due to using SocketsHttpHandler. It is always setting
`SslStream.AllowRenegotiation` to false when first attempting to connect via HTTP/2. This is fine
if the connection is truely HTTP/2 since HTTP/2 doesn't support TLS renegotiation. However, if the
remote endpoint doesn't support HTTP/2 and thus connects with HTTP/1.1, then the SslStream should
not have AllowRenegotiation set to false. Client certificate scenarios frequently have the server
ask for the client certificate later in the connection process. So, TLS renegotiation is used. Opened
new issue dotnet/corefx#35239 to fix this in SocketsHttpHandler (or SslStream).

As part of fixing these tests, I refactored them into a single Theory test. But I had to workaround
complications due to using RemoteInvoke. I added a new RemoteInvoke overload to handling passing
an additional parameter.

Commit migrated from https://github.com/dotnet/corefx/commit/0c2ccd172157e0ebf1957e1bbcd5f07786ad6e3d

5 years agoFix ServerAsyncAuthenticateTest. (dotnet/corefx#35170)
Martin Baulig [Tue, 12 Feb 2019 01:21:54 +0000 (20:21 -0500)]
Fix ServerAsyncAuthenticateTest. (dotnet/corefx#35170)

In ServerAsyncSslHelper, pass a certificate validation callback to both
client and server.

Commit migrated from https://github.com/dotnet/corefx/commit/a46d64a21591dd36292b0f6f0946fc55babced11

5 years agoMake DEBUG builds always print chain errors (dotnet/corefx#35243)
Jeremy Barton [Tue, 12 Feb 2019 01:07:05 +0000 (17:07 -0800)]
Make DEBUG builds always print chain errors (dotnet/corefx#35243)

Commit migrated from https://github.com/dotnet/corefx/commit/24d614dd0b79e470163f0a392ee227a097199b35

5 years agoIgnore CTRequired when building an X509 chain. (dotnet/corefx#35246)
Kevin Jones [Tue, 12 Feb 2019 00:41:07 +0000 (19:41 -0500)]
Ignore CTRequired when building an X509 chain. (dotnet/corefx#35246)

Commit migrated from https://github.com/dotnet/corefx/commit/e8a88e8e0270977edc74019a282c73eab940b872

5 years agoReenable Ubuntu testing (dotnet/corefx#35248)
Santiago Fernandez Madero [Tue, 12 Feb 2019 00:31:12 +0000 (18:31 -0600)]
Reenable Ubuntu testing (dotnet/corefx#35248)

Commit migrated from https://github.com/dotnet/corefx/commit/3ae95c99ffe82aaf087c64857ee6982a6c9e1ba6

5 years agoThread principal unauthenticated (dotnet/corefx#35112)
Viktor Hofer [Mon, 11 Feb 2019 23:14:08 +0000 (00:14 +0100)]
Thread principal unauthenticated (dotnet/corefx#35112)

* Remove bind error for thread principal

* Disable threadpool test for uapaot

* Disable MailMessage reflection test on uapaot

* Disable ValueTask reflection tests on uapaot

* Guard System.TestEnvironment against ILC

* Revert AppDomain UnauthenticatedPrincipal change

Commit migrated from https://github.com/dotnet/corefx/commit/0424e9db4628029b3308380f26312c79912bfb42

5 years agoFix DispatchProxy arguments with [Out] methods (dotnet/corefx#34583)
Kevin Gosse [Mon, 11 Feb 2019 23:08:56 +0000 (00:08 +0100)]
Fix DispatchProxy arguments with [Out] methods (dotnet/corefx#34583)

* Fix DispatchProxy arguments with [Out] methods

When calling a method with the [Out] argument, DispatchProxy incorrectly interprets it as a "out" method and sets the argument to null.

* Invert the condition to improve readability

Commit migrated from https://github.com/dotnet/corefx/commit/5dbfbdf730c690dc3bad9c1d5febfe9eaf1f1e4a

5 years agoMerge pull request dotnet/corefx#35241 from wtgodbe/yaml30
William Godbe [Mon, 11 Feb 2019 22:32:37 +0000 (14:32 -0800)]
Merge pull request dotnet/corefx#35241 from wtgodbe/yaml30

Add CI runs for release/3.0

Commit migrated from https://github.com/dotnet/corefx/commit/b9288bef72e950f544563be6b4ae49ebf3920a9c

5 years agobasic support for PooledConnectionLifetime for HTTP2 (dotnet/corefx#35087)
Tomas Weinfurt [Mon, 11 Feb 2019 21:56:40 +0000 (13:56 -0800)]
basic support for PooledConnectionLifetime for HTTP2 (dotnet/corefx#35087)

* basic support for PooledConnectionLifetime

* rework Http2Connection expiration

* feedback from review

* add separate LifetimeExpired() and re-factor expiration checks.

* feedback from review

Commit migrated from https://github.com/dotnet/corefx/commit/45f4518def7d416eb7bd481d118209de2e703429

5 years agoSwitch LINQ over to using ThrowHelper pattern (dotnet/corefx#35213)
Stephen Toub [Mon, 11 Feb 2019 21:28:51 +0000 (16:28 -0500)]
Switch LINQ over to using ThrowHelper pattern (dotnet/corefx#35213)

Commit migrated from https://github.com/dotnet/corefx/commit/8750960d3fafa46a9b838c351e995a01fa8b599f

5 years agoImprove the pipelines back pressure deadlock error (dotnet/corefx#33772)
Pavel Krymets [Mon, 11 Feb 2019 21:06:09 +0000 (13:06 -0800)]
Improve the pipelines back pressure deadlock error (dotnet/corefx#33772)

Commit migrated from https://github.com/dotnet/corefx/commit/45a92e78a980fc0a25f10b9d01b970a24521cf0c

5 years agoPublish built packages to artifacts on PRs as well (dotnet/corefx#35232)
Santiago Fernandez Madero [Mon, 11 Feb 2019 20:34:29 +0000 (12:34 -0800)]
Publish built packages to artifacts on PRs as well (dotnet/corefx#35232)

Commit migrated from https://github.com/dotnet/corefx/commit/c4850a44862d1d3ccc1a47de2a99d0dea4f6fd7f

5 years agoAdd PR trigger
wtgodbe [Mon, 11 Feb 2019 20:31:16 +0000 (12:31 -0800)]
Add PR trigger

Commit migrated from https://github.com/dotnet/corefx/commit/a60a0de7a9c74346fffa6e83f49a8d5d701cd227

5 years agoMerge pull request dotnet/corefx#35207 from dotnet/darc-master-be4ecac4-471a-4e11...
Stephen Toub [Mon, 11 Feb 2019 20:13:27 +0000 (15:13 -0500)]
Merge pull request dotnet/corefx#35207 from dotnet/darc-master-be4ecac4-471a-4e11-961e-78e7628e8c2c

Update dependencies from dotnet/coreclr

Commit migrated from https://github.com/dotnet/corefx/commit/09986997bfa24b73fcffbbdabe363cea60d53eff

5 years agoAdd CI runs for release/3.0
wtgodbe [Mon, 11 Feb 2019 20:03:25 +0000 (12:03 -0800)]
Add CI runs for release/3.0

Commit migrated from https://github.com/dotnet/corefx/commit/6232aedafca10eded415b2a291465189b2797ee9

5 years agoRemove Obsolete attribute from Variant APIs (dotnet/corefx#35161)
Aaron Robinson [Mon, 11 Feb 2019 19:10:26 +0000 (11:10 -0800)]
Remove Obsolete attribute from Variant APIs (dotnet/corefx#35161)

* Remove Obsolete attribute from Variant APIs

Commit migrated from https://github.com/dotnet/corefx/commit/eeaeb176be75e466ca8efc7b1c59b602ae37f1ec

5 years agoAdjust System.Diagnostics.Tracing for moved EventCounter
Stephen Toub [Mon, 11 Feb 2019 17:01:27 +0000 (12:01 -0500)]
Adjust System.Diagnostics.Tracing for moved EventCounter

Commit migrated from https://github.com/dotnet/corefx/commit/45b49ee8a56b0c53364e5c1a98c12b9d9cc8206d

5 years agoReduce the amount of slicing in GetMemory/GetSpan/Advance (dotnet/corefx#35216)
David Fowler [Mon, 11 Feb 2019 17:32:52 +0000 (09:32 -0800)]
Reduce the amount of slicing in GetMemory/GetSpan/Advance (dotnet/corefx#35216)

- Avoid setting End on the writing segment until commit or until
we're moving to the next segment.
- This ends up making the pipe a little bigger but should make writing faster.

Commit migrated from https://github.com/dotnet/corefx/commit/89adf53ea819029e44f9d27e56a81dc445233250

5 years agoUse Cdotnet/corefx#7 is operator to remove additional cast (dotnet/corefx#32131)
Kahbazi [Mon, 11 Feb 2019 16:53:27 +0000 (20:23 +0330)]
Use Cdotnet/corefx#7 is operator to remove additional cast (dotnet/corefx#32131)

Commit migrated from https://github.com/dotnet/corefx/commit/b625822b92c3bc033304eab9730412202a3080f9

5 years agoRemoving double/float from the FormatterTests.Negative.cs tests.
Tanner Gooding [Sun, 10 Feb 2019 03:40:27 +0000 (19:40 -0800)]
Removing double/float from the FormatterTests.Negative.cs tests.

Commit migrated from https://github.com/dotnet/corefx/commit/f0b95b35c9a4f6af8733fdab2c1de193515438b6

5 years agoIndex and Ranges Changes
Tarek Mahmoud Sayed [Thu, 31 Jan 2019 20:50:54 +0000 (12:50 -0800)]
Index and Ranges Changes

Commit migrated from https://github.com/dotnet/corefx/commit/60362a5c15e6684afcfa5aff7a1f7f07a771a156

5 years agoUpdate ProjectNTfs, ProjectNTfsTestILC to beta-27411-00, beta-27411-00, respectively...
dotnet-maestro-bot [Mon, 11 Feb 2019 14:32:41 +0000 (06:32 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27411-00, beta-27411-00, respectively (dotnet/corefx#35226)

Commit migrated from https://github.com/dotnet/corefx/commit/54d7c9a5e7e9f06687dd223fb13889bd528264e6

5 years agoFix test failures in CertificateValidationClientServer_EndToEnd_Ok (dotnet/corefx...
David Shulman [Mon, 11 Feb 2019 04:37:47 +0000 (20:37 -0800)]
Fix test failures in CertificateValidationClientServer_EndToEnd_Ok (dotnet/corefx#35225)

This System.Net.Security Functional test was always failing on my machine.
But not failing in CI. The reason is that the CI machines don't have the
TestRoot certificate installed but my machine does.

So `Capability.IsTrustedRootCertificateInstalled()` is always false on the
CI machines but true on my machine.

Due to this test almost never running that codepath, the test got bad due to
some prior refactoring and the failure wasn't noticed until now. The test was
making an incorrect assumption about the contents and sizes of certificate
collections.

I fixed the test so that it validates what it should have been doing all along.
The validation is about checking that the received/built trusted chain is valid
and that the end-entity certificate is on that chain and is trusted by the root
on that chain.

Commit migrated from https://github.com/dotnet/corefx/commit/224fa8e1e58b10b7fe1a5d3cfdedf2a1afbfe2e1

5 years agoDisable Ubuntu16.04 and 18.04 legs from PRs until they are fixed (dotnet/corefx#35223)
Santiago Fernandez Madero [Mon, 11 Feb 2019 02:09:40 +0000 (18:09 -0800)]
Disable Ubuntu16.04 and 18.04 legs from PRs until they are fixed (dotnet/corefx#35223)

Commit migrated from https://github.com/dotnet/corefx/commit/bf5266034b2f5e39cf8f67057fcedd372686f72c

5 years agoDisable AuthProxy__ValidCreds_ProxySendsRequestToServer test on Nano (dotnet/corefx...
David Shulman [Sun, 10 Feb 2019 22:32:31 +0000 (14:32 -0800)]
Disable AuthProxy__ValidCreds_ProxySendsRequestToServer test on Nano (dotnet/corefx#35221)

The System.Net.Http AuthProxy__ValidCreds_ProxySendsRequestToServer test is
frequently failing on Nano.  It is highly likely a test bug and not a product bug.

Contributes to dotnet/corefx#32809

Commit migrated from https://github.com/dotnet/corefx/commit/d0ddc1c8202f1c9e2b9913a533c3aba3202d1f65

5 years agoAdd NTLM feature detection and more tests (dotnet/corefx#35200)
David Shulman [Sun, 10 Feb 2019 16:24:06 +0000 (08:24 -0800)]
Add NTLM feature detection and more tests (dotnet/corefx#35200)

This PR works toward the goal of our Enterprise Scenarios. I added logic in the Unix
PAL gssapi layer to detect whether the NTLM plugin is installed. This is useful both
in the product code (to return better exception messages) and the test code (to
skip NTLM tests if needed).

Refactored some of the Common System.Net.Configuration logic for tests. Added new
environment variable logic to separate between domain-joined and standalone server
environments.

Add new tests to validate NTLM end-to-end connectivity. Opened some new issues
discovered along with way regarding HTTP/2 and Windows authentication.

To run these new tests simply set the 3 environment variables to point to the
standalone windows server environment.  For example, on Linux:

```
export COREFX_WINDOWSSERVER_HTTPHOST=somewindowsmachine.contoso.com
export COREFX_NET_SERVER_USERNAME=someusername
export COREFX_NET_SERVER_PASSWORD=somepassword
```

I have already deployed a standalone Windows server for these tests but
we're not ready yet to have the tests always run in CI.

Contributes to dotnet/corefx#34878

Commit migrated from https://github.com/dotnet/corefx/commit/fe6f55b496489dbd02cdd207c0b1f9112b560763

5 years agoDon't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet/corefx...
Stephen Toub [Sun, 10 Feb 2019 02:26:46 +0000 (21:26 -0500)]
Don't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet/corefx#35187) (dotnet/corefx#35209)

Previously X509ChainPolicy would always allocate its collections, but now it lazily allocates them.  However, X509Chain.Build is forcing them to be allocated even when they're not needed.  Stop doing that.

Commit migrated from https://github.com/dotnet/corefx/commit/5b8fe73971fb7885fa7afc08ceec28df9a695a23

5 years agoReduce memory allocation in Http2Stream (dotnet/corefx#35179)
Stephen Toub [Sun, 10 Feb 2019 00:32:15 +0000 (19:32 -0500)]
Reduce memory allocation in Http2Stream (dotnet/corefx#35179)

* Reduce memory allocation in Http2Stream

- Pool response buffers via ArrayPool
- Don't allocate a separate sync object
- Shrink the size of a few types

* Address PR feedback

Commit migrated from https://github.com/dotnet/corefx/commit/24aa561da2d0632dc284bc230b1147ace848d22b

5 years agoAdded methods to copy to and from streams (dotnet/corefx#35212)
David Fowler [Sat, 9 Feb 2019 23:52:29 +0000 (15:52 -0800)]
Added methods to copy to and from streams (dotnet/corefx#35212)

- Added Stream.CopyToAsync(PipeWriter)
- Added PipeWriter.CopyFromAsync(Stream)
- Added PipeReader.CopyToAsync(stream)

Commit migrated from https://github.com/dotnet/corefx/commit/603af6f2d84d9970a063bb96fbd4a2461ee3de42

5 years agoUpdate CoreFxOptimizationData, ProjectNTfs, ProjectNTfsTestILC to master-20190208...
dotnet-maestro-bot [Sat, 9 Feb 2019 20:41:54 +0000 (12:41 -0800)]
Update CoreFxOptimizationData, ProjectNTfs, ProjectNTfsTestILC to master-20190208.1, beta-27408-00, beta-27408-00, respectively (dotnet/corefx#35168)

Commit migrated from https://github.com/dotnet/corefx/commit/f26fb9c2a6fe52a5cdb9309f1b7dbe14e1e667b0

5 years agoRevert "Don't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet...
Stephen Toub [Sat, 9 Feb 2019 12:11:58 +0000 (07:11 -0500)]
Revert "Don't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet/corefx#35187)" (dotnet/corefx#35206)

This reverts commit dotnet/corefx@147e167610b9480f5a86eb50ad36006352f4a545.

Commit migrated from https://github.com/dotnet/corefx/commit/87de1b25d5c71283cc8c53d90fdace453d0916e7

5 years agoRemove Fedora from helix test queues to unblock PRs (dotnet/corefx#35192)
Santiago Fernandez Madero [Sat, 9 Feb 2019 04:15:27 +0000 (20:15 -0800)]
Remove Fedora from helix test queues to unblock PRs (dotnet/corefx#35192)

Commit migrated from https://github.com/dotnet/corefx/commit/bb6dc56247e496f5a0cf951abb1097e4851fde48

5 years agomove EventCounter to shared CoreLib (dotnet/corefx#35183)
Sung Yoon Whang [Sat, 9 Feb 2019 03:58:24 +0000 (19:58 -0800)]
move EventCounter to shared CoreLib (dotnet/corefx#35183)

Commit migrated from https://github.com/dotnet/corefx/commit/acb7df13e9fe7c91117a7ae5a85044b9caee03b8

5 years agoDon't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet/corefx...
Stephen Toub [Sat, 9 Feb 2019 02:24:51 +0000 (21:24 -0500)]
Don't force-allocate x509ChainPolicy collections in X509Chain.Build (dotnet/corefx#35187)

Previously X509ChainPolicy would always allocate its collections, but now it lazily allocates them.  However, X509Chain.Build is forcing them to be allocated even when they're not needed.  Stop doing that.

Commit migrated from https://github.com/dotnet/corefx/commit/147e167610b9480f5a86eb50ad36006352f4a545

5 years agoFix BigInteger parsing of substring span (dotnet/corefx#35185)
Stephen Toub [Sat, 9 Feb 2019 02:24:31 +0000 (21:24 -0500)]
Fix BigInteger parsing of substring span (dotnet/corefx#35185)

Commit migrated from https://github.com/dotnet/corefx/commit/73a3cf567a7b02ce4f984f5b791da19812fd8aa9

5 years agoGetMemory/GetSpan takes a minimum size (dotnet/corefx#35186)
David Fowler [Sat, 9 Feb 2019 01:40:42 +0000 (17:40 -0800)]
GetMemory/GetSpan takes a minimum size (dotnet/corefx#35186)

- We changed the contract of IBufferWriter to be more usable by making the sizeHint a minimum size. If the caller requests memory over the max pool size then we allocate.
- In the default case where we're using the shared array pool, we let the underlying pool handle this (it does internally).

Commit migrated from https://github.com/dotnet/corefx/commit/c45d88d5a1326501e31c02e508efb352a492fb59

5 years agoRemove a lot of allocation from SslStream's handshake (dotnet/corefx#35091)
Stephen Toub [Fri, 8 Feb 2019 20:09:50 +0000 (15:09 -0500)]
Remove a lot of allocation from SslStream's handshake (dotnet/corefx#35091)

* Remove a lot of allocation from SslStream's handshake

This makes a sizeable dent in the allocation incurred as part of SslStream's handshake (AuthenticateAsClient/Server{Async}), though mainly on Windows; many of these changes also impact Unix, but on Unix there's also substantially more allocation, so the relevant percentage impact is less.

Main changes:
- X509Certificate2.RawData.  This was being accessed by SslStream in order to store the byte[] away in case the RemoteCertificate property was accessed, in which case it would use it to instantiate an X509Certificate2.  That, however, was resulting in lots of sizeable byte[]s being allocated.  We can instead just instantiate an X509Certificate2 from the original, and while that entails a few additional small allocations, it's a sizeable reduction, and we'd eventually need the cert anyway if the property is accessed.
- X509ChainPolicy.  Every time Reset was called, it would allocate several new collections, but they often weren't used.  Made them lazy.
- X509 object finalization.  A bunch of X509-related objects were being left for finalization.  Those are now aggressively disposed.
- ChainPal.GetChainStatusInformation: every call was P/Invoke'ing to get a string error message for a handful of prechosen error codes... we can just get the strings once upfront and avoid allocating them each time.
- OidCollections.  A bunch of these are created but not actually populated, and each time one is created it was allocating a new List.  Changed to just have it be built around an array.
- SecPkgContext classes.  These have been converted to blittable structs, avoiding the associated allocations and marshaling costs, e.g. SecPkgContext_ApplicationProtocol would end up allocating a byte[] along with the instance itself.
- PtrToStructure.  When QueryContextAttributes was being called, in many cases PtrToStructure was being used.  This has been cleaned up, to avoid the marshaling and just use spans / casting.
- SecurityBuffer[] arrays.  Lots of code was written in terms of SecurityBuffer[], which meant lots of operations allocating these.  However, they were never larger than three items.  We now just stack allocate spans for them.
- Overloads taking both SecurityBuffer and SecurityBuffer[].  I believe because of the arrays, there were some cases where methods would take both a SecurityBuffer argument and a SecurityBuffer[] argument, with one and only one non-null.  Now that we're just passing around allocation-free spans, this has been cleaned up.
- GCHandles and GCHandle[].  Multiple methods were allocating arrays of GCHandles, and then one GCHandle.Alloc (not a managed allocation, but also not free) per SecurityBuffer.  Now that we're known to be limited to at most three, we just used fixed (even if we don't actually have three), avoiding the need for the arrays and for the GCHandle.Alloc, which is more expensive than fixed.
- SecBuffer[] arrays.  Several places were allocating a SecBuffer[]; we can just stackalloc a struct.  These are all limited by the number of SecurityBuffers passed around, which is inherently small (<= 3 in the current code).
- SecureChannel.EnsurePrivateKey.  It was always forcing a certificate's Thumbpring into existence, even though it was rarely needed.
- SecureChannel.AcquireClientCredentials.  It was always forcing a List into existence, even if it wasn't needed.
- SslAuthenticationOptions.  This internal type had several fields for delegates that were never used.  Removed.
- Span.ToArray.  In several places utilize span to create an array from a pointer/length rather than allocating the array and Marshal.Copy'ing.  This is mostly for readability.
- Also cleaned up a few things, like using ?.Dispose across System.Net.Security.
- Protocol version strings.  On Unix we were getting the protocol version constant string from the native string, allocating a managed string for it, and then comparing it against the set of known constant strings.  We don't need to do that.

There's still more that can be done.  On Windows, the two big remaining sources of allocation are for byte[]s created for data to send/receive in the handshake, and that will hopefully be addressed by work to combine SslStream/SslStreamInternal/SslState and to rewrite them to use async/await, and the allocation of the actual SecurityBuffers, which should be fairly straightforward to convert to structs (albeit with some care, as they're mutated as they're passed around).  On Unix, there's a ton more allocation, in particular as part of X509Chain building, and that should be investigated separately as part of an effort to improve performance there.

* Move SecurityBuffer to be Windows-only and make it a struct

* Rename several files

* Fix netstandard build of SqlClient

Commit migrated from https://github.com/dotnet/corefx/commit/3c30357d51b96339021b4ee52f38445c31248bb2

5 years agoUse the array pool by default instead of going through the MemoryPool (dotnet/corefx...
David Fowler [Fri, 8 Feb 2019 20:01:35 +0000 (12:01 -0800)]
Use the array pool by default instead of going through the MemoryPool (dotnet/corefx#35171)

* Use the array pool by default instead of going through the MemoryPool<T> abstraction.

* Math.Clamp isn't in netstandard2.0

* Some cleanup based on PR feedback
- Keep setting MemoryPool<byte>.Shared by default
- Fixed the pipelines solution file

Commit migrated from https://github.com/dotnet/corefx/commit/e58f923745d37a5ce5a23ce838833d1e3455e62a

5 years agoMerge pull request dotnet/corefx#35158 from dotnet/mmitche-patch-1
Matt Mitchell [Fri, 8 Feb 2019 16:47:54 +0000 (08:47 -0800)]
Merge pull request dotnet/corefx#35158 from dotnet/mmitche-patch-1

Move coreclr dependencies to product

Commit migrated from https://github.com/dotnet/corefx/commit/ad7eef57b5f8ecbfdb2c17b5d1aa631b025449a5

5 years agoRemove InternalsVisibleTo from S.C.C.Registration (dotnet/corefx#35144)
Viktor Hofer [Fri, 8 Feb 2019 12:56:54 +0000 (13:56 +0100)]
Remove InternalsVisibleTo from S.C.C.Registration (dotnet/corefx#35144)

* Remove InternalsVisibleTo from S.C.C.Registration

* Disable failing uapaot tests

Commit migrated from https://github.com/dotnet/corefx/commit/ef534fccfbafe75a75f88a5d78d6bfddcf44f2f3

5 years agoAdd SwitchExpressionException (dotnet/corefx#34954)
Maryam Ariyan [Fri, 8 Feb 2019 02:49:42 +0000 (18:49 -0800)]
Add SwitchExpressionException (dotnet/corefx#34954)

* Add SwitchExpressionException

Fixes: dotnet/corefx#33284

* Apply PR feedbacks

* Type just added to .net core 3.0

* quick cleanup

* Add test in BinaryFormatterTestData

* Updated the APIs for SwitchExpressionException

* Remove IsSerializable condition

Commit migrated from https://github.com/dotnet/corefx/commit/3685052201c95462f210582be9fe380baf1b902e

5 years agoUpdate CoreFxOptimizationData, ProjectNTfs, ProjectNTfsTestILC to master-20190207...
dotnet-maestro-bot [Fri, 8 Feb 2019 01:24:13 +0000 (17:24 -0800)]
Update CoreFxOptimizationData, ProjectNTfs, ProjectNTfsTestILC to master-20190207.3, beta-27407-00, beta-27407-00, respectively (dotnet/corefx#35142)

Commit migrated from https://github.com/dotnet/corefx/commit/719e29d92e3e0a0e6f6295d1669cd9684fca028d

5 years agofixed small errors (dotnet/corefx#35162)
0xflotus [Fri, 8 Feb 2019 01:23:16 +0000 (02:23 +0100)]
fixed small errors (dotnet/corefx#35162)

* Update cross-platform-cryptography.md

fixed small errors

* Update adding-api-guidelines.md

* Update package-projects.md

* Update project-guidelines.md

* Update BitArray.cs

Commit migrated from https://github.com/dotnet/corefx/commit/2d55a9b8331c58370e59d388ad0bddb0f2ec9199

5 years agoMerge pull request dotnet/corefx#34630 from geoffkizer/http2tests
Geoff Kizer [Fri, 8 Feb 2019 00:21:04 +0000 (16:21 -0800)]
Merge pull request dotnet/corefx#34630 from geoffkizer/http2tests

HTTP2: Modify HTTP2 tests to run against platform handlers as well

Commit migrated from https://github.com/dotnet/corefx/commit/073bf4793f49e46f3a07e865b82045724ccc3641

5 years agoUpgrading Roslyn to 3.0.0-beta2-final (dotnet/corefx#35134)
Tanner Gooding [Thu, 7 Feb 2019 23:00:35 +0000 (15:00 -0800)]
Upgrading Roslyn to 3.0.0-beta2-final (dotnet/corefx#35134)

* Upgrading Roslyn to 3.0.0-beta2-final

* Updating the dotnet sdk to 2.2.103

* Fixing a netcoreapp reference in ref/System.Threading.Channels

Commit migrated from https://github.com/dotnet/corefx/commit/c2bbb6a5ee5ff67e5e8353e154d7b4c4f2f83143

5 years agoFix casing of files to get closer to ./build.sh -allConfiguration working on linux...
Krzysztof Wicher [Thu, 7 Feb 2019 18:41:44 +0000 (10:41 -0800)]
Fix casing of files to get closer to ./build.sh -allConfiguration working on linux (dotnet/corefx#35085)

* Rename directories to use CamelCasing

* Fix CsProj files to match file names and their casing

* fix couple of Compile items which were not in csproj file

Commit migrated from https://github.com/dotnet/corefx/commit/8c5260061b11323dfd97fbab614d54402405513f

5 years agoProcess.Close check for null before using variable (dotnet/corefx#32792)
matejskubic [Thu, 7 Feb 2019 18:36:36 +0000 (19:36 +0100)]
Process.Close check for null before using variable (dotnet/corefx#32792)

* Process.Close check for null before using

Fix when Process.Close throws Exception on redirected StandardOutput or StandardError.
Steps to reproduce

    process.Start
    process.BeginOutputReadLine
    process.Start
    process.Dispose

* Address PR feedback

Commit migrated from https://github.com/dotnet/corefx/commit/ff8f3149fc7aa1362b35b15da315646c3bb48dc9

5 years agoRemove dead code from Composition.Hosting (dotnet/corefx#35131)
Hugh Bellamy [Thu, 7 Feb 2019 02:14:53 +0000 (02:14 +0000)]
Remove dead code from Composition.Hosting (dotnet/corefx#35131)

Commit migrated from https://github.com/dotnet/corefx/commit/4d180567e9dc5500006b58480184f0dcfe967c1e

5 years agoFix failing xNodeBuilder tests (dotnet/corefx#35140)
Stephen Toub [Thu, 7 Feb 2019 00:49:16 +0000 (19:49 -0500)]
Fix failing xNodeBuilder tests (dotnet/corefx#35140)

1 of the tests is failing because float.MaxValue.ToString() changed and it had hardcoded the previous value.

4 of the tests failed because it was doing a string comparison on the type name of Encoding.UTF8, which a while ago changed to be a sealed derived type and thus is no longer exactly "System.Text.UTF8Encoding".  My only explanation for why these just started failing is that we weren't previously running them?  Might have something to do with the lack of a Configurations.props file, which I had to add in order to run the tests locally.

Commit migrated from https://github.com/dotnet/corefx/commit/a27099da194460992a9b8c098f1b5f07837577e0

5 years agoAllow ephemeral CNG keys to be used when signing a CMS.
Kevin Jones [Wed, 6 Feb 2019 22:55:44 +0000 (17:55 -0500)]
Allow ephemeral CNG keys to be used when signing a CMS.

Commit migrated from https://github.com/dotnet/corefx/commit/f664e3d68c1699b218b8b94d2208bd0c5c5f678f

5 years agoFix overflow exception in StringParsingHelpers (dotnet/corefx#35098)
Maxim Dobryakov [Wed, 6 Feb 2019 22:04:40 +0000 (01:04 +0300)]
Fix overflow exception in StringParsingHelpers (dotnet/corefx#35098)

* Replace all 'int' fields to 'long' in structures related to 'StringParsingHelpers' class because some parsed values can be great than 'int.MaxValue' (dotnet/corefx#34719)

* Fix type of 'IPGlobalStatisticsTable.DefaultTtl' property

Commit migrated from https://github.com/dotnet/corefx/commit/2f8f6f1be75ea2cc8132e18de5fe8375006ca36f

5 years agofix merge issues and some test cleanup
Geoff Kizer [Wed, 6 Feb 2019 19:10:02 +0000 (11:10 -0800)]
fix merge issues and some test cleanup

Commit migrated from https://github.com/dotnet/corefx/commit/340d2ac71afcbb6f9ea220e7549fcf8247995678

5 years agoadd basic GOAWAY tests and connection shutdown handling
Geoff Kizer [Thu, 17 Jan 2019 11:11:35 +0000 (03:11 -0800)]
add basic GOAWAY tests and connection shutdown handling

Commit migrated from https://github.com/dotnet/corefx/commit/449a47ba2c6dbb568692d554787405dde7d14d8e

5 years agotest fixes for various handlers and some additional tests
Geoff Kizer [Wed, 9 Jan 2019 11:37:45 +0000 (03:37 -0800)]
test fixes for various handlers and some additional tests

Commit migrated from https://github.com/dotnet/corefx/commit/d1c85401a2d9d727e4f87dab62277d569cbc09c5

5 years agoUpdate BuildTools, ProjectNTfs, ProjectNTfsTestILC to preview1-03706-01, beta-27406...
dotnet-maestro-bot [Wed, 6 Feb 2019 21:29:41 +0000 (13:29 -0800)]
Update BuildTools, ProjectNTfs, ProjectNTfsTestILC to preview1-03706-01, beta-27406-00, beta-27406-00, respectively (dotnet/corefx#35139)

Commit migrated from https://github.com/dotnet/corefx/commit/76cc535c26b8783c5c99e81e78ec9ce1b18410b6

5 years agomake HTTP2 tests run for platform handler as well
Geoff Kizer [Wed, 9 Jan 2019 11:21:24 +0000 (03:21 -0800)]
make HTTP2 tests run for platform handler as well

Commit migrated from https://github.com/dotnet/corefx/commit/686bf6eb6973713f4845fbb874b53f81ea16e50b

5 years agoAdd SocketErrorPal mapping for EPERM (dotnet/corefx#35133)
Stephen Toub [Wed, 6 Feb 2019 18:29:12 +0000 (13:29 -0500)]
Add SocketErrorPal mapping for EPERM (dotnet/corefx#35133)

Commit migrated from https://github.com/dotnet/corefx/commit/470a7ffeb5badcd465f88b3fb1b2444fd2f5c69d

5 years agoMerge pull request dotnet/corefx#35069 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Wed, 6 Feb 2019 17:29:07 +0000 (12:29 -0500)]
Merge pull request dotnet/corefx#35069 from dotnet-maestro-bot/master-UpdateDependencies

Update ProjectNTfs, ProjectNTfsTestILC to beta-27406-00, beta-27405-00, respectively (master)

Commit migrated from https://github.com/dotnet/corefx/commit/ccc5315d1e99eedc1e5560ef1d225ba136fd2b4f

5 years agoRemoving UAPvNext Assets from OOB packages (dotnet/corefx#35119)
Jose Perez Rodriguez [Wed, 6 Feb 2019 16:43:54 +0000 (08:43 -0800)]
Removing UAPvNext Assets from OOB packages (dotnet/corefx#35119)

Commit migrated from https://github.com/dotnet/corefx/commit/c38c10d28e223aeea2f363a6ef0bf4a63d00a776

5 years agoSome test fixes (dotnet/corefx#35092)
Dan Moseley [Wed, 6 Feb 2019 15:53:59 +0000 (07:53 -0800)]
Some test fixes (dotnet/corefx#35092)

* Disable Media test on NETFX

* Fix S.R.E for Uapaot

* Disable varargs for PN

* missing method 'AssemblyLoadContext..ctor(bool)

* IO test

* Fix UapAot RuntimeInformation tests

* Set correct tfm for AppDomainTests

* Merge driveonly tests into one

* Revert math

Commit migrated from https://github.com/dotnet/corefx/commit/0a751af9afe28042a720411925e6e6c55bdc10cc

5 years agoAdd more ComponentModel.Annotations tests (dotnet/corefx#35052)
Hugh Bellamy [Wed, 6 Feb 2019 15:00:06 +0000 (15:00 +0000)]
Add more ComponentModel.Annotations tests (dotnet/corefx#35052)

* Add more ComponentModel.Annotations tests

* Address PR feedback

Commit migrated from https://github.com/dotnet/corefx/commit/c13a641e12c23c3ac07a78964478a9a4b3137cc2

5 years agoTest more invalid values for ThreadPool.[Unsafe]RegisterWaitForSingleObject (dotnet...
Filip Navara [Wed, 6 Feb 2019 14:58:10 +0000 (15:58 +0100)]
Test more invalid values for ThreadPool.[Unsafe]RegisterWaitForSingleObject (dotnet/corefx#34818)

* Test more invalid values for ThreadPool.[Unsafe]RegisterWaitForSingleObject.

* Add checks for argument names in ArgumentOutOfRangeException.

* Disable failing test on NetFX.

Commit migrated from https://github.com/dotnet/corefx/commit/41948bf0fd29ad5b668f6479ae329c91aeb31f32

5 years agoFix CountdownEvent.Wait to respect underlying event's status (dotnet/corefx#35024)
Stephen Toub [Wed, 6 Feb 2019 14:55:45 +0000 (09:55 -0500)]
Fix CountdownEvent.Wait to respect underlying event's status (dotnet/corefx#35024)

A common pattern with CountdownEvent is:
```C#
ce.Reset(count);
.. // launch count operations that'll all call ce.Signal()
ce.Wait();
```
and to use that repeatedly.  Reset is explicitly not a thread-safe operation, but in a pattern like this, it should be acceptable as long as the only operations signaling the event are those launched here, since Wait should only return when they've all completed.  However, CountdownEvent.Wait is currently checking CountdownEvent.IsSet, which returns true if the count has reached 0, and the CountdownEvent.Signal method first decrements the count and the sets the underlying event if it reaches 0.  That means there's a window where the count is 0 but the event hasn't been set, which means if Wait is called in that window, it could return successfully even though an operation is still in flight invoking Signal, which then in turn is problematic as that could race with a subsequent call to Reset.

This fixes that by checking this._event.IsSet instead of this.IsSet.

Commit migrated from https://github.com/dotnet/corefx/commit/66403fb0e4c9e3c05e23db23c04742b8a50dbe0a

5 years agoFinish removing Environment from corefx
Stephen Toub [Wed, 6 Feb 2019 04:13:26 +0000 (23:13 -0500)]
Finish removing Environment from corefx

Commit migrated from https://github.com/dotnet/corefx/commit/5d43b70e75fc9419d9a39ca7d8f4e7143c74b235

5 years agoCleanup ObjectModel code (dotnet/corefx#35047)
Hugh Bellamy [Wed, 6 Feb 2019 03:43:14 +0000 (03:43 +0000)]
Cleanup ObjectModel code (dotnet/corefx#35047)

* Cleanup ObjectModel code

* Improve parameter names

Commit migrated from https://github.com/dotnet/corefx/commit/bab7da282613120288759dd7b7d3ff7d42dc00cf

5 years agoUpdate ProjectNTfs, ProjectNTfsTestILC to beta-27405-00, beta-27405-00, respectively
dotnet-maestro-bot [Wed, 6 Feb 2019 03:12:41 +0000 (19:12 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27405-00, beta-27405-00, respectively

Commit migrated from https://github.com/dotnet/corefx/commit/9cce85f7f2001b79f0fa3f9f4bf38e67b4ec25e2

5 years agoIncrease Serialization.Primitives coverage (dotnet/corefx#35101)
Hugh Bellamy [Wed, 6 Feb 2019 03:34:50 +0000 (03:34 +0000)]
Increase Serialization.Primitives coverage (dotnet/corefx#35101)

Commit migrated from https://github.com/dotnet/corefx/commit/e7a6ae6df547cb48112e8df712db7c0252871e13

5 years agoFixed Initialized misspelling on unit tests (dotnet/corefx#35108)
George Stocker [Wed, 6 Feb 2019 03:33:52 +0000 (22:33 -0500)]
Fixed Initialized misspelling on unit tests (dotnet/corefx#35108)

Commit migrated from https://github.com/dotnet/corefx/commit/382183fa612bfdce65fb8a837e4a89b8d80d0966

5 years agoAdd build batching for official builds (dotnet/corefx#35122)
Santiago Fernandez Madero [Wed, 6 Feb 2019 00:43:28 +0000 (16:43 -0800)]
Add build batching for official builds (dotnet/corefx#35122)

Commit migrated from https://github.com/dotnet/corefx/commit/55d782a76e3021b7979b91198d78145d6399be54

5 years agoAdding readme to source package and changing the nested file path. (dotnet/corefx...
Jose Perez Rodriguez [Wed, 6 Feb 2019 00:18:14 +0000 (16:18 -0800)]
Adding readme to source package and changing the nested file path. (dotnet/corefx#35089)

* Adding readme to source package and changing the nested file path.

* Address feedback and add README.md to None

* Adding new class to descriptions.json

Commit migrated from https://github.com/dotnet/corefx/commit/92eda9e19a886cbf7f8c7e97680df42a3ca1a2be

5 years agoMerge pull request dotnet/corefx#34880 from Wraith2/sqlfeature-getfieldvaluexml
Afsaneh Rafighi [Tue, 5 Feb 2019 22:54:02 +0000 (14:54 -0800)]
Merge pull request dotnet/corefx#34880 from Wraith2/sqlfeature-getfieldvaluexml

SqlClient enhancement enable GetFieldValue<XmlReader>

Commit migrated from https://github.com/dotnet/corefx/commit/9007057ab6ba649c67dbca2a422d997075404e6c

5 years agoremove instrumentation and move unreliable tests to Outerloop (dotnet/corefx#35113)
Tomas Weinfurt [Tue, 5 Feb 2019 22:39:38 +0000 (14:39 -0800)]
remove instrumentation and move unreliable tests to Outerloop (dotnet/corefx#35113)

Commit migrated from https://github.com/dotnet/corefx/commit/da8f7ea039030dea3f5808df0ee90d0e206af4e2

5 years agoRestore the Linux X509Certificates tests to 0 SafeX509Handle finalizations
Jeremy Barton [Tue, 5 Feb 2019 21:59:08 +0000 (13:59 -0800)]
Restore the Linux X509Certificates tests to 0 SafeX509Handle finalizations

Since the last drive down to zero finalizations (ensuring no platform-induced ones) a few have slipped back in.  This caused unnecessary distraction while
investigating a different problem.

This also leaves the "print a stack trace during finalization" code in place for DEBUG builds, behind an environment variable check (cached at type load).

Commit migrated from https://github.com/dotnet/corefx/commit/5012dfe0813bf9f3eaf7a6460671e07ea048fd52

5 years agoAdd more System.Json tests and remove dead xunit workarounds (dotnet/corefx#35057)
Hugh Bellamy [Tue, 5 Feb 2019 10:06:01 +0000 (10:06 +0000)]
Add more System.Json tests and remove dead xunit workarounds (dotnet/corefx#35057)

* Add more Json tests and remove old xunit workarounds

* Move files to the right place

* Fix tests

Commit migrated from https://github.com/dotnet/corefx/commit/53b8e52dbf12355ce845230f6bbe6c5425bb73e6

5 years agoCleanup doc comments in ComponentModel.Primitives (dotnet/corefx#35056)
Hugh Bellamy [Tue, 5 Feb 2019 00:00:19 +0000 (00:00 +0000)]
Cleanup doc comments in ComponentModel.Primitives (dotnet/corefx#35056)

* Cleanup doc comments in ComponentModel.Primitives

* Pr feedback, remove incorrect comment

Commit migrated from https://github.com/dotnet/corefx/commit/53a33cf2662ac8c9a45d13067012d80cf0ba6956

5 years agoAdding some tests for double/float roundtripping. (dotnet/corefx#35083)
Tanner Gooding [Mon, 4 Feb 2019 23:53:03 +0000 (15:53 -0800)]
Adding some tests for double/float roundtripping. (dotnet/corefx#35083)

Commit migrated from https://github.com/dotnet/corefx/commit/404af492722040b61cc9268cdc6f2d5fc76699b8

5 years agoFix uapaot binaryformatter tests (dotnet/corefx#35079)
Viktor Hofer [Mon, 4 Feb 2019 23:52:11 +0000 (00:52 +0100)]
Fix uapaot binaryformatter tests (dotnet/corefx#35079)

Commit migrated from https://github.com/dotnet/corefx/commit/61a8b5b02aa88772d2a73d643cfeb20bf3715458

5 years ago Increase code coverage of System.ComponentModel.Primitives to 100% (dotnet/corefx...
Hugh Bellamy [Mon, 4 Feb 2019 14:55:42 +0000 (14:55 +0000)]
 Increase code coverage of System.ComponentModel.Primitives to 100% (dotnet/corefx#35055)

* Increase code coverage of  System.ComponentModel.Primitives to 100%

* Move files to right folder

Commit migrated from https://github.com/dotnet/corefx/commit/81c116a55d8788f563a8e02c21c9388bdf681647

5 years agoUpdate dependencies from dotnet/coreclr (dotnet/corefx#35051)
dotnet-maestro[bot] [Sun, 3 Feb 2019 16:38:37 +0000 (16:38 +0000)]
Update dependencies from dotnet/coreclr (dotnet/corefx#35051)

* Update dependencies from https://github.com/dotnet/coreclr build 20190201.72

This change updates the following dependencies
- Microsoft.NET.Sdk.IL - 3.0.0-preview-27401-72
- Microsoft.NETCore.ILAsm - 3.0.0-preview-27401-72
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview-27401-72

* Update dependencies from https://github.com/dotnet/coreclr build 20190202.72

This change updates the following dependencies
- Microsoft.NET.Sdk.IL - 3.0.0-preview-27402-72
- Microsoft.NETCore.ILAsm - 3.0.0-preview-27402-72
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview-27402-72

* Fixing various tests that have new behavior due to the string formatting changes for double/float.

Commit migrated from https://github.com/dotnet/corefx/commit/ebf1c9753ab5624c967b0dbd352b1e73805b1fe5

5 years agoMove Interop.GetTimestamp.cs to shared CoreLib partition. (dotnet/corefx#35031)
Filip Navara [Sun, 3 Feb 2019 01:35:39 +0000 (02:35 +0100)]
Move Interop.GetTimestamp.cs to shared CoreLib partition. (dotnet/corefx#35031)

Commit migrated from https://github.com/dotnet/corefx/commit/c28f9c24d236d4d254d8299897e981ccf6492431

5 years agoUpdate ProjectNTfs, ProjectNTfsTestILC to beta-27401-00, beta-27401-00, respectively
dotnet-maestro-bot [Sat, 2 Feb 2019 06:49:37 +0000 (22:49 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27401-00, beta-27401-00, respectively

Commit migrated from https://github.com/dotnet/corefx/commit/c8da75f0b3fa5742d4aa9b4456be8cc9f4835511

5 years agoCleanup security permission and resource consumption attribute references (dotnet...
Jan Kotas [Sat, 2 Feb 2019 08:09:09 +0000 (00:09 -0800)]
Cleanup security permission and resource consumption attribute references (dotnet/corefx#35042)

Commit migrated from https://github.com/dotnet/corefx/commit/2c2e4a599889652ec579a870054b0f8915ea70fd

5 years agoAdding Kill(bool entireProcessTree) -- terminates a process tree (dotnet/corefx#34147)
Ben Gribaudo [Sat, 2 Feb 2019 01:09:16 +0000 (19:09 -0600)]
Adding Kill(bool entireProcessTree) -- terminates a process tree (dotnet/corefx#34147)

* Adding Kill(bool entireProcessTree)

* Slightly cleaning up NtQueryInformationProcess interop code

* Trimming down PROCESSINFOCLASS enum members

* Refactoring--adjusting indents, changing param from ref to out, etc.

* Revising NtQueryInformationProcess-related code

* Comment & indentation tweaks

* TryGetParentProcessId -> GetParentProcessId rename/refactoring -- includes eliminating the output parameter

* Removing UAP double-definition of KillTree()

* Moving code so that not included in Uap build & tests so that not included in Uap and NetFx builds

* Moving relevant code from Windows -> Win32

* Moving relevant code from Windows -> Win32

* Working to satisfy contract for Uap (code written to fail test to verify that it works)

* Typo fix (missing return signature)

* Removing unneeded Uap-specific test file

* Adding temp. test to verify that UAP CI is catching test failures.

* Using lists (vs. enumerables) as test assert arguments

* Giving Kill() a moment to take effect

* Removing whitespace

* Removing irrelevant comment

* Revising initial check that ensures process has started.

* Moving process tree creation outside of finally

* Adding retry logic to tests

* Adjusting retry times/delay

* Adding backoff to retry helper

* Introducing non-auto-dispose variant of CreateProcess; refactoring

* Improving exception handling

* Moving catch

* Minor refactoring/reformatting

* Testing test execution by CI

* Partially removing code testing CI system

* Experimenting with implementing on OSX

* Adding cast

* Re-adding [ActiveIssue] attribute accidentally removed

* Re-adding inadvertently-removed commented-out test attributes

* Allowing aggregated Win32Exceptions to propagate out; disallowing calling Kill(true) on tree containing caller

* Adjusting test attributes, removing CI verification test, adjusting expected exception

* Marking non-local process test as platform-specific

* Adding PlatformNotSupported throw for Uap.

* Adding missing closing XML tag

* XML doc tag tweak

* Cleaning up two merge artifacts (whitespace + comment)

* Adding console output for debugging

* Fixing typo

* Removing logging to console

* Removing unused parameter

* Unix & OSX exception tweaks

* Variable rename

* Whitespace tweak

* Refactoring IsInTreeOf to use @danmosemsft's optimization suggestion; Renaming method

* Missed a rename

* Tweaking

* Reworking IsSelfOrDescendant to use refactored GetChildProcesses

* Minor fix

* Applying minor tweaks suggested by @krwq

* Adding a delay safety cutoff to RetryWithBackoff per
@krwq's suggestion.

* Adjusting backoff delay max to 10 seconds.

* IsSelfOrDescendant -> IsSelfOrDescendantOf

* Unix: If Stop() fails, don't try to continue with the process (thanks @tmds!).

* Fixing typo.

* Adding comments about kill/stop returning before termination/stopping completes.

* Adding comment.

Commit migrated from https://github.com/dotnet/corefx/commit/81bd671efda5db20fae1eb381aeff2cf8ea727ac

5 years agoAdd TypeConverterAttribute tests and fix bugs (dotnet/corefx#35019)
Hugh Bellamy [Sat, 2 Feb 2019 00:00:18 +0000 (00:00 +0000)]
Add TypeConverterAttribute tests and fix bugs (dotnet/corefx#35019)

Commit migrated from https://github.com/dotnet/corefx/commit/93ecfc6e1e5646328b85e113409de7797774fb97

5 years agoFilter symbols by shipping and non-shipping for BAR metadata (dotnet/corefx#35028)
Santiago Fernandez Madero [Fri, 1 Feb 2019 23:50:55 +0000 (15:50 -0800)]
Filter symbols by shipping and non-shipping for BAR metadata (dotnet/corefx#35028)

Commit migrated from https://github.com/dotnet/corefx/commit/75a42d467d617b04cd4c0daae8ff185cb82bc73b

5 years agoRemove stale warning 420 pragmas (dotnet/corefx#35023)
Stephen Toub [Fri, 1 Feb 2019 19:57:35 +0000 (14:57 -0500)]
Remove stale warning 420 pragmas (dotnet/corefx#35023)

It used to be that the CS0420 warning ("a reference to a volatile field will not be treated as volatile") would fire when a volatile was used with an Interlocked.* operation.  That warning was unnecessary, as Interlocked.* would itself provide the relevant barriers, and these functions were special cased in Roslyn a long time ago.  But there are still lots of places where pragmas disabling the warning have stuck around.  I'm deleting them.

Commit migrated from https://github.com/dotnet/corefx/commit/8b3446f4e8ad1a7b19c7298e20396629c6e0092e

5 years agoMove corefx dependencies to itself to consume from BAR (dotnet/corefx#34981)
Santiago Fernandez Madero [Fri, 1 Feb 2019 19:25:46 +0000 (11:25 -0800)]
Move corefx dependencies to itself to consume from BAR (dotnet/corefx#34981)

Commit migrated from https://github.com/dotnet/corefx/commit/38c9269a1152be6f5b157f78b1d95c4bb1997127

5 years agoUpdate CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview.19101.1, beta-27401-00...
dotnet-maestro-bot [Fri, 1 Feb 2019 18:07:37 +0000 (10:07 -0800)]
Update CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview.19101.1, beta-27401-00, beta-27401-00, respectively (dotnet/corefx#35015)

Commit migrated from https://github.com/dotnet/corefx/commit/bd3cb6968320e3f2fc0397036e7420e774e1b558

5 years agoFix time conversion in SystemNative_GetCpuUtilization (dotnet/corefx#35017)
Filip Navara [Fri, 1 Feb 2019 12:52:54 +0000 (13:52 +0100)]
Fix time conversion in SystemNative_GetCpuUtilization (dotnet/corefx#35017)

Commit migrated from https://github.com/dotnet/corefx/commit/0d41c895ff6e3094e1e8105a9bb6b4cf3d985bd7

5 years agoEnable TLS channel binding token for NTLM authentication on Linux (dotnet/corefx...
David Shulman [Fri, 1 Feb 2019 01:31:03 +0000 (17:31 -0800)]
Enable TLS channel binding token for NTLM authentication on Linux (dotnet/corefx#34998)

This PR adds support for passing in the computed TLS channel binding
token (cbt) into the gssapi during NTLM authentication. This included
removing the code that threw the PlatformNotSupported exception.

No new tests were added to this PR since it requires machine changes
to test. However, I manually tested various combinations of NTLM
authentication including when the server requires (or NOT) the cbt
to be used. Currently only Windows Servers uses this functionality
as part of the "Extended Protection for Authentication" feature.

CurlHandler does not support using the cbt during NTLM authentication.
This is a problem with libcurl itself.

As part of this PR I removed a redundant assert and refactored the
SecChannelBindings structure into src/Common.

Fixes dotnet/corefx#34879

Commit migrated from https://github.com/dotnet/corefx/commit/6575de65608c95717b2a032b689adae32378778f

5 years agoDiable System.Net.Http.FunctionalTests parallel execution on UAP run (dotnet/corefx...
Caesar Chen [Thu, 31 Jan 2019 23:55:40 +0000 (15:55 -0800)]
Diable System.Net.Http.FunctionalTests parallel execution on UAP run (dotnet/corefx#35004)

* diable parallel execution

* fix format....

* address feedback

Commit migrated from https://github.com/dotnet/corefx/commit/5543097d8b6039dedffdcd8b8e713de38e5a1ece

5 years agoUpdate CoreFx to preview.19081.2 (dotnet/corefx#35005)
dotnet-maestro-bot [Thu, 31 Jan 2019 23:37:13 +0000 (15:37 -0800)]
Update CoreFx to preview.19081.2 (dotnet/corefx#35005)

Commit migrated from https://github.com/dotnet/corefx/commit/154e8eaad6b79393af8ac9745c7f49c92cfbbf7a

5 years agoRe-enable disabled DecimalTestData (dotnet/corefx#34975)
Stephen Toub [Thu, 31 Jan 2019 20:28:35 +0000 (15:28 -0500)]
Re-enable disabled DecimalTestData (dotnet/corefx#34975)

Commit migrated from https://github.com/dotnet/corefx/commit/6e56a8fa5e237e5d9789a08918bf22d0fde4d785

5 years agoRefactor pre-test targets (dotnet/corefx#34973)
Eric StJohn [Thu, 31 Jan 2019 20:07:42 +0000 (12:07 -0800)]
Refactor pre-test targets (dotnet/corefx#34973)

* Refactor pre-test targets

Moves pre-testing targets to their own project that builds after others, rather than as targets in dirs.proj.

Use the GenerateTestSharedFrameworkDepsFile from the CoreFxTesting package rather than from buildtools.

* Manually update Arcade to latest

Commit migrated from https://github.com/dotnet/corefx/commit/f1336fa043309e587dee5e3d59ee04249ddff97b

5 years agoUpdate CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview.19081.1, beta-27331-00...
dotnet-maestro-bot [Thu, 31 Jan 2019 17:10:21 +0000 (09:10 -0800)]
Update CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview.19081.1, beta-27331-00, beta-27331-00, respectively (dotnet/corefx#34978)

Commit migrated from https://github.com/dotnet/corefx/commit/e849d7a98d8137a0d0d325f7c610b36c3903250f

5 years agoMirror changes from dotnet/coreclr (dotnet/corefx#34987)
Stephen Toub [Thu, 31 Jan 2019 17:09:58 +0000 (12:09 -0500)]
Mirror changes from dotnet/coreclr (dotnet/corefx#34987)

* Reverting "Fixing up the UTF8Formatter and some tests to properly handle -0.0" (dotnet/corefx#22300)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Add managed implementation of GetSystemMaxDBCSCharSize (dotnet/corefx#22290)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/35a2040b73969b0d69a3cc0d358eb91c5238de26

5 years agoManual darc update for arcade and coreclr (dotnet/corefx#34977)
Santiago Fernandez Madero [Thu, 31 Jan 2019 17:09:37 +0000 (09:09 -0800)]
Manual darc update for arcade and coreclr (dotnet/corefx#34977)

* Remove target to print MCUrl now that helix sdk always prints it

* Run darc update for dotnet/arcade

* Run darc update for dotnet\coreclr

* Fix build after Environment pushed down to coreclr

Commit migrated from https://github.com/dotnet/corefx/commit/28c46ef8a123864178c099580b7eb3c8eda3f495