platform/upstream/dotnet/runtime.git
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 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 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

5 years agoExpose/test IAsyncDisposable.ConfigureAwait (dotnet/corefx#34783)
Stephen Toub [Thu, 31 Jan 2019 15:21:30 +0000 (10:21 -0500)]
Expose/test IAsyncDisposable.ConfigureAwait (dotnet/corefx#34783)

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

5 years agoFix build break due to 'W'
Stephen Toub [Wed, 30 Jan 2019 22:01:42 +0000 (17:01 -0500)]
Fix build break due to 'W'

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

5 years agoFix several related inheritability bugs on Unix (dotnet/corefx#34967)
Stephen Toub [Thu, 31 Jan 2019 14:46:39 +0000 (09:46 -0500)]
Fix several related inheritability bugs on Unix (dotnet/corefx#34967)

- AnonymousPipeServerStream accepts a HandleInheritability value.  When it's set to None, both ends of the pipe are correctly created as O_CLOEXEC to prevent them from being inherited.  However, when it's set to Inheritable, we're not marking either end of the pipe as O_CLOEXEC, which means both file descriptors are inherited by the child process.  While technically that meets the letter of the law as to what the API requires, in the 99.9% use case the server handle really isn't intended to be inherited, and rather it's only the client handle that is; by allowing the server handle to also be inherited, when the server closes its end of the pipe, the client doesn't get an EOF or broken pipe, because it still has its dup of the file descriptor open, and will for the lifetime of the process.  The fix is to always mark the server file descriptor as O_CLOEXEC even if the inheritability is set to Inheritable.
- NamedPipeServer/ClientStream is built on Socket.  Previously, sockets defaulted to being inheritable, but we changed that for .NET Core 3.0, such that they're now not inherited.  But the pipe code was written expecting the default of Inheritable, and has an if block that says "if inheritability requested was not inheritable, then set O_CLOEXEC"; that now needs to be flipped to say "if inheritability was requested, clear O_CLOEXEC".
- MemoryMappedFile has a similar issue.  It tries to use shm_open to create the backing store, but shm_open defaults to having O_CLOEXEC set, and so if Inheritabile was requested, we're neglecting to clear the O_CLOEXEC flag.

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

5 years agoBring back hooks to AddRuntimeProjectReference from buildtools (dotnet/corefx#34979)
Santiago Fernandez Madero [Thu, 31 Jan 2019 14:28:37 +0000 (06:28 -0800)]
Bring back hooks to AddRuntimeProjectReference from buildtools (dotnet/corefx#34979)

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

5 years agoAdd test for new CancellationTokenSource(0) (dotnet/corefx#34832)
Stephen Toub [Thu, 31 Jan 2019 14:26:38 +0000 (09:26 -0500)]
Add test for new CancellationTokenSource(0) (dotnet/corefx#34832)

Validate correct behavior when a CTS is constructed to be immediately canceled via a 0 timeout.

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

5 years agoUpdate CoreFx, CoreFxOptimizationData to preview.19080.4, master-20190130.3, respecti...
dotnet-maestro-bot [Thu, 31 Jan 2019 04:31:22 +0000 (20:31 -0800)]
Update CoreFx, CoreFxOptimizationData to preview.19080.4, master-20190130.3, respectively (dotnet/corefx#34971)

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

5 years agoMerge pull request dotnet/corefx#34956 from dotnet/darc-master-53aad4d1-974a-49c0...
Stephen Toub [Thu, 31 Jan 2019 01:05:49 +0000 (20:05 -0500)]
Merge pull request dotnet/corefx#34956 from dotnet/darc-master-53aad4d1-974a-49c0-b59b-ba0be0d0481f

Update dependencies from dotnet/coreclr

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

5 years agoHandle the case where the Marshal.ThrowExceptionForHR is inlined in (dotnet/corefx...
Aaron Robinson [Thu, 31 Jan 2019 01:03:40 +0000 (17:03 -0800)]
Handle the case where the Marshal.ThrowExceptionForHR is inlined in (dotnet/corefx#34968)

the test assembly and the Source isn't corlib.

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

5 years agoMerge branch 'master' into darc-master-53aad4d1-974a-49c0-b59b-ba0be0d0481f
Stephen Toub [Wed, 30 Jan 2019 23:03:01 +0000 (18:03 -0500)]
Merge branch 'master' into darc-master-53aad4d1-974a-49c0-b59b-ba0be0d0481f

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

5 years agoDisable decimal tests that'll fail until an updated coreclr arrives
Stephen Toub [Wed, 30 Jan 2019 22:46:23 +0000 (17:46 -0500)]
Disable decimal tests that'll fail until an updated coreclr arrives

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

5 years agoMerge pull request dotnet/corefx#34796 from wtgodbe/ApiCompatNS21
William Godbe [Wed, 30 Jan 2019 22:42:24 +0000 (14:42 -0800)]
Merge pull request dotnet/corefx#34796 from wtgodbe/ApiCompatNS21

Run APICompat for netstandard2.1 vs netcoreapp3.0

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

5 years agosome misc typos and wording fixes in eventcounter tutorial (dotnet/corefx#34960)
Sung Yoon Whang [Wed, 30 Jan 2019 21:45:22 +0000 (13:45 -0800)]
some misc typos and wording fixes in eventcounter tutorial (dotnet/corefx#34960)

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

5 years agoImprove handling of HTTP/2 frames received on closed stream (dotnet/corefx#34629)
Max Kerr [Wed, 30 Jan 2019 21:40:28 +0000 (13:40 -0800)]
Improve handling of HTTP/2 frames received on closed stream (dotnet/corefx#34629)

* Basic support for GoAway frames.

* Review feedback.

* Remove go-away frame handling, add testing to ensure that the loopback server closes the connection instead.

* Remove comma.

* Change error code to reflect the actual failure mode.

* Correct swapped error codes.

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

5 years agoRemove UpdateVSConfigurations (dotnet/corefx#34952)
Eric StJohn [Wed, 30 Jan 2019 21:04:45 +0000 (13:04 -0800)]
Remove UpdateVSConfigurations (dotnet/corefx#34952)

* Update Microsoft.DotNet.Build.Tasks.Configuration to build 20190129.6

* Use UpdateVSConfigurations from arcade

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

5 years agoadd Fact attribute instead of removed ConditionalFact (dotnet/corefx#34962)
Tomas Weinfurt [Wed, 30 Jan 2019 20:58:02 +0000 (12:58 -0800)]
add Fact attribute instead of removed ConditionalFact (dotnet/corefx#34962)

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

5 years agoUpdate comment
wtgodbe [Wed, 30 Jan 2019 20:46:50 +0000 (12:46 -0800)]
Update comment

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

5 years agoUpdate baseline files
wtgodbe [Fri, 25 Jan 2019 00:00:58 +0000 (16:00 -0800)]
Update baseline files

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

5 years agoRun APICompat for netstandard2.1 vs netcoreapp3.0
wtgodbe [Fri, 18 Jan 2019 00:01:06 +0000 (16:01 -0800)]
Run APICompat for netstandard2.1 vs netcoreapp3.0

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

5 years agoEnable tests for UAPAOT x86 and x64 official builds (dotnet/corefx#34940)
Santiago Fernandez Madero [Wed, 30 Jan 2019 18:24:09 +0000 (10:24 -0800)]
Enable tests for UAPAOT x86 and x64 official builds (dotnet/corefx#34940)

* Enable tests for UAPAOT x86 and x64 official builds

* Manually update CoreFxTesting package

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

5 years agoFix link to interop-pinvokes.md
Jan Kotas [Wed, 30 Jan 2019 17:55:14 +0000 (09:55 -0800)]
Fix link to interop-pinvokes.md

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

5 years agoTemporarily give System.Runtime.Extensions its own Environment.* copy (dotnet/corefx...
Stephen Toub [Wed, 30 Jan 2019 17:53:04 +0000 (12:53 -0500)]
Temporarily give System.Runtime.Extensions its own Environment.* copy (dotnet/corefx#34951)

The files were moved to shared to propagate them to coreclr.  But changes being made in coreclr are going to break System.Runtime.Extensions when the files mirror back.  As a temporary stop-gap, I'm creating local copies of the files and taking System.Runtime.Environment off of the shared copies.  Then once coreclr builds with the updates and corefx consumes the updated coreclr, we'll just delete these temporary copies and remove the relevant entries entirely from System.Runtime.Extensions.

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