Vladimir Sadov [Sun, 17 Feb 2019 00:10:44 +0000 (16:10 -0800)]
Updating timeout in `SslStream_SameCertUsedForClientAndServer_Ok` to match the rest of the tests in the area.
All other passing tests standardise on `TestConfiguration.PassingTestTimeoutMilliseconds`
There seems to be no reasons for SslStream_SameCertUsedForClientAndServer_Ok` to use a hardcoded timeout.
Also the hardcoded timeout is significantly shorter and occasionally leads to failures on low-spec test VMs.
Commit migrated from https://github.com/dotnet/corefx/commit/
8919cbdd960f41ba2f87c210d5f85d0d8a3c1276
Stephen Toub [Fri, 15 Feb 2019 23:13:47 +0000 (18:13 -0500)]
Merge pull request dotnet/corefx#35324 from stephentoub/http2allocs
Remove more Http2Connection/Stream allocations
Commit migrated from https://github.com/dotnet/corefx/commit/
55f7269536eb9c072cabd8bbcdd7644cd18bd001
dotnet-maestro-bot [Fri, 15 Feb 2019 20:40:25 +0000 (12:40 -0800)]
Update BuildTools, ProjectNTfs, ProjectNTfsTestILC to preview1-03715-01, beta-27415-00, beta-27415-00, respectively (dotnet/corefx#35353)
Commit migrated from https://github.com/dotnet/corefx/commit/
f40cb8ea05d8b1f3d9acdcd8cf257c764ef56693
Stephen Toub [Fri, 15 Feb 2019 16:40:17 +0000 (11:40 -0500)]
Address PR feedback and additional cleanup
Commit migrated from https://github.com/dotnet/corefx/commit/
c0f24cf4136f22e508e1b9289062e541bad6af88
Santiago Fernandez Madero [Fri, 15 Feb 2019 20:16:34 +0000 (14:16 -0600)]
Remove groovy and json files for unused pipelines (dotnet/corefx#35355)
Commit migrated from https://github.com/dotnet/corefx/commit/
babb33b15afe35d5ce8dd06d9f2f6f16ea4b71be
Stephen Toub [Fri, 15 Feb 2019 19:17:55 +0000 (14:17 -0500)]
Fix some XML comments in Base64Encoder/Decoder (dotnet/corefx#35354)
* Fix some XML comments in Base64Encoder/Decoder
* Update Base64Encoder.cs
Commit migrated from https://github.com/dotnet/corefx/commit/
ec34e99b876ea1119f37986ead894f4eded1a19a
Stephen Toub [Fri, 15 Feb 2019 02:43:21 +0000 (21:43 -0500)]
Remove uap config from System.Net.Http UnitTests
These tests are compiling in internal sources and running tests against them directly. The only configuration we need is netcoreapp.
Commit migrated from https://github.com/dotnet/corefx/commit/
f9d1057321c17d8692e829b311c925660e23f8db
Stephen Toub [Fri, 15 Feb 2019 02:20:59 +0000 (21:20 -0500)]
Use StaticTable for writing known headers
Commit migrated from https://github.com/dotnet/corefx/commit/
65a101d6968bac28f343ed2e352cf54f8e122f21
Geoff Kizer [Thu, 14 Feb 2019 22:26:49 +0000 (17:26 -0500)]
Implement static table for writing some headers
Commit migrated from https://github.com/dotnet/corefx/commit/
1b0b62a3a6fa0ea0fa301b0bac9b9c350ad6c14c
Stephen Toub [Thu, 14 Feb 2019 22:23:12 +0000 (17:23 -0500)]
Don't pool Http2Connection buffers
Http2Connection keeps these buffers for a really long time; we don't want it to starve the pool. It also leads to lifetime issues, as the buffers need to be (but currently aren't) released back to the pool, yet work can end up accessing the ArrayBuffer after the connection is logically disposed.
Commit migrated from https://github.com/dotnet/corefx/commit/
847f64fa812362e75dfcbd0bdcf41541921d607c
Stephen Toub [Thu, 14 Feb 2019 17:55:31 +0000 (12:55 -0500)]
Avoid per-request HeaderCallback delegate allocation
Commit migrated from https://github.com/dotnet/corefx/commit/
14ef1be63af22bc610223eab337bdab99e6af4a8
Stephen Toub [Thu, 14 Feb 2019 18:04:03 +0000 (13:04 -0500)]
Avoid lock object allocation in CreditManager
Commit migrated from https://github.com/dotnet/corefx/commit/
701102c5c0282b3d29edc76aca12d985af8ff70f
Stephen Toub [Thu, 14 Feb 2019 02:55:46 +0000 (21:55 -0500)]
Avoid syncobj object allocation in Http2Connection
Just use one of the other readonly objects.
Commit migrated from https://github.com/dotnet/corefx/commit/
d74108c671abffa3d314b011b7269806eedb7df7
Santiago Fernandez Madero [Fri, 15 Feb 2019 17:37:04 +0000 (11:37 -0600)]
Disable jenkins legs as we transition to use azure devops. (dotnet/corefx#35326)
* Disable jenkins legs to transition to azure devops
* Don't run tests on uap PR leg
Commit migrated from https://github.com/dotnet/corefx/commit/
af90ef6e49e766f8062eca740b4b3d03cf2745b5
joshudson [Fri, 15 Feb 2019 16:50:46 +0000 (08:50 -0800)]
Use vfork() improve performance when starting processes. (dotnet/corefx#33289)
* Use vfork() to start child processes where this yields a performance improvement due to getting rid of page faults.
* Remove specific dependency on shared memory vfork so that cross compiles work again.
* Added signal mask code so that a child process can't confuse the parent; also took care of pthread cancellation mask in case third-party native code tries to use it
* Fix issues from vfork() pull request review
* Check handler before replacing it
* Improve readability of signal handler removing
* Convert tabs to spaces
* use NSIG instead of dynamic probing because glibc punches a hole in the middle of the signal list
* Exclude Mac OSX from vfork() because we don't quite trust it.
* Fix one last batch of typos
Commit migrated from https://github.com/dotnet/corefx/commit/
0a561e3c71ec9b98f07b90d0c1f20f8956adafaa
Jan Kotas [Fri, 15 Feb 2019 08:11:29 +0000 (00:11 -0800)]
Fix CoreFX build breaks
Commit migrated from https://github.com/dotnet/corefx/commit/
f078da3a4ddcb99cbb26b59fb67f59fdfb200548
Michal Strehovský [Fri, 15 Feb 2019 10:46:31 +0000 (11:46 +0100)]
Add support for default interface methods in DispatchProxy (dotnet/corefx#34720)
The generated dispatch proxy shouldn't try to override non-virtual or final methods.
This also fixes a pre-existing bug where we would try to override static method on interfaces (while C# can't emit them, the CLR has supported them for ages).
Fixes dotnet/coreclrdotnet/corefx#15646.
Commit migrated from https://github.com/dotnet/corefx/commit/
89b67cc789c78ceb65bf996969aba6e30b0679d0
Kevin Jones [Fri, 15 Feb 2019 01:36:23 +0000 (20:36 -0500)]
macOS: Allow loading first X509 certificate from PEM sequence
* macOS X509 PAL support for concatenated PEM.
* GetCertContentType should throw on macOS to be consistent with Unix and Windows.
Commit migrated from https://github.com/dotnet/corefx/commit/
ef6e6693329981588384e98f463f814f5763c13d
Tanner Gooding [Thu, 14 Feb 2019 19:45:43 +0000 (11:45 -0800)]
Regenerating the System.Runtime.Intrinsics ref assembly to pick up the API changes. (dotnet/corefx#35321)
Commit migrated from https://github.com/dotnet/corefx/commit/
84bedcf58cfe951d37c5b3eba2957ddb2410f34d
Krzysztof Wicher [Thu, 14 Feb 2019 18:19:46 +0000 (10:19 -0800)]
System.IO.Ports native package (dotnet/corefx#35126)
* System.IO.Ports native package
* add inputs and outputs
* fix build
* change the way native package is build
* fix pkgproj and props per feedback
* NativeFile -> File
* add workaround for the package test
* exclude runtime.native.Syystem.IO.Ports from package testing
* disable also System.IO.Ports
* Add BaselineVersion and InboxOn in packageIndex.json
Commit migrated from https://github.com/dotnet/corefx/commit/
c776f656fd19cb371a05015dc452385a5222663b
Santiago Fernandez Madero [Thu, 14 Feb 2019 17:18:49 +0000 (11:18 -0600)]
Publish build artifacts only in official builds (dotnet/corefx#35320)
Commit migrated from https://github.com/dotnet/corefx/commit/
52a759ec38af649a5d39e9b3e977cf2bb04be749
dotnet-maestro-bot [Thu, 14 Feb 2019 13:21:59 +0000 (05:21 -0800)]
Update ProjectNTfs, ProjectNTfsTestILC to beta-27414-00, beta-27414-00, respectively (dotnet/corefx#35311)
Commit migrated from https://github.com/dotnet/corefx/commit/
e18f88caa7cc2be47ec00cbd2d3a2e3faa80a116
Layomi Akinrinade [Thu, 14 Feb 2019 02:45:35 +0000 (21:45 -0500)]
Add roundtrip tests for EncoderFallbackBufferHelper (dotnet/corefx#35008)
This increases branch test coverage for
System.Text.EncoderFallbackBufferHelper from 9% to 40.9%.
Commit migrated from https://github.com/dotnet/corefx/commit/
ed0a57d42d859a4b8fee19441c504bc296c2a2ae
dotnet-maestro-bot [Thu, 14 Feb 2019 02:41:30 +0000 (18:41 -0800)]
Update BuildTools to preview1-03713-01 (dotnet/corefx#35295)
Commit migrated from https://github.com/dotnet/corefx/commit/
f5717c1754f9ed3d845fdf5cc104492f7f5216f8
Afsaneh Rafighi [Wed, 13 Feb 2019 22:04:52 +0000 (14:04 -0800)]
Fix SqlClient udtTest (dotnet/corefx#35304)
* Fix UdtTest2
* fix UdtBulkCopyTest
Commit migrated from https://github.com/dotnet/corefx/commit/
8a8f95bda5a10c156ecb81e3b3590a77001c0f2c
Stephen Toub [Wed, 13 Feb 2019 20:17:50 +0000 (15:17 -0500)]
Merge pull request dotnet/corefx#34476 from Marusyk/rmarusyk/System-Runtime-Caching
System.Runtime.Caching. Refactor DllImports
Commit migrated from https://github.com/dotnet/corefx/commit/
66f8d08489dbe4772654ccad410a2328bbbe70fc
dotnet-maestro[bot] [Wed, 13 Feb 2019 20:07:33 +0000 (20:07 +0000)]
Update dependencies from dotnet/coreclr (dotnet/corefx#35291)
* Update dependencies from https://github.com/dotnet/coreclr build
20190212.74
This change updates the following dependencies
- Microsoft.NET.Sdk.IL - 3.0.0-preview4-27412-74
- Microsoft.NETCore.ILAsm - 3.0.0-preview4-27412-74
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview4-27412-74
* Expose new rounding modes and fix failing test
* Stop checking for null exception argument in Font test
Commit migrated from https://github.com/dotnet/corefx/commit/
a546587fbfb0137176353a4e5ab2de206e4975e9
Santiago Fernandez Madero [Wed, 13 Feb 2019 19:52:15 +0000 (13:52 -0600)]
Reenable Fedora27 queue (dotnet/corefx#35298)
Commit migrated from https://github.com/dotnet/corefx/commit/
add4cacbfb7f7d3f5f07630d10b24e38da4ad027
Afsaneh Rafighi [Wed, 13 Feb 2019 19:42:26 +0000 (11:42 -0800)]
Merge pull request dotnet/corefx#34393 from Wraith2/sqlperf-metadata
SqlClient reduce metadata size
Commit migrated from https://github.com/dotnet/corefx/commit/
f0f514117a40236129564e9756d8cf8fb0dc4f03
Afsaneh Rafighi [Wed, 13 Feb 2019 19:29:07 +0000 (11:29 -0800)]
Merge pull request dotnet/corefx#34711 from Wraith2/sqlfix-misc1
SqlClient minor cleanup to close old issues
Commit migrated from https://github.com/dotnet/corefx/commit/
ee6cf5ab949c05cf85cdf44678fa7763cd59910c
Afsaneh Rafighi [Wed, 13 Feb 2019 19:25:36 +0000 (11:25 -0800)]
Merge pull request dotnet/corefx#34546 from Wraith2/sqltests-updates
SqlClient Manual Test fixes and documentation update
Commit migrated from https://github.com/dotnet/corefx/commit/
f749fcae910fec7199f570ab5fb9f6c684c1b2ee
Stephen Toub [Wed, 13 Feb 2019 19:10:51 +0000 (14:10 -0500)]
Fix race condition in DiagnosticSourceEventSource (dotnet/corefx#35269)
* Use RemoteInvoke in DiagnosticSourceEventListener tests
Running these concurrently with other tests in the same process can result in spurious failures.
* Fix race condition in DiagnosticSourceEventSource
If multiple threads all try to write different objects at the same time, PropertySpec.Fetch can manifest a race condition that results in potentially trying to cast one call's object to another call's type. The fix is to allow for atomically storing the cached data, and using a local to ensure that a calling thread's view is consistent.
Commit migrated from https://github.com/dotnet/corefx/commit/
7c50828052ba55e3474ff5dd29ee7fcf5bbfa03d
William Godbe [Wed, 13 Feb 2019 18:07:08 +0000 (10:07 -0800)]
Merge pull request dotnet/corefx#35279 from wtgodbe/preview4
Update branding for preview4
Commit migrated from https://github.com/dotnet/corefx/commit/
5726c1ee1c70d06dd7dee318e868c8cd820e479b
Viktor Hofer [Wed, 13 Feb 2019 17:44:07 +0000 (18:44 +0100)]
Remove optionaltooling buildtools dependency (dotnet/corefx#34946)
* Remove optionaltooling buildtools dependency
* Disable uapaot Jenkins leg
Commit migrated from https://github.com/dotnet/corefx/commit/
9fa041a04df9a38ab4167e76fbee6133eb627f71
Stephen Toub [Wed, 13 Feb 2019 16:23:59 +0000 (11:23 -0500)]
Simplify Dbg to minimal tracing
Commit migrated from https://github.com/dotnet/corefx/commit/
84a67e49ca345d5d1ed10ce9b77c1c6093e75661
Roma Marusyk [Wed, 9 Jan 2019 18:59:10 +0000 (20:59 +0200)]
System.Runtime.Caching. Refactor DllImports
Commit migrated from https://github.com/dotnet/corefx/commit/
efe793dcfa40fbf64fffab55d2c584e408677f6c
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