Commit Graph

471 Commits

Author SHA1 Message Date
David Fowler b31bdd4373
Moved things around (#11508)
- Put middleware in th middeware folder
- Rename PipelineExtensions to BufferExtensions
- Move DuplexPipe to shared
2019-06-24 15:18:09 -07:00
David Fowler 9b59fe40cf
Added some doc comments to bedrock APIs (#11487)
* Added some doc comments to bedrock APIs
- Also cleaned up some HttpContext doc comments

* Apply suggestions from code review

PR feedback

Co-Authored-By: Andrew Stanton-Nurse <andrew@stanton-nurse.com>

* Apply suggestions from code review

Co-Authored-By: Justin Kotalik <jukotali@microsoft.com>
2019-06-24 14:06:01 -07:00
David Fowler c63cd0c3ad
Simplified HttpConnection (#11488)
- Don't register callbacks until we have a request processor
- Remove the IConnectionTimeoutFeature from the feature collection, it was used by connection adapters but isn't needed anymore.
- Rename OnInputOrOutputCompleted to OnConnectionClosed
2019-06-24 11:42:27 -07:00
David Fowler 5ca92305c2
PR feedback from #11412 (#11474)
- Remove ExpectedMiddlewareCount since everything is middleware now
- Renamed everything adapter to middleware
- Added a regression test for an https scenario
- Don't send client certs for tests that don't expect it
2019-06-23 21:08:10 -07:00
Chris Ross 3ce6c1dc5b
Consolidate Windows Auth config #10530 (#11421) 2019-06-22 10:39:10 -07:00
Chris Ross 4ef204e13b
Remove or make public pubternals for Http #11312 (#11429) 2019-06-21 17:56:53 -07:00
Mikael Mengistu 655c29b7ef
Update Kestrel's dev cert error message (#11430) 2019-06-21 14:28:52 -07:00
Chris Ross f6c3f9e02a
Avoid calling AuthenticateAsync for IIS out-of-proc #7750 (#11390) 2019-06-20 21:53:09 -07:00
Stephen Halter 0d92fee9d0
Work around potential race in PipeWriter (IIS Edition) (#11165) 2019-06-20 17:38:19 -07:00
Mikael Mengistu e95c3a08eb
Kestrel Override Client Cert Validation (#11423) 2019-06-20 17:37:42 -07:00
David Fowler 25d568885b
Remove connection adapters and move things to middleware (#11412)
* Remove connection adapters and move things to middleware
- Remove connection adapters from the public API surface (pubternal) and replace the existing adapters with connection middleware.
- Updated the tests
2019-06-21 00:26:09 +02:00
Andrew Stanton-Nurse c5d62b4a29
Quarantine some tests (#11420) 2019-06-20 15:20:34 -07:00
Justin Kotalik 689b052509
Convert TLS connection adapter to connection middleware (#11109) 2019-06-19 20:02:44 -07:00
Justin Kotalik 0b5d4baa07
Remove copy race for IIS projects (#11394) 2019-06-19 19:58:47 -07:00
Stephen Halter 5f2760e9bc
The TaskCompletionSource ctor takes Task*Creation*Options (#11294) 2019-06-19 11:44:43 -07:00
Nate McMaster 4fde84a7ad Replace KoreBuild with Arcade (#11122)
* Replace usages of $(CI) with $(ContinuousIntegrationBuild)

* Move RepoTasks to eng/tools/

* Remove dead code

* Update build.sh/ps1 to invoke Arcade instead of KoreBuild

* build/repo.props => eng/Build.props

* build/CodeSign.{props,targets} => eng/Signing.props

* build/repo.targets => eng/Build.props, eng/CodeGen.proj, and eng/AfterSolutionBuild.targets

* Remove AddAllProjectRefsToSolution.ps1

* Put selenium process tracking into artifacts/tmp/

* build/docker => eng/docker

* Move content from korebuild.json to global.json

* Remove cibuild.{sh,cmd} and update ci.yml

* Ensure vswhere detects BuildTools installations

* Remove sign check exclusions (Arcade does not support)

* list VS required components in global.json

* Update CodeCheck.ps1

* Update arcade (#11143)

* Fixups to broken build

* capture test results in xunit form
* attempt to fix code check
* restore before linux build
* remove duplicate signinfos

* More build fixes

* exclude node_modules from unique project check
* fixup signing props

* More build fixes

* Remove unused NoWarns
* Skip building site extension
* Suppress xunit color in console output
* Install x86 runtime

* Run KillProcesses.ps1 at end of build on CI

* activate env vars in codecheck.ps1

* Fix signing and generate build manifests

* Fixup code check and linux installers build

* Remove custom restore targets

* Import flaky test props

* Restore original manifest generation code and set warnAsErrors=false

* Alwasy restore the toolset

* More attempts at build fixes

* run restore before building deb/rpm packages
* pre-install Yarn.MSBuild
* Remove WIX workaround

* Attempt to fix RPM installers and x86 build

* Fix helix tests, java auto-detection, and code gen steps

* Globally disable MSBuild node resuse and capture MSbuild crash logs

* Cleanup build invocation for installers

* Set max time on xunit tests to 15 min

* Update helix-test.yml

* Fix Hosting tests

* Fix TestHost

* Fix Negotiate.Test

* Fix Mvc tests

* Capture results

* Fix Hosting tests

* Fix Kestrel tests

* Fix ServerComparison tests

* Fix DefaultBuilder functional tests

* Skip template tests

Need to run pack before running tests on mac/linux now

* Fix Identity test

* Fix ServerComparison tests

* Verify nginx installation on ubuntu

* Verify nginx installation?

* Try adding to path

* Try symlink

* Sudo?

* Woot it works

* Disable timeout

Template tests require more than 15 mins

* list env vars

* Use correct dotnet_home

* Prepent path instead

* Fix npmproj tests

* Fix CORS tests

* Debug signalr tests

* Debug signalr

* Capture bin

* Try building templates sequentially

* Debug signalr

* Cleanup

* Disable signalr npm tests

* Debug template test

* Try to fix templates again and make steps more reliable

* Cleanup

* Feedback
2019-06-19 10:03:38 -07:00
Kahbazi bff78bdd11 Remove use of null-conditional operator for logger (#6579) 2019-06-18 11:18:43 -07:00
Chris Ross 9077b38805
Implement IHttpResetFeature in Kestrel #10886 (#11300) 2019-06-18 11:14:40 -07:00
David Fowler b47b3e5ac6
Wait for server connection to end (#11256) 2019-06-17 17:42:16 +02:00
David Fowler ab52a1d3ed
Kestrel API clean up based on review (#11257)
- Make most of the sockets transport internal.
- Remove EndPoint from ListenOptions
2019-06-17 08:10:42 +02:00
Chris Ross bc5bee7477
Implement Http/2 CompleteAsync #10886 (#11193) 2019-06-15 09:01:45 -07:00
David Fowler 9466ec702f
Move TransportConnection to shared source (#11215)
- Remove it from Connection.Abstractions and make it shared source.
2019-06-14 11:48:41 -07:00
Stephen Halter e727101957
Work around potential race in PipeWriter Redux (#11065)
- 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-06-13 20:03:29 -07:00
Chris Ross 82d2b4f4d0
Fail on startup for Http/2 HTTPS on Mac #11061 (#11120)
* Use automatic resx #11054
2019-06-13 15:42:45 -07:00
David Fowler b0be780f1b
Remove dependency on pipe events in HttpConnection (#11132)
- Refactored the HttpConnection to not depend on OnReaderCompleted and OnWriterCompleted. Instead we use ConnectionClosed to detect the FIN that we propagate via ConnectedAborted.
- Fire ConnectionClosed when a FIN is received from both transports.
- Remove pipe completion from Http1Connection and Http1OutputProducer. Instead just return from request processing.
- Cancel the transport input on RawStream to yield the pending read. This is much more efficient than passing a cancellation token into everything (and more reliable)
- Fixed the RequestTests to not depend on inline scheduling
- Properly dispose things in the LibuvOutputConsumerTests
- Skipped flaky test
2019-06-13 10:30:23 -07:00
Brennan f989daca4b Target netstandard2.1 for SignalR client (#10540) 2019-06-12 21:59:56 -07:00
Ben Adams 396c54d874 Use correct examined (#11124)
Merging to unblock benchmarks quickly.
2019-06-12 10:44:27 -07:00
Nate McMaster 6c806f91b1
Add option for only packing runtime-specific packages (#11116)
* Add option for only packing runtime-specific packages
* Remove Microsoft.AspNetCore.Blazor.Templates.dll from the Blazor VSIX
* Cleanup implementation of ANCMSymbols packaging
2019-06-11 20:47:10 -07:00
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