Stephen Toub [Fri, 19 Jul 2019 14:07:15 +0000 (10:07 -0400)]
Avoid "async void" tests (dotnet/corefx#39613)
Most of these are just because "async void" tests are rare and require special handling in xunit we needn't use. But a few of these are plain wrong and were resulting in our not actually testing what we hoped to test.
Commit migrated from https://github.com/dotnet/corefx/commit/
50d8c71bb6139f3c06dd820d6d757a095a9fe994
Viktor Hofer [Fri, 19 Jul 2019 13:43:31 +0000 (15:43 +0200)]
Add telemetry marker for tests (dotnet/corefx#39619)
Commit migrated from https://github.com/dotnet/corefx/commit/
cce2f2e92b75a42d07da123e091ac96fb47f44c5
Cheena Malhotra [Thu, 18 Jul 2019 22:45:54 +0000 (15:45 -0700)]
Fix in System.Data.Common namespace, use correct WriteAttributeString API (dotnet/corefx#39543)
Commit migrated from https://github.com/dotnet/corefx/commit/
182bed51dec709b3b1b56a4f435e0727e5dea110
Stephen Toub [Thu, 18 Jul 2019 18:23:46 +0000 (14:23 -0400)]
Remove dead ifdef'd code from Microsoft.CSharp/VisualBasic (dotnet/corefx#39587)
Commit migrated from https://github.com/dotnet/corefx/commit/
9c2682f5899f280e3ca2e52569f84eaecb255647
Stephen Toub [Thu, 18 Jul 2019 18:21:49 +0000 (14:21 -0400)]
Move ConnectAsync_AddCustomHeaders_Success ClientWebSocket test to loopback (dotnet/corefx#39589)
Commit migrated from https://github.com/dotnet/corefx/commit/
83954bb1404c5bdfb56130c5a4994e5e05403beb
Stephen Toub [Thu, 18 Jul 2019 18:21:08 +0000 (14:21 -0400)]
Fix ordering of visibility and abstract/virtual/override (dotnet/corefx#39590)
To conform to expected style across corefx.
Commit migrated from https://github.com/dotnet/corefx/commit/
b95ad3c0f9066fa426754bd6e3379fbaca24834e
dotnet-maestro[bot] [Thu, 18 Jul 2019 18:20:31 +0000 (11:20 -0700)]
[master] Update dependencies from dotnet/coreclr (dotnet/corefx#39567)
* Update dependencies from https://github.com/dotnet/coreclr build
20190716.2
- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19366.2
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19366.2
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19366.2
* Ignore System.Private.Corelib in netcoreapp3.0 package testing
Commit migrated from https://github.com/dotnet/corefx/commit/
167bb417724b2338df492b417bdfea89d458e473
buyaa-n [Thu, 18 Jul 2019 17:59:35 +0000 (10:59 -0700)]
Code coverage for JsonWriterHelper JsonWriter (dotnet/corefx#39407)
* Code coverage for JsonWriterHelper JsonWriter
* Applying feedback
* Some updates was not saved for previous commit
* Remove not needed row, formatting
* Removing tests not needed anymore
* Applying feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
4cbad86c4e6aeaa135b9a569dbde9151180c40f5
Koundinya Veluri [Thu, 18 Jul 2019 17:48:31 +0000 (10:48 -0700)]
Fold a bunch of CoreCLR's abandoned mutex tests into a parameterized test (dotnet/corefx#39050)
Fold a bunch of CoreCLR's abandoned mutex tests into a parameterized test
- There are a large number of tests in CoreCLR with a lot of redundancy, timing issues, and which take unnecessarily long to run
- Folded a bunch of them into the existing parameterized test and improved it to cover more cases to replace the tests in CoreCLR that will be removed
- Coverage is not 100% equivalent, but I belive this sufficiently covers the necessary aspects of the tests in CoreCLR that will be removed
Commit migrated from https://github.com/dotnet/corefx/commit/
fa722debec4c18a444a207171b686e40d7c0fc1a
Santiago Fernandez Madero [Thu, 18 Jul 2019 03:07:03 +0000 (20:07 -0700)]
Make all events nullable (dotnet/corefx#39578)
Commit migrated from https://github.com/dotnet/corefx/commit/
ba2d62a24ea8574f40c43cd27cc384f079958a0c
Stephen Toub [Wed, 17 Jul 2019 21:53:30 +0000 (17:53 -0400)]
Change HttpStress app to highlight in red unchanged totals (dotnet/corefx#39576)
When no additional operations have completed since the last time status was output, highlight that in red.
Commit migrated from https://github.com/dotnet/corefx/commit/
53dc908890102d3a888ba603a06266b85d3f4a9b
David Cantu [Wed, 17 Jul 2019 20:39:10 +0000 (13:39 -0700)]
Include file SafeHandleTest.cs into the project. (dotnet/corefx#39573)
Commit migrated from https://github.com/dotnet/corefx/commit/
9a29c851b33d904b5706e90c4f5309f2f8f1fece
Günther Foidl [Wed, 17 Jul 2019 18:06:17 +0000 (20:06 +0200)]
Spanify Cryptography.Base64Transform
So it can be non-allocating byte[] -> byte[], instead of allocating (temp. buffer) and copying with byte[] -> char[] -> byte[].
Commit migrated from https://github.com/dotnet/corefx/commit/
d4a935c526f5f84d6136066bd554f619ed0b7476
Filip Navara [Wed, 17 Jul 2019 18:05:00 +0000 (20:05 +0200)]
Move ASN.1 decoding/encoding out of PkcsPal
Both the Windows version and the AnyOS version will use the managed ASN.1/BER/DER code via PkcsHelpers.
Commit migrated from https://github.com/dotnet/corefx/commit/
ccad56758140def8084943e5a8f2acabbf81d454
Tom Deseyn [Wed, 17 Jul 2019 15:48:33 +0000 (17:48 +0200)]
Socket: improve cross-platform behavior on Dispose (dotnet/corefx#38804)
* Add tests
* Don't skip SyncSendFileGetsCanceledByDispose on .NET Framework
* Implement using code from previous PR
* Update SocketErrors when CleanedUp for APM APIs
* Cleanup SO_TYPE socket length handling (Fixes https://github.com/dotnet/corefx/issues/38750)
* SyncSendFileGetsCanceledByDispose: remove SkipTargetFramework NetFramework
* PR feedback
* Fix comment typo
* Also wait for async operations, and wait longer on each retry
* clear sockaddr using memset
* Fix build
* Only perform CLOEXEC check for non-abortive close
Commit migrated from https://github.com/dotnet/corefx/commit/
9b2f7a834691a3bbad2949181eec707dd4b5a13b
v-jizho2 [Wed, 17 Jul 2019 03:37:31 +0000 (20:37 -0700)]
Increase connect timeout for Functional Tests (dotnet/corefx#39559)
Commit migrated from https://github.com/dotnet/corefx/commit/
da3d086edde315db03ff9b04c2926ab22940d50c
Stephen Toub [Tue, 16 Jul 2019 23:31:47 +0000 (19:31 -0400)]
Enable HttpStress to target http.sys in addition to Kestrel (dotnet/corefx#39553)
Commit migrated from https://github.com/dotnet/corefx/commit/
d34317fbfb4963e7d42b96c36c314e2af829c3c7
Ahson Khan [Tue, 16 Jul 2019 23:18:22 +0000 (16:18 -0700)]
Add UnsafeRelaxedJsonEscaping static to JavascriptEncoder. (dotnet/corefx#39550)
* Add UnsafeRelaxedJsonEscaping static to JavascriptEncoder.
* Remove duplicate test case and fix test name.
* Fix formatting nits and move the new class to a separate file.
* No need to special case single quote, and fix more formatting.
* Update the remarks section to call out the difference between Default
and Relaxed.
Commit migrated from https://github.com/dotnet/corefx/commit/
30ece647dae7d9ddff8a24cdd615119fde259927
William Godbe [Tue, 16 Jul 2019 22:47:57 +0000 (15:47 -0700)]
Update branding in master to 5.0 (dotnet/corefx#39503)
* Update branding in master to 5.0
* Revert to old AssemblyVersions
* Update to correct package versions
* Update Prerelease to alpha1
* Remove redundant PackageVersions
* Disable index check
* Update packageIndex
* Update PackageIndex again
* Revert incorrect packageIndex versions
Commit migrated from https://github.com/dotnet/corefx/commit/
1acaa2017cfc64ef1aabcf3b19d0e097af692616
Geoff Kizer [Tue, 16 Jul 2019 22:09:58 +0000 (15:09 -0700)]
Merge pull request dotnet/corefx#39343 from geoffkizer/enableremotetestsforhttp2
ensure remote server HTTP2 tests are actually using HTTP2
Commit migrated from https://github.com/dotnet/corefx/commit/
6ec67c15c3f213206e9cf66a2d69d274d3836e6b
Layomi Akinrinade [Tue, 16 Jul 2019 21:48:53 +0000 (17:48 -0400)]
Clean up date helper (dotnet/corefx#39548)
Commit migrated from https://github.com/dotnet/corefx/commit/
9711b084829db7b8f69b3d3eb9effa3d2bdc0699
Santiago Fernandez Madero [Tue, 16 Jul 2019 21:15:10 +0000 (14:15 -0700)]
Fix Utf8JsonWriter xml docs (dotnet/corefx#39092)
* Fix Utf8JsonWriter xml docs
* PR Feedback
* PR Feedback
* PR Feedback put back remarks for ROS/string overrides
* Remove duplicate remarks
* PR Feedback
* PR Feedback, i.e. -> that is
Commit migrated from https://github.com/dotnet/corefx/commit/
7b90f41828abea1d9db6d55403a849c2613d996d
Martin Björkström [Tue, 16 Jul 2019 21:01:13 +0000 (00:01 +0300)]
Specify DateTimeKind.Utc in JSON tests to avoid ArgumentOutOfRangeException (dotnet/corefx#39547)
Commit migrated from https://github.com/dotnet/corefx/commit/
6cd505d9aaabe656707766dee22e9aec0404568f
Geoff Kizer [Tue, 16 Jul 2019 19:16:58 +0000 (12:16 -0700)]
disable two slow tests that time out in CI
Commit migrated from https://github.com/dotnet/corefx/commit/
3bf02562f062bdf0faf787f7cfe1d67539363ed5
Layomi Akinrinade [Tue, 16 Jul 2019 18:59:27 +0000 (14:59 -0400)]
Fix datetime bug (dotnet/corefx#39541)
Commit migrated from https://github.com/dotnet/corefx/commit/
05c0f516cf20cd6ae108ba034984b0cdc740732e
Ahson Khan [Tue, 16 Jul 2019 18:56:21 +0000 (11:56 -0700)]
Do not over-escape writing Base64 strings within JSON using the writer. (dotnet/corefx#39522)
Commit migrated from https://github.com/dotnet/corefx/commit/
063e38c7bc66e076fdcc7521e4c69650baae9427
Omair Majid [Tue, 16 Jul 2019 18:44:51 +0000 (14:44 -0400)]
Add arm64 runtime ids for Fedora and RHEL 8
Both Fedora and RHEL 8 have arm64 (aka aarch64) among the primary/main
architectures they support.
Fedora includes aarch64 as a "Primary Architecture":
https://fedoraproject.org/wiki/Architectures#Primary_Architectures
RHEL 8 lists aarch64 right next to x86_64 in the developer download site:
https://developers.redhat.com/products/rhel/download
Commit migrated from https://github.com/dotnet/corefx/commit/
ec18a81e92f531343ea754d355c6d2665d36c2ef
David Fowler [Tue, 16 Jul 2019 17:35:33 +0000 (10:35 -0700)]
Change callbacks to virtual from being abstract (dotnet/corefx#39526)
- Obsolete the callbacks as well
Commit migrated from https://github.com/dotnet/corefx/commit/
51cd78434953683040f93e69ed2a889e476f5cac
Stephen Toub [Tue, 16 Jul 2019 17:04:40 +0000 (13:04 -0400)]
Fix HttpStress GET Parameters operation to respect Kestrel max line length (dotnet/corefx#39535)
* Fix HttpStress GET Parameters operation to respect Kestrel max line length
* Address PR feedback
* Address PR feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
bb0516a4f8d0c4d84eff2ba2a3ad0a4764ece9d2
Jeremy Barton [Tue, 16 Jul 2019 16:49:08 +0000 (09:49 -0700)]
Add negative tests for ValidateNumber
With this change ValidateNumber gets to 100% block coverage.
Commit migrated from https://github.com/dotnet/corefx/commit/
7fe5f15813aedc2144b348baa2f26e7289618a05
Steve Harter [Tue, 16 Jul 2019 16:29:20 +0000 (09:29 -0700)]
Add Encoder option to writer and serializer (dotnet/corefx#39524)
Commit migrated from https://github.com/dotnet/corefx/commit/
bc10b53838bc84ac2b626e16eee1338183ee55c8
Stephen Toub [Tue, 16 Jul 2019 15:10:12 +0000 (11:10 -0400)]
Remove a few unnecessary !s (dotnet/corefx#39531)
Commit migrated from https://github.com/dotnet/corefx/commit/
2b6f38911bb45548c8d1db015526518276e6c888
Eirik Tsarpalis [Tue, 16 Jul 2019 14:58:47 +0000 (15:58 +0100)]
Merge pull request dotnet/corefx#39485 from eiriktsarpalis/httpstress-randomize-cancellation
HttpStress: Randomize cancellation of requests
Commit migrated from https://github.com/dotnet/corefx/commit/
e15d8dcb334ebd896cd2b23359d95c2ca679fdd9
Levi Broderick [Tue, 16 Jul 2019 14:35:32 +0000 (07:35 -0700)]
JavaScriptEncoder should allow U+002F SOLIDUS by default (dotnet/corefx#39494)
Commit migrated from https://github.com/dotnet/corefx/commit/
1b2b8e1262da221bf7c83c01b14df00618d5e4f1
Eirik Tsarpalis [Tue, 16 Jul 2019 14:02:44 +0000 (15:02 +0100)]
Update src/System.Net.Http/tests/StressTests/HttpStress/Program.cs
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
ac239fc682f296c7eeb953f9ee26dd8a0351b6e4
Eirik Tsarpalis [Tue, 16 Jul 2019 13:59:34 +0000 (14:59 +0100)]
Update src/System.Net.Http/tests/StressTests/HttpStress/Program.cs
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
6b2ddf6b59d62ea0a6720b731678f61fbbae7634
Eirik Tsarpalis [Tue, 16 Jul 2019 13:59:22 +0000 (14:59 +0100)]
Update src/System.Net.Http/tests/StressTests/HttpStress/Program.cs
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
35dec8a0cd2850ab9e0d5a97cfac4f458a3550a9
Eirik Tsarpalis [Tue, 16 Jul 2019 13:59:12 +0000 (14:59 +0100)]
Update src/System.Net.Http/tests/StressTests/HttpStress/Program.cs
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
ae4dc79e57514eb9dfe4a8c0480691bd80731969
Eirik Tsarpalis [Tue, 16 Jul 2019 13:58:32 +0000 (14:58 +0100)]
Update src/System.Net.Http/tests/StressTests/HttpStress/Program.cs
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/corefx/commit/
bee6f7fa2f76f5793a89027132b3ece7af82e30c
Layomi Akinrinade [Tue, 16 Jul 2019 12:53:06 +0000 (08:53 -0400)]
Add support for immutable array (dotnet/corefx#39493)
* Add support for ImmutableArray
* Refactor immutable materializer strategies to use creator helper
* Clean up + re-add tests
* Check for immutable array
* Correct immutable array check
* Fix whitespace
Commit migrated from https://github.com/dotnet/corefx/commit/
2811879c01bf6f3b95aa4ee9b8994cfb62038610
Stephen Toub [Tue, 16 Jul 2019 11:07:22 +0000 (07:07 -0400)]
Propagate abort exceptions from CreditManager.Dispose (dotnet/corefx#39520)
Currently, if an abort occurs, it disposes of credit managers, and if there's a waiter on that credit manager, that waiter propagates an ObjectDisposedException. It should instead propagate whatever exception resulted from the abort.
Commit migrated from https://github.com/dotnet/corefx/commit/
3c71b23c676c3538b33f4ae653cf6f85de77e44d
Eirik Tsarpalis [Tue, 16 Jul 2019 08:47:43 +0000 (09:47 +0100)]
remove unused cli param
Commit migrated from https://github.com/dotnet/corefx/commit/
7e595109699e301f31e3ffd3dda4aca9755c5c8a
Dan Moseley [Tue, 16 Jul 2019 06:57:31 +0000 (23:57 -0700)]
More Win7 EventLog retries (dotnet/corefx#39521)
Commit migrated from https://github.com/dotnet/corefx/commit/
4b348cc28f0ec996322d4d1a62cfae300f77604e
Jeremy Kuhne [Tue, 16 Jul 2019 04:21:10 +0000 (21:21 -0700)]
Remove hooking of system color changes (dotnet/corefx#39468)
* Remove hooking of system color changes
Hooking user preference changes to update system colors is expensive, particularly as it is hooked via reflection. Getting the current color from the OS is extremely cheap. Removing this layer of caching avoids creating a watcher window and thread and a significant number of startup allocations.
In starting up a blank WinForms app this cuts 200 allocations.
Note that Pens and Brushes in System.Drawing start their own user preference watcher so that they can update GDI+ when backed by system colors.
* Address feedback
* Remove newly dead files
Commit migrated from https://github.com/dotnet/corefx/commit/
97c736e09f2e119d6ec3d3ebebb7234dee48145d
Dan Moseley [Tue, 16 Jul 2019 02:00:50 +0000 (19:00 -0700)]
Add Win7 retries around Count (dotnet/corefx#39517)
Commit migrated from https://github.com/dotnet/corefx/commit/
8973a72af9e3a2837d18e73041e2c8090d6871d1
Maryam Ariyan [Tue, 16 Jul 2019 00:23:05 +0000 (17:23 -0700)]
Update README.md
Commit migrated from https://github.com/dotnet/corefx/commit/
efee78fd498620fccd49810e63e0a1236083b6d3
Maryam Ariyan [Tue, 16 Jul 2019 00:18:28 +0000 (17:18 -0700)]
Adding readme for MEF (dotnet/corefx#39506)
Commit migrated from https://github.com/dotnet/corefx/commit/
3b26bd7e11d7b1fdc8162c6ce753074935ef9f10
Stephen Toub [Tue, 16 Jul 2019 00:14:02 +0000 (20:14 -0400)]
Remove unnecessary "internal" from JsonConverterFactory ctor (dotnet/corefx#39504)
The ctor is already `protected`, so it can already be accessed by any derived type. The only benefit adding `internal` would provide is so that it could be called directly by something else in the assembly, but the type is `abstract`, so that doesn't make sense for a ctor.
Commit migrated from https://github.com/dotnet/corefx/commit/
902294e7933e84601aa4543fc3afe0dcf85c2d99
Krzysztof Wicher [Tue, 16 Jul 2019 00:00:19 +0000 (17:00 -0700)]
Request-in-flight GOAWAY test (dotnet/corefx#39501)
* request-in-flight GOAWAY test
* apply feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
3eabd4c7f1cc439233e0f8bae3ba37a8d73b7e8d
Stephen Toub [Mon, 15 Jul 2019 23:32:58 +0000 (19:32 -0400)]
Add a retry to an EventLog test on Win7 (dotnet/corefx#39508)
Commit migrated from https://github.com/dotnet/corefx/commit/
c953201a9918a5b699e6d23cd48c863975b9b14e
Eirik Tsarpalis [Mon, 15 Jul 2019 22:38:16 +0000 (23:38 +0100)]
force cancellations to only trigger after request has been sent
Commit migrated from https://github.com/dotnet/corefx/commit/
524af177fd3e39de47dae3394b516f8a02a6446d
Eirik Tsarpalis [Mon, 15 Jul 2019 18:36:01 +0000 (19:36 +0100)]
dispose CancellationTokenSources
Commit migrated from https://github.com/dotnet/corefx/commit/
58c85e29cfaa4b6bd8002a5c90c5262ca0cb29cf
Eirik Tsarpalis [Mon, 15 Jul 2019 16:40:50 +0000 (17:40 +0100)]
HttpStress: Randomize cancellation of requests
Commit migrated from https://github.com/dotnet/corefx/commit/
c4167ed11e1444433a33cc5d44a4aa33e0ffd651
Jeremy Kuhne [Mon, 15 Jul 2019 22:19:17 +0000 (15:19 -0700)]
Improve allocations in WinForms startup (dotnet/corefx#39275)
* Strip out delegate API calls and use the SetDllImportResolver functionality instead.
* Fix the Unix buidl
* Fix NetFX build, create class for custom resolving
* Fix namespace, tweak comments in project file
* Tweak LibraryResolver per feedback
* Fix breaks
* Adjust tests for NetFX behavior
* Harvest downlevel packages
* Put back UAP build, respond to feedback on projects and LOGFONT marking
* Remove local
* Tweak FileNotFoundException, guard in PageSettings
* Address feedback
Change LOGFONT round tripping to allow structs
* Fix hintpath. Finish fixing LOGFONT references.
* Address feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
b75421a0035bf3a44e1f68447255470d57074dbb
Andy Hanson [Mon, 15 Jul 2019 22:00:30 +0000 (15:00 -0700)]
Reenable GCNotificationTests test (dotnet/corefx#39499)
Undoes dotnet/corefx#39375
Fix dotnet/corefx#39374
Commit migrated from https://github.com/dotnet/corefx/commit/
4cb27d38819050bd01576d042f54537887debaa8
Stephen Toub [Mon, 15 Jul 2019 21:17:18 +0000 (17:17 -0400)]
Propagate correct exception in Http2Connection.Abort (dotnet/corefx#39496)
Ensure we pass the `_abortException`, not `abortException`, to the streams, and log any non-duplicate exception.
Commit migrated from https://github.com/dotnet/corefx/commit/
cfccc26f9e77fa9f745857ec48a256309e29f39d
Anirudh Agnihotry [Mon, 15 Jul 2019 21:13:30 +0000 (14:13 -0700)]
Added client operation for posting form data (dotnet/corefx#39437)
* added client operation for post data
* client operation for multipart data content
* remove the subset test
Commit migrated from https://github.com/dotnet/corefx/commit/
eee164d069f36ed4d8f850799bd6b9e414b2d23b
Justin Kotalik [Mon, 15 Jul 2019 20:20:10 +0000 (13:20 -0700)]
Increase wait timeout and add extra logs for Pipe Deadlock tests (dotnet/corefx#39436)
* Increase wait timeout and add extra logs
* nits
* Update FlushAsyncCancellationTests.cs
* Update ReadAsyncCancellationTests.cs
* This is what happens when you edit on github
* another one
Commit migrated from https://github.com/dotnet/corefx/commit/
0de2d187a080a306b88cf57cc762a1ca601eceaa
Stephen Toub [Mon, 15 Jul 2019 20:17:56 +0000 (16:17 -0400)]
Ensure that CancellationToken is propagated to built-in request content types (dotnet/corefx#39474)
* Ensure that CancellationToken is propagated to built-in request content types
We don't currently expose the overload that would allow CancellationToken to be accessed by HttpContent-derived types in general, but we can at least ensure that when using the built-in content types, the CancellationToken provided to SendAsync is appropriately threaded through. We were doing this previously in only a few cases, where we knew that the previous overload wouldn't be overridden (namely internal types and sealed types), but we can enable the 90% scenario as well by doing a type check at run-time.
* Disable cancellation test for UAP handler
Commit migrated from https://github.com/dotnet/corefx/commit/
450f49a1a80663529b31d3defafbd5e59822a16a
Jeremy Kuhne [Mon, 15 Jul 2019 19:42:55 +0000 (12:42 -0700)]
Make CreateConverter public and add options (dotnet/corefx#39438)
* Make CreateConverter public and add options
This is to facilitate composition with factory converters.
* Remove unnecessary using
Commit migrated from https://github.com/dotnet/corefx/commit/
db543576d757f2d448f004f5e9ba2b77c2b497fe
Stephen Toub [Mon, 15 Jul 2019 19:22:33 +0000 (15:22 -0400)]
Disable Connection_UnderDifferentUsers_BehavesAsExpected test on Fedora (dotnet/corefx#39491)
Commit migrated from https://github.com/dotnet/corefx/commit/
ace61287bee166a3777f5b3832295902a58ca79a
Tarek Mahmoud Sayed [Mon, 15 Jul 2019 19:21:35 +0000 (12:21 -0700)]
Update issue-guide.md
Commit migrated from https://github.com/dotnet/corefx/commit/
dc2df780bc177aab90a1e1949bf10beff490e0ea
Steve Harter [Mon, 15 Jul 2019 18:52:41 +0000 (11:52 -0700)]
Avoid calling ctor on abstract type during deserialization (dotnet/corefx#39481)
Commit migrated from https://github.com/dotnet/corefx/commit/
a7efd2a2b3c638b5490547ad6beca128ba5d7bfe
Stephen Toub [Mon, 15 Jul 2019 17:55:36 +0000 (13:55 -0400)]
Disable TestVerify test failing in outerloop on Unix (dotnet/corefx#39488)
Commit migrated from https://github.com/dotnet/corefx/commit/
0441d3e8ed8779f52a759890ac3e94fb7fe56bc0
Santiago Fernandez Madero [Mon, 15 Jul 2019 17:37:36 +0000 (10:37 -0700)]
Add tests for nullable metadata and unconditionally set nullablePublicOnly (dotnet/corefx#39395)
* Add tests for nullable compiler emitted attributes
* Set nullablePublicOnly compiler feature unconditionally
* PR Feedback
* PR Feedback -- add positive and more exhaustive tests
Commit migrated from https://github.com/dotnet/corefx/commit/
08cd402602ab5d3ce26fda968f9e0e1dff2d8b6f
Steve Harter [Mon, 15 Jul 2019 17:29:03 +0000 (10:29 -0700)]
Address nits from other PRs (dotnet/corefx#39482)
Commit migrated from https://github.com/dotnet/corefx/commit/
8af2b531bdd0ea41d3507870fadf9a26d663e700
Víctor Reyes Rodríguez [Mon, 15 Jul 2019 17:16:29 +0000 (19:16 +0200)]
Fix support for scientific notation numbers with decimal separators in JsonElement.WriteTo
Commit migrated from https://github.com/dotnet/corefx/commit/
e88ed00a06561a33cafa40108f8eac5d4d0b2514
Stephen Toub [Mon, 15 Jul 2019 17:12:27 +0000 (13:12 -0400)]
Fix SocketsHttpHandler canceling request when response stream dropped (dotnet/corefx#39471)
* Fix SocketsHttpHandler canceling request when response stream dropped
Good code using HttpClient should Dispose of the HttpResponseMessage and/or response Stream when its done with it. However, if code fails to do so, we still want to ensure that we don't leak connections/requests to the server or leak resources on the client. If the response isn't disposed but the code reads all the way to the end of it, then internally things are cleaned up. But if the response isn't disposed and hasn't read to the end, for both HTTP/1.1 and HTTP/2, we have some issues.
For HTTP/1.1, we rely on the Socket's finalization to close the associated connection. However, we use a cache of SocketAsyncEventArgs instances to handle creating connections, and it turns out that these SocketAsyncEventArgs instances are keeping around a reference to the last created Socket. If the SAEA is reused for another connection, then there's no issue, but until it is, it maintains several references to the socket: in ConnectSocket, in _currentSocket, in _multipleConnect, and then further within another SAEA instance that the _multipleConnect itself is creating for some reason. We should go through and clean all that up in SAEA, but for now, this just removes the SAEA cache.
For HTTP/2, nothing was cleaning up in this case. To handle it, we:
1. Make the response stream finalizable, such that when finalized it behaves as if Dispose were called.
2. When SendAsync completes, we remove the strong reference from the Http2Stream to the response message, such that the response (and in turn the response stream) doesn't get rooted by the Http2Connection storing the Http2Stream in its dictionary).
3. The only reason that reference was still needed was to support trailing headers. So we create a lazily-allocated list on the Http2Stream for storing trailers if any should arrive, and then when the response body completes, the response stream pulls those headers in from the temporary collection into the response that it then has a reference to. This also helps to avoid a race condition where consuming code erroneously accesses TrailingHeaders before the request has completed, in which case we previously could have been trying to write to the collection while user code was reading from it; with this change, that mutation happens as part of a call the consumer makes.
* Address PR feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
8b5eb8d9fb7857e5b40e763287f8f8832c15af31
Steve Harter [Mon, 15 Jul 2019 16:39:58 +0000 (09:39 -0700)]
Add UTF-8 APIs on TextEncoder and add JavascriptEncoder to JsonEncodedText (dotnet/corefx#39415)
Commit migrated from https://github.com/dotnet/corefx/commit/
bbbcac59ac07f344ce4e257ef182a90c429d2b58
Steve Harter [Mon, 15 Jul 2019 14:07:30 +0000 (07:07 -0700)]
Replace collection instances on deserialize (dotnet/corefx#39442)
Commit migrated from https://github.com/dotnet/corefx/commit/
ef1ac63f264c6c1f170315c636da49b4bf421dd9
Cory Nelson [Mon, 15 Jul 2019 04:19:34 +0000 (21:19 -0700)]
Update Http2_FlowControl_ClientDoesNotExceedWindows to use ByteAtATimeContent for compat with recent buffering change. (dotnet/corefx#39472)
Clear ActiveIssue as original issue in dotnet/corefx#38799 could not be reproduced.
Commit migrated from https://github.com/dotnet/corefx/commit/
929bd81ee11728434ebf9c06152408b4b9940d12
Geoff Kizer [Sun, 14 Jul 2019 00:19:39 +0000 (17:19 -0700)]
revert workarounds for 39372
Commit migrated from https://github.com/dotnet/corefx/commit/
0aea825037c13e522bec6f6bc21df37720a1b414
Geoff Kizer [Thu, 11 Jul 2019 00:37:00 +0000 (17:37 -0700)]
disable cert validation for HTTP2 endpoint on Linux
Commit migrated from https://github.com/dotnet/corefx/commit/
d34a2579ad53d72fd2482b4faada174416497041
Geoff Kizer [Wed, 10 Jul 2019 20:18:02 +0000 (13:18 -0700)]
revert change to CreateHttpClient, now that CreateHttpClientForRemoteServer is used instead
Commit migrated from https://github.com/dotnet/corefx/commit/
14f9968db06634919b03a438763f10522834fc23
Geoff Kizer [Wed, 10 Jul 2019 01:01:31 +0000 (18:01 -0700)]
convert a few more tests to also use HTTP2 remote server
Commit migrated from https://github.com/dotnet/corefx/commit/
1db9d56078f729d3079e95cd1c9183e64413c8f2
Geoff Kizer [Wed, 10 Jul 2019 00:17:58 +0000 (17:17 -0700)]
disable version check on platforms that don't support ALPN
Commit migrated from https://github.com/dotnet/corefx/commit/
c11af5504d806fd02874457d80db2e92b072385e
Geoff Kizer [Tue, 9 Jul 2019 23:59:44 +0000 (16:59 -0700)]
fix NETFX and UWP build issues
Commit migrated from https://github.com/dotnet/corefx/commit/
b2216d60d2a2f9416eadb4bae015eb1524407d71
Geoff Kizer [Fri, 5 Jul 2019 03:32:31 +0000 (20:32 -0700)]
ensure remote server HTTP2 tests are actually using HTTP2 and modify some remote server tests to run over HTTP2 as well as HTTP/1.1
Commit migrated from https://github.com/dotnet/corefx/commit/
f013baadc511567f012d6132f9e710fb3acafb66
Jeremy Barton [Sat, 13 Jul 2019 21:34:29 +0000 (14:34 -0700)]
Remove the WriteNullStringAsProperty test
The writer has standardized on not allowing null -> Empty coercion, and this
test no longer is needed since JsonElement doesn't have a WriteProperty method,
and a JsonProperty can't ever have a null property name.
Commit migrated from https://github.com/dotnet/corefx/commit/
5294f0da4695162603d24dba351c985181042796
Jeremy Barton [Sat, 13 Jul 2019 14:20:12 +0000 (07:20 -0700)]
Change (string)null behaviors in Utf8JsonWriter
ArgumentNullException when used as a property name, empty string
as a property name if it's already in ReadOnlySpan<char>.
* WriteNull(string)
* WriteBoolean(string, bool)
* WriteNumber(string, *)
* WriteString(string, *)
* WriteStartArray(string)
* WriteStartObject(string)
* WritePropertyName(string)
Emits the null literal (vs the empty string):
* WriteStringValue(string)
* WriteString(*, string)
Since the writer will write null via WriteStringValue, the reader GetString()
now will return null if TokenType is null (matches JsonElement behavior).
Commit migrated from https://github.com/dotnet/corefx/commit/
adce92338911eec22e5c8f9f071ece857de7d624
Krzysztof Wicher [Sat, 13 Jul 2019 04:07:20 +0000 (21:07 -0700)]
Retry on GOAWAY (dotnet/corefx#39127)
* Retry on GOAWAY
* send correct GOAWAY on retried connection, update comment
* Harden against flakiness
* Fix: Connection refused error is different on Debian
* apply feedback
* Make partial body/received headers case deterministic, pass error code on REFUSED_STREAM
* apply latest feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
1841042b99062de13dc80098cede9413be569238
Jeremy Barton [Sat, 13 Jul 2019 01:55:27 +0000 (18:55 -0700)]
Fix assert in MapVerifyErrorToChainStatus from DigiCert CRLs
* Define all of the X509_V_ERR* values form OpenSSL 1.0/1.1
* Exempt X509_V_ERR_DIFFERENT_CRL_SCOPE from being reported, as it is redundant to X509_V_ERR_UNABLE_TO_GET_CRL
* The remaining new X509_V_ERR* codes will still trip the assert, largely because
they should be behind option flags that we don't enable.
This change also makes the CRL cache entry also consider the specific CDP URL:
DigiCert currently has at least two distinct CRLs running for the same CA
(C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA)
* URI:http://crl3.digicert.com/ssca-sha2-g5.crl
* URI:http://crl3.digicert.com/ssca-sha2-g6.crl
Using the current cache name strategy, just a hash of the CA name, some of the
certs get meaningful revocation, and others do not.
Now the file name will be {ca name hash}.{url hash}.crl, enabling the DigiCert
scenario. Upgrading across this change will cause CRLs to be re-downloaded,
but that's a thing that happens over time anyways.
Commit migrated from https://github.com/dotnet/corefx/commit/
95bbbcd9f85aecd29df0e47b2aa3b65f0fac71a2
Sven Boemer [Fri, 12 Jul 2019 23:36:36 +0000 (16:36 -0700)]
Add reflection root for DataTableMappingConverter (dotnet/corefx#39432)
Used via TypeConverterAttribute.
Caught while investigating linker diffs.
Commit migrated from https://github.com/dotnet/corefx/commit/
8f5b5f9977f724432ac02ab9645621ddcf34e590
Layomi Akinrinade [Fri, 12 Jul 2019 22:55:11 +0000 (18:55 -0400)]
Do not use DictionaryKeyPolicy on deserialization (dotnet/corefx#39392)
* Do not use DictionaryKeyPolicy on deserialization
* Update policy doc
Commit migrated from https://github.com/dotnet/corefx/commit/
ba8641a3cdfc9372597e4dbd5ad62be4cbc32b8b
Santiago Fernandez Madero [Fri, 12 Jul 2019 22:46:38 +0000 (15:46 -0700)]
Fix VS Test explorer SDK mismatch (dotnet/corefx#39440)
Commit migrated from https://github.com/dotnet/corefx/commit/
23f6feb8abf3e6b7ba37eba1731a30e0eb7fcb96
Vishnu Kumar [Fri, 12 Jul 2019 22:06:08 +0000 (03:36 +0530)]
Add WriteTo API on JsonDocument and JsonProperty (dotnet/corefx#39367)
* Remove WriteProperty methods and rename WriteValue to WriteTo in JsonElement (dotnet/corefx#39037)
* Add WriteTo method in JsonDocument and JsonProperty (dotnet/corefx#39037)
* Remove all repeated tests from JsonDocument and JsonProperty for now.
* Added null check for Utf8JsonWriter parameter in WriteTo methods on JsonElement, JsonDocument and JsonProperty
* Code review changes
Commit migrated from https://github.com/dotnet/corefx/commit/
798468fb39d869a96104306483ed6ef4d63738ca
Viktor Hofer [Fri, 12 Jul 2019 21:38:29 +0000 (23:38 +0200)]
Fix warning for duplicate publish target import (dotnet/corefx#39423)
Commit migrated from https://github.com/dotnet/corefx/commit/
187dc7f6d63549948690359fbe1f28e541aff344
Jeremy Barton [Fri, 12 Jul 2019 21:12:04 +0000 (14:12 -0700)]
Update cross-platform-cryptography document
Commit migrated from https://github.com/dotnet/corefx/commit/
3e6b71e83d3ef198cbfbbf1e184a41a4eef679a4
Charles Stoner [Fri, 12 Jul 2019 20:18:16 +0000 (13:18 -0700)]
Disable FinancialTests on ARM (dotnet/corefx#39391)
Commit migrated from https://github.com/dotnet/corefx/commit/
137f24a5acdee6bb9b3d57b5d39c83d20df2d42d
Jeremy Kuhne [Fri, 12 Jul 2019 20:15:46 +0000 (13:15 -0700)]
Fix allocations in SystemEvents (dotnet/corefx#39312)
* Fix allocations in SystemEvents
Remove unnecessary allocations by correcting interop signatures and removing app domain specific logic.
* Address feedback.
* Remove IntPtr, fix comments
* Pass by ref
* Address comment/naming feedback
Commit migrated from https://github.com/dotnet/corefx/commit/
4f2fb593a088c0b87b9cb60aef0267952d903491
Anirudh Agnihotry [Fri, 12 Jul 2019 18:51:18 +0000 (11:51 -0700)]
Added client operation for get query with parameters (dotnet/corefx#39398)
* added client operation for get query with parameters
* using stringBuilder for expected string and allowing user to control size when query parameters are present
* typo corrected
Commit migrated from https://github.com/dotnet/corefx/commit/
54a2443797b070db11dcd82014a2d8c56f7cbc78
Steve Harter [Fri, 12 Jul 2019 18:21:20 +0000 (11:21 -0700)]
Don't apply dictionary key policy on extension data (dotnet/corefx#39425)
Commit migrated from https://github.com/dotnet/corefx/commit/
743149dd45ddf6de418d945ca43cd4beadc81017
Cory Nelson [Fri, 12 Jul 2019 16:58:34 +0000 (09:58 -0700)]
Read WinHTTP's proxy format correctly (dotnet/corefx#39371)
Fix SocketsHttpHandler to properly read WinHTTP's proxy string format, preventing an exception when a PAC script returns multiple proxies. Resolves dotnet/corefx#39104.
Commit migrated from https://github.com/dotnet/corefx/commit/
70b45baaf36eab34fcfb44056b030654dba9a4dc
Steve Harter [Fri, 12 Jul 2019 16:50:21 +0000 (09:50 -0700)]
Fix writer depth issue on large stream async (dotnet/corefx#39417)
Commit migrated from https://github.com/dotnet/corefx/commit/
86b699192dd1a7d0ad3f8765f05e401056bdb6be
Eirik Tsarpalis [Fri, 12 Jul 2019 16:39:52 +0000 (17:39 +0100)]
Http2Connection: Wrap InvalidOperationExceptions (dotnet/corefx#39400)
* Http2Connection: Wrap InvalidOperationExceptions
To achieve parity with the v1.1 implementation. Fixes dotnet/corefx#39295
* do not shutdown connection on server side
* prevent disposal of client before server has established connection
Commit migrated from https://github.com/dotnet/corefx/commit/
68e7999c846131bd8cd43899671fa6a4a7b5da53
David Fowler [Fri, 12 Jul 2019 15:34:36 +0000 (08:34 -0700)]
Fixes to Pipe (dotnet/corefx#39390)
* Fixes to Pipe
- Avoid clearing out the writing head in more cases
- Allow returning a fully consumed block even if writing is in progress if it isn't writing using the current block.
- Synchronize call to Advance
* Advance can no longer be inlined
Commit migrated from https://github.com/dotnet/corefx/commit/
34765c5934c4b2f45853d323f4c87617cd2f3158
Karel Zikmund [Fri, 12 Jul 2019 13:22:42 +0000 (15:22 +0200)]
Update issue-guide.md
Add @eiriktsarpalis as Networking owner
Commit migrated from https://github.com/dotnet/corefx/commit/
be248490f24dc5a19ae53fd95f33bab19e802a83
Geoff Kizer [Fri, 12 Jul 2019 08:58:00 +0000 (01:58 -0700)]
Merge pull request dotnet/corefx#39242 from scalablecory/38788-ping-race
Fix a race in buffer usage of Http2Connection.ProcessPingFrame
Commit migrated from https://github.com/dotnet/corefx/commit/
1d03a9106905278e82ee98ceee2d451b0e008000
Cory Nelson [Fri, 12 Jul 2019 06:29:05 +0000 (23:29 -0700)]
Move integer read into ProcessPingFrame.
Commit migrated from https://github.com/dotnet/corefx/commit/
790f53719c3816a0d010966848fbdaeb412928a3
David Fowler [Fri, 12 Jul 2019 05:27:20 +0000 (22:27 -0700)]
Advance can no longer be inlined
Commit migrated from https://github.com/dotnet/corefx/commit/
8f672e7b2641bea4746d533b52a46b869d853cd4