Commit Graph

443 Commits

Author SHA1 Message Date
Ben Adams d5f4f26437 Update Platform for api change (#11110) 2019-06-11 16:46:02 -07:00
Justin Kotalik 92b90fd986
Deflaking a lot of tests (#10960) 2019-06-11 14:10:06 -07:00
WuYafeng 40f0c28261 Resolve Kestrel default certificate store is invalid (#11074) 2019-06-11 11:58:16 -07:00
Justin Kotalik 7e92e4c280
Remove warning for content files issues (#11073) 2019-06-11 09:59:47 -07:00
dotnet-maestro[bot] a6bc6ce23d [master] Update dependencies from 3 repositories (#10939)
* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190610.7
- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview7.19310.7
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview7.19310.7
- dotnet-ef - 3.0.0-preview7.19310.7
- Microsoft.EntityFrameworkCore - 3.0.0-preview7.19310.7
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview7.19310.7
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview7.19310.7
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview7.19310.7

Dependency coherency updates
- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview7.19309.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview7.19309.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview7.19309.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview7.19309.2 (parent: Microsoft.EntityFrameworkCore)
- et cetera

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190610.2
- Microsoft.NET.Sdk.Razor - 3.0.0-preview7.19310.2
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview7.19310.2
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview7.19310.2
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview7.19310.2

* Update dependencies from https://github.com/aspnet/Blazor build 20190610.1
- Microsoft.AspNetCore.Blazor.Mono - 0.10.0-preview7.19310.1
2019-06-10 23:12:23 -07:00
Justin Kotalik d7fc06af5e
Move IServerVariablesFeature to Http.Features (#11007) 2019-06-10 21:16:36 -07:00
Sébastien Ros 5561338cfe React to System.Text.Json namespace changes (#11053) 2019-06-10 20:42:24 -07:00
Nate McMaster 41ce223c1c
Replace Internal.AspNetCore.Sdk with Microsoft.DotNet.Arcade.Sdk (#10674)
* Update build.cmd to install .NET Core into $repoRoot/.dotnet instead of $repoRoot/.dotnet/x64
* Move restore sources from build/sources.props into eng/Versions.props (following arcade conventions)
* Remove usages of RuntimeFrameworkVersion in tests and build
* Update Blazor VSIX to use Arcade VSIX tools
* Rename Common.Tests to IIS.Common.TestLib and make it a test asset
* Remove custom versions props for ANCM installer code
* Remove duplicate references to xunit and remove usages of IsTestProject
* Remove duplicate references to Internal.AspNetCore.Analyzers
* Import Arcade.Sdk props and targets and remove custom versioning props
* Remove references to Internal.AspNetCore.Sdk
* Rename PackageLicenseType => PackageLicenseExpression
* Remove dependency on tasks in Internal.AspNetCore.Sdk, add ref to Internal.AspNetCore.BuildTasks as a temporary workaround
* Use Arcade's nuspec support
* Rename SignalR.Client.FunctionalTests to SignalR.Client.FunctionalTestApp
* Fixes for changes to property evaluation order
* Update BaseLineGenerator to netcoreapp3.0
* React to changes in evaluation order in RPM files and quirks in using <Exec> instead of <Run>
* Update Microsoft.Extensions.ApiDescription.Server to react to changes in Arcade packaging
* Workaround aspnet/AspNetCore#11009
2019-06-07 17:19:41 -07:00
Ben Adams f10680a37a Use one SequenceReader+Rewind rather than 2 (#8076) 2019-06-07 13:15:27 -07:00
David Fowler fcda7fd7d0
Added more logs to unix domain sockets test (#10943)
- The current theory is that the tests are experiencing starvation so add more logs to see if if anything in the application is running between the FIN being received on the server side and application code receiving the notification that the pipe was completed.
- Detect OperationAborted to avoid the connection reset log.
2019-06-06 10:46:37 -07:00
Andrew Stanton-Nurse 915cc74df8 fix #7548 by updating to v142 toolset (again) (#10904)
* fix #7548 by updating to v142 toolset (again)

* small note

* it's a compiler bug. let's just try

* you get a pass vc++... THIS TIME

* should no longer need v141 toolset!
2019-06-05 21:31:36 -07:00
Cory Nelson bc6f4b6034 Fix a write past the end of buffer when IntegerEncoder encodes to multi-bytes and does not have sufficient room to do so. (#10914)
Add some basic asserts to constrain parameters to HPACK spec.
Add some additional tests.
2019-06-05 20:15:16 -07:00
Justin Kotalik d3e90a7c07
Guarantee that ANCM package dlls are used for back compat tests (#10858) 2019-06-05 20:11:47 -07:00
Justin Kotalik f080c89e89
Add better error message when someone does single file publish in ANCM (#10871) 2019-06-05 20:10:43 -07:00
Justin Kotalik 214ca07b6c
Start using runtime properties to set StartupHook and EntrypointFilter (#10121) 2019-06-05 09:01:05 -07:00
David Fowler b6d8c96a98
Collect dumps for tests that seem to be flaky (#10830) 2019-06-04 09:16:08 -07:00
Nate McMaster be2f0cf8f2
Merge branch 'release/3.0-preview6' 2019-06-04 08:52:09 -07:00
Andrew Stanton-Nurse b9afd4a3b3
Merge pull request #6517 from Kahbazi/LogEventName#5
Remove nameof for event name
2019-06-04 07:56:14 -07:00
David Fowler 851a1eeb39
If libuv doesn't unwind gracefully log a warning (#10823)
- We added 3 critical logs to see if there was a resource leak happeing during the loop thread shutdown, turns out that during testing its very common for the thread to not end immediately because of the latency of thread pool dispatching (the latency between queuing and execution of the work item). As a result, we log a warning instead of an error.
2019-06-04 01:20:03 -07:00
David Fowler d001f5c519
Use the defaults that existed in Kestrel before (#10740) 2019-06-03 10:00:53 -07:00
David Fowler 400835e0b4
Remove Transport.Abstractions from existence (#10722) 2019-06-01 17:22:47 -07:00
David Fowler bb9b0cbfa5
Clean up some pipes things (#10728)
- Use the Kestrel memory pool
- Fix bad casts
2019-06-01 11:10:09 -07:00
Andrew Stanton-Nurse a96642f6fd Remove custom stream->pipe wrappers and make BodyReader/BodyWriter read-only (#10154) 2019-05-31 18:38:25 -07:00
David Fowler ecacf90c7f
Added support for unix domain sockets to the sockets transport (#10560)
- Added a test for UnixDomainSockets on both transports
2019-05-31 14:04:04 -07:00
Justin Kotalik b2fa47d379
Fix helix test (#10695) 2019-05-31 13:27:49 -07:00
Justin Kotalik 69139b5023
Log StartupTimeoutLimit failure to response (#10661) 2019-05-31 08:59:42 -07:00
David Fowler 04bf1bf32e
Implement new bedrock listener abstraction and re-plat Kestrel on top (#10321)
This is a massive set of changes to Kestrel to remove the existing pubternal transport layer and implement a public facing API for listeners and clients, see the details here #10308.

This change only has the server side pieces of the story as I don't want to add the client APIs without having ported SignalR to use them. Here are the highlights:

- Transport.Abstractions is empty (will be removed in a separate PR as it requires removing it from a ton of places)
- TransportConnection has been moved to Connection.Abstractions (we can decide if we need to consolidate with DefaultConnectionContext in a later PR)
- Added FileHandleEndPoint which allows binding to a file handle (could be a pipe or tcp handle)
ListenOptions has been gutted for most pubternal API and returns various types of binding information . The source of truth is the EndPoint instance.
- Cleaned up a bunch of libuv tests decoupling them from Kestrel.Core

## Breaking changes

- Removing pubternal API is itself a breaking change but one that we already planned to do.
- We've removed the ability to set the scheduling mode on Kestrel
- DisposeAsync was added to ConnectionContext 
- NoDelay was removed from ListenOptions. This has been moved to each of the transports. One major difference though is that it's no longer localized per endpoint but is global. We'd need a derived EndPoint type (or maybe extend IPEndPoint) to store both the socket options and the binding information.
2019-05-30 20:34:26 -07:00
Justin Kotalik 98d02bb617
Don't inject ANCM managed exception page into the static page (#10659) 2019-05-30 14:00:12 -07:00
Justin Kotalik 76b8ca56af
Use web.config environment variables to read if in Development (#10642) 2019-05-30 12:45:56 -07:00
Ben Adams 6f7a8ec4c0 Ensure PlatformBenchmark is compiled for .NET Core 3.0 (#9619) 2019-05-30 08:19:26 -07:00
Ben Adams 9f9c79bbe8 Use same code for Json Platform as TE (#7292) 2019-05-28 16:59:11 -07:00
Justin Kotalik 6e253996d9
Usability cleanup in IIS tests (#10460) 2019-05-28 14:28:33 -07:00
Dylan Dmitri Gray 9969e99ef4
Dylan/request throttle (#10413)
* request throttling -- initial implementation

* prevented semaphore leak; added xml docs

* small doc fixes

* reference document

* Added internals folder, added structured logging,

* removed typo'd dependency

* no default MaxConcurrentRequests; other polishing

* renamed SemaphoreWrapper->RequestQueue; cleanup

* moved SyncPoint; prevented possible semaphore leak

* adjusting feedback

* regen refs

* Final changes!
2019-05-27 14:46:14 -07:00
Justin Kotalik 2d1c14d5a9
Write Premain errors to the response and write different status codes (#10282) 2019-05-25 15:19:06 -07:00
Brennan 833ddbe899
Fix broken build (#10541) 2019-05-25 14:47:22 -07:00
Ben Adams 44b2768307 Use Pipelines in PlaintextApp sample (#7227) 2019-05-25 12:18:14 -07:00
Justin Kotalik 3be11f6544
Increase stack size for IIS Inprocess (#10511) 2019-05-24 08:16:54 -07:00
John Luo 2c70498c13
Fix TLS protocols used in tests (#10483) 2019-05-23 20:07:39 -07:00
Chris Ross 156c4feb65
Put request trailers in a separate collection (#10410) 2019-05-23 09:00:39 -07:00
Chris Ross f5879cc0d5
Add new Negotiate Auth handler (#9831) 2019-05-22 06:14:50 -07:00
Nate McMaster 01a8798936
Update links and disable warnings related to tests that don't work in Helix (#10427) 2019-05-21 16:39:06 -07:00
Justin Kotalik 47d39501a5
Upload native symbols for ANCM shim. (#10297) 2019-05-21 08:34:28 -07:00
Stephen Halter 8d83e5352d
Disable request body data rate limits per HTTP/2 stream (#10355) 2019-05-17 18:25:41 -07:00
Justin Kotalik 2e89aa4aa6
Log stdout to event log on failure to start process for ANCM out of process (#10123) 2019-05-17 16:30:59 -07:00
Chris Ross 8b99354419
Expose the SslServerAuthenticationOptions via a callback #9349 (#10310) 2019-05-17 13:05:45 -07:00
John Luo a05d555f11
Revert Work around potential race in PipeWriter (#10315)
* Remove Flaky attributes

* Revert "Work around potential race in PipeWriter (#10165)"

This reverts commit bff1d0e6c4.
2019-05-17 01:20:52 -07:00
Nate McMaster dc90e11c7a
Move obj and bin directories into repo root (#10063)
The Arcade SDK requires that the obj/ and bin/ folders be placed in the top-level artifacts/ folder of the repo. Although this PR does not complete our Arcade convergence, this is a step towards updating our repo to build with the Arcade SDK.

Changes:
* Set output path for build to artifacts/bin/$(ProjectName)/ 
* Set intermediate output path for build to artifacts/obj/$(ProjectName)/
* Cleanup .gitignore files (remove duplication between repo-root and tested gitignore files)
* Add code check which looks for project files that share the same name (could cause issues)
* Rename project files to have unique names (avoid race condition of build output)
* Update all locations which were hard-coded to expect bin/ and obj/ in the project directory
* Add overrides for tests which still assert test binaries exist in a given location relative to the source code
2019-05-15 13:44:55 -07:00
Nate McMaster 77e08c26d5
Replace all usages of RepositoryRoot with RepoRoot (#10267)
Preparing to adopt the Arcade SDK, which uses the shorter variable name instead
2019-05-15 12:00:19 -07:00
Stephen Halter bff1d0e6c4
Work around potential race in PipeWriter (#10165)
- Make sure we always await the last flush task before calling FlushAsync
  again instead of preemptively calling FlushAsync and checking to see
  if the ValueTask is incomplete before bothering to acquire the _flushLock
- This now acquires the _flushLock fore every call to Response.Body.Write
  whereas this only happened for truly async writes before.
- I don't think this is a big concern since this should normally be uncontested,
  and DefaultPipeWriter.FlushAsync/GetResult already acquire a lock.
2019-05-15 11:30:48 -07:00
Justin Kotalik 47575a08a5
Handle a few other potentially null properties (#10053) 2019-05-14 18:08:05 -07:00