dotnet-maestro-bot [Wed, 13 Feb 2019 16:13:26 +0000 (08:13 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27413-00, beta-27413-00, respectively (master) (dotnet/corefx#35286)
* Update ProjectNTfs, ProjectNTfsTestILC to beta-27413-00, beta-27413-00, respectively
* Remove EventCounter from System.Diagnostics.Tracing aot builds
Commit migrated from https://github.com/dotnet/corefx/commit/
d93c3864553f78002c674051e9cfafcceed6b2b8
Hugh Bellamy [Wed, 13 Feb 2019 15:58:15 +0000 (15:58 +0000)]
Introduce and use common calendar test base (dotnet/corefx#35150)
* Introduce common test base for Calendars
* Consolidate more tests
* Fix netfx test run
* Fix TwoYearDigitMax tests
Commit migrated from https://github.com/dotnet/corefx/commit/
8be17f83dfb6f9615b960d9fd048e1bb17c30533
Santiago Fernandez Madero [Wed, 13 Feb 2019 14:06:44 +0000 (08:06 -0600)]
Fix native build for x86 (dotnet/corefx#35289)
Commit migrated from https://github.com/dotnet/corefx/commit/
4a85c72d570e279b8b609c24bb7a10e40fe64f2f
Stephen Toub [Wed, 13 Feb 2019 12:08:23 +0000 (07:08 -0500)]
Add a few more Parse_Subspan_Success inline datas (dotnet/corefx#35285)
Addressing PR feedback that I missed.
Commit migrated from https://github.com/dotnet/corefx/commit/
314c7a108debebc51a97f75b6c8a9eb53017e328
Santiago Fernandez Madero [Wed, 13 Feb 2019 07:45:27 +0000 (01:45 -0600)]
Fix official builds to publish to BAR using new sdk-task (dotnet/corefx#35287)
Commit migrated from https://github.com/dotnet/corefx/commit/
f15d18e904534a1dcadfd86a17340950d1d06e21
Stephen Toub [Wed, 13 Feb 2019 04:47:23 +0000 (23:47 -0500)]
Fix argument name in GCHandleTests (dotnet/corefx#35284)
A GCHandle test is validating that an argument exception contains a null parameter name. That's been fixed in coreclr, so this test will start to fail when we ingest a new coreclr. For now, just removing the null validation, as it's not useful.
Commit migrated from https://github.com/dotnet/corefx/commit/
b36cbda1a26ab4aa28fad9fb9a08c613bde4f609
Hugh Bellamy [Wed, 13 Feb 2019 03:44:06 +0000 (03:44 +0000)]
Cleanup AssociatedMetadataTypeTypeDescriptor (dotnet/corefx#35077)
Commit migrated from https://github.com/dotnet/corefx/commit/
b745257c15ba1ec8bdfd761aa0f38ecbc14d3fd8
David Shulman [Wed, 13 Feb 2019 02:12:03 +0000 (18:12 -0800)]
Add simple http Windows auth tests using loopback server (dotnet/corefx#35280)
I added this test to help get familiar with the new GenericLoopbackServer
test pattern as well as use the new SkipTestException() ability.
The test is not an end-to-end test. It simply validates that the client is able
to begin the multi-leg Windows auth handshake and send the initial Authorization
header.
In addition, once https://github.com/dotnet/core-eng/issues/5135 is completed,
the 'IsNtlmInstalled' condition will always be true for the CI machines. Thus,
we will get better test coverage for Windows auth scenarios.
Contributes to dotnet/corefx#34878
Commit migrated from https://github.com/dotnet/corefx/commit/
48bcedf786f264aa15adcb55b161ecc0cb2b2172
Steve MacLean [Mon, 4 Feb 2019 19:47:25 +0000 (14:47 -0500)]
Add AssemblyLoadContext.GetLoadContext(SPC) test
Commit migrated from https://github.com/dotnet/corefx/commit/
197d2a82ea38a5ea707a876fb055eabb3348e2a6
Geoff Kizer [Tue, 12 Feb 2019 20:54:50 +0000 (12:54 -0800)]
Merge pull request dotnet/corefx#34345 from geoffkizer/genericloopbackserver
Add GenericLoopbackServer for HttpClient testing
Commit migrated from https://github.com/dotnet/corefx/commit/
3de6ad8c1233ccf9c781d42a0cdb88b0aeb24cb7
Tomas Weinfurt [Tue, 12 Feb 2019 19:45:13 +0000 (11:45 -0800)]
enable SendAsync_RequestVersion20_ResponseVersion20IfHttp2Supported on Unix (dotnet/corefx#35201)
* enable SendAsync_RequestVersion20_ResponseVersion20IfHttp2Supported on Unix
* use IsWinHttpHandler to skip platform test on older windows
* reorder using statement
Commit migrated from https://github.com/dotnet/corefx/commit/
caba0ef9ea05f66aaae814e89848acc98c23f327
Ben Adams [Tue, 12 Feb 2019 17:54:39 +0000 (17:54 +0000)]
BufferSegment Handle Memory Set/Reset better (dotnet/corefx#35256)
Commit migrated from https://github.com/dotnet/corefx/commit/
838291cf1444e3a383dc296ab9190a3c0b642523
Viktor Hofer [Tue, 12 Feb 2019 16:04:29 +0000 (17:04 +0100)]
Add a shared framework and host for global tools in helix submissions (dotnet/corefx#35208)
* Add a shared framework and host for global tools
Adding the shared framework and host from the .dotnet directory to the
helix submission to provide a runtime for global tools.
* Darc update from build '
20190212.3'
Commit migrated from https://github.com/dotnet/corefx/commit/
6315ab5343fd4a15f2a8fedef2506f60ff5328d5
Geoff Kizer [Tue, 12 Feb 2019 12:00:04 +0000 (04:00 -0800)]
fix netfx build
Commit migrated from https://github.com/dotnet/corefx/commit/
0919bf7fde56a88f8cb2598d3b3709e6a75d279d
Filip Navara [Tue, 12 Feb 2019 08:52:56 +0000 (09:52 +0100)]
Add tests for ResourceManager on custom Assembly type. (dotnet/corefx#34617)
Commit migrated from https://github.com/dotnet/corefx/commit/
24450dad74b0df3fc81026d7726b8441c41ae429
Matthijs Breemans [Tue, 12 Feb 2019 08:47:40 +0000 (09:47 +0100)]
fix: pointed ProjectUrl to the Github repository instead of the .net homepage (dotnet/corefx#35154)
Commit migrated from https://github.com/dotnet/corefx/commit/
ca6d54bea4b8c98c030e138adf41c652856d5f9f
Hugh Bellamy [Tue, 12 Feb 2019 08:46:36 +0000 (08:46 +0000)]
Fix NullReferenceException in AssociationAttribute (dotnet/corefx#35078)
Commit migrated from https://github.com/dotnet/corefx/commit/
584b2af6b5c20b2c0429e1ccd18e345f87d66e15
Hugh Bellamy [Tue, 12 Feb 2019 08:44:28 +0000 (08:44 +0000)]
Add ObjectModel tests (dotnet/corefx#35013)
Commit migrated from https://github.com/dotnet/corefx/commit/
596c31093b61a19c0a5d8dbda8b2954442b2bf6b
dotnet-maestro-bot [Tue, 12 Feb 2019 07:38:55 +0000 (23:38 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27412-00, beta-27412-00, respectively (dotnet/corefx#35255)
Commit migrated from https://github.com/dotnet/corefx/commit/
e902847cda101afbc6fc5397b03f3d4dcaec20e3
Sung Yoon Whang [Tue, 12 Feb 2019 06:05:40 +0000 (22:05 -0800)]
Merge pull request dotnet/corefx#35227 from dotnet/fix-eventsource-test
System.Runtime added to known test list in BasicEventSourceTest
Commit migrated from https://github.com/dotnet/corefx/commit/
e8e469653ca46e0499c925dfaaea796fc6f61cb0
Santiago Fernandez Madero [Tue, 12 Feb 2019 03:55:42 +0000 (21:55 -0600)]
Publish build logs as artifacts and produce a binlog to publish to helix (dotnet/corefx#35235)
* Publish build logs as artifacts and produce a binlog to publish to helix
* Flow Configuration property to arcade for logs to be binplaced correctly
Commit migrated from https://github.com/dotnet/corefx/commit/
0d5348f8836debced9d7f93a780e07016cf2e83c
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
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
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
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
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
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
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
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
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
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
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
Geoff Kizer [Mon, 11 Feb 2019 22:10:52 +0000 (14:10 -0800)]
fix other projects that use LoopbackServer
Commit migrated from https://github.com/dotnet/corefx/commit/
700ca843faa9182dd9fa026abe7d409fa34ddb1c
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sung Yoon Whang [Mon, 11 Feb 2019 10:01:42 +0000 (02:01 -0800)]
System.Runtime added to known test list in BasicEventSourceTest
Commit migrated from https://github.com/dotnet/corefx/commit/
fda971e6565b84c8605aa5bb19b3ffe2a8e139c6
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Geoff Kizer [Fri, 8 Feb 2019 01:06:48 +0000 (17:06 -0800)]
rename HttpCookieProtocolTests => HttpClientHandlerTest.Cookies
Commit migrated from https://github.com/dotnet/corefx/commit/
47e35192ff1f830b27e2ed5fa14d7d7645a27e95
Geoff Kizer [Thu, 20 Dec 2018 02:00:57 +0000 (18:00 -0800)]
add GenericLoopbackServer and provide basic implementations for HTTP/1.1 and HTTP/2, and use in Cookie tests
Commit migrated from https://github.com/dotnet/corefx/commit/
4fc6a75fce36fbbf7b551f25c121dde403b8f0f4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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