Commit Graph

837 Commits

Author SHA1 Message Date
Pranav K dc29f03548
Replace usages of Assembly.CodeBase with Assembly.Location (#22258)
Fixes https://github.com/dotnet/aspnetcore/issues/14827
2020-05-27 12:01:34 -07:00
Doug Bunting 9d7ce5ea75
Quarantine a couple more tests (#22235) 2020-05-26 14:58:25 -07:00
Hao Kung a806ae62c3
Add helix-matrix.yml and windows arm 64 helix queue (#22002) 2020-05-23 17:08:18 -07:00
Doug Bunting fef33ad4a2 Quarantine tests based on recent failures 2020-05-22 11:13:07 -07:00
Pranav K 67b6be0337
Unquarantine CanVeryPhoneNumber test 2020-05-20 09:41:21 -07:00
David Fowler 02bf53de96
Small clean up and allocation removals (#21918)
- Remove IAsyncResult implementation
- Make AsyncAcceptContext derive from TaskCompletionSource
2020-05-19 08:18:54 -07:00
Chris Ross f712fd7c38
Quarantine flaky tests (#21957)
* Quarantine HttpsNoClientCert_NoClientCert

* Quarantine StopPropagation
2020-05-18 21:19:58 +00:00
Justin Kotalik 41eb22a0ac
Unquarantine tests (#21895)
* Unquarantine tests

* Update ShutdownTests.cs

* Update ShutdownTests.cs

* Update HubConnectionHandlerTests.cs

* Update src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs

Co-authored-by: Brennan <brecon@microsoft.com>

* Update HubConnectionTests.cs

Co-authored-by: Sébastien Ros <sebastienros@gmail.com>
Co-authored-by: Brennan <brecon@microsoft.com>
2020-05-18 19:04:48 +00:00
Ninds f908247222
Allow use of a default MemoryPoolFeature on ConnectionContext (#18579) 2020-05-15 14:42:52 -07:00
dotnet-maestro[bot] d5849f3534
[master] Update dependencies from dotnet/arcade dotnet/aspnetcore-tooling (#21630)
* Update dependencies from https://github.com/dotnet/arcade build 20200511.9
- Microsoft.DotNet.Arcade.Sdk: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9
- Microsoft.DotNet.GenAPI: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9
- Microsoft.DotNet.Helix.Sdk: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200514.6

Microsoft.AspNetCore.Mvc.Razor.Extensions , Microsoft.AspNetCore.Razor.Language , Microsoft.CodeAnalysis.Razor , Microsoft.NET.Sdk.Razor
 From Version 5.0.0-preview.5.20261.4 -> To Version 5.0.0-preview.6.20264.6

* Pre-emptively take -nobl change

* Disable binlogs in CI

* Fix build.sh to know about -nobl

* Align build.ps1|sh with latest Arcade parameters
- do not enable binary logs by default in CI builds
- leave `-binaryLog` and `-excludeCIBinaryLog` handling to eng/common/tools.ps1|sh
  - was unnecessary since `-bl /bl:{some name}` worked fine, ignoring OOMs

nit: document `-excludeCIBinarylog` a bit more

* Do not pass unknown options into CodeCheck.ps1

* Pass `-ci -nobl` into remaining CI build jobs

* Switch default TFM to `net5.0`

* Update missing project templates tfms

* Add more `-ci -nobl`
- needed because _all_ builds in the pipeline are implicitly CI builds
  - default-build.yml adds `-ci` when script wasn't explicit

* Default templates to net5.0

* PR feedback

* Update TFMs in explicit .nuspec files

* Update TFMs in test projects

* Update TFMs in test C# code

* Update TFMs in infrastructure files

* Future-proof a check for `net5.0` or later
- avoid comparisons involving `$(TargetFramework)` in .targets files
  - fine to compare it with `''` or `$(DefaultNetCoreTargetFramework)`

* !fixup! Undo a couple of earlier fixes
- remove a duplicate `$()` setting
- correct the one remaining versioned `#if` define
  - did not make it `#if NETCOREAPP` because benchmarks test numerous .NET Core TFMs

* Disable binary logs in CodeCheck.ps1

* Specify `-ci -nobl` just once when using `parameters.buildArgs`

* Restore `$binaryLog` default logic

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Co-authored-by: Will Godbe <wigodbe@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2020-05-15 00:17:02 +00:00
David Fowler 5a0c097ad4
Added some kestrel event counters (#21649)
* Added some kestrel event counters
- Connection queue length - This is the amount of connections accepted and queued in the thread pool.
- Connection count - The number of connections
- Total connections - The total number of connections ever connected.
- Connection Rate - Connections per second

* Added TLS counters
- Current TLS handshakes
- Total TLS handshakes
- Failed TLS handshakes
- TLS handshake per second

* Added HTTP/2 queue length counter

* Improve the event information
- Add TLS version to handshake events
- Add HTTP version to request queue events
- Renamed HTTP/2 request queue length to http request queue


Contributes to #4769
2020-05-12 11:04:37 -07:00
David Fowler 6aa13dde98
Use a dedicated thread for timers in rather than a Timer (#21490)
* Use a dedicated thread for timers in rather than a Timer
- This make it possible to still timeout various operations when there's thread pool starvation occurring.
- Print heartbeat slow if duration > interval
2020-05-08 01:07:36 -07:00
Doug Bunting fdb0372a67
Upgrade to more recent .NET SDK (#21017)
* Update SDK to preview.5.20251.2
  - includes support for the `net5.0` TFM
  - includes fix for `$(PublishDepsFilePath)`
  - includes fix for incorrect NU5118 warnings when `'$(PackAsTool)' == 'true'`
* !!temporary!! Suppress NU5129 warnings
  - build/ and buildTransitive/ naming conventions do not treat TFMs as equivalent
* Run `InjectRequestHandlerOnPublish` later
  - late enough for .deps file to exist i.e. after the `CopyFilesToPublishDirectory` target
  - `AfterTargets` is a bit flaky; use `BeforeTargets` with empty targets instead
* Always add `@(AssemblyAttribute)` items before they are processed
  - use `BeforeTargets="GetAssemblyAttributes"` for consistently throughout the repo
2020-05-05 21:59:15 -07:00
Brennan 88dbfaa2ab
Set certificate in some Kestrel tests to avoid global machine state (#21516) 2020-05-05 19:18:37 -07:00
Chris Ross 32b2894610
Revert "Handle IIS OnCompleted callbacks later #17268 (#17756)" (#21525)
This reverts commit 11ecc62ea9.
2020-05-05 19:06:54 -07:00
Stephen Halter 4ebf695a98
Fix NRE in KestrelServerOptions.Listen*() (#21467)
* Fix NRE in KestrelServerOptions.Listen*()

* Fix tests
2020-05-05 03:04:28 +00:00
Kahbazi a4c45262fb
Add AuthenticationDisplayName to HttpSys (#21410)
* Add AuthenticationDisplayName to HttpSys

* update reference assembly

* Update Microsoft.AspNetCore.Server.HttpSys.netcoreapp.cs

* Trigger build
2020-05-02 09:11:51 -07:00
Stephen Halter 100823af0d
Kestrel reloadable endpoint config (#21072) 2020-04-30 20:42:19 -07:00
Ben Adams 3af92e29b5
Make connection options parsing "safe" (#21004) 2020-04-29 16:23:56 -07:00
David Fowler 0fbf919d50
Use the RequestContext as the threadpool workitem (#21294)
- Avoids a task allocation (reuses the existing RequestContext allocation)
- Side benefit is that it's easier to see what things are queued into the threadpool for diagnostics!
2020-04-29 00:06:42 -07:00
Ben Adams 5fc067266f
Make GetFinalTransferCoding "safe" (#21202) 2020-04-28 13:01:22 -07:00
Ben Adams 8b2f8088e9
Make GetKnownHttpScheme "safe" (#21204) 2020-04-28 12:58:38 -07:00
Stephen Halter 5ac720abb3
Don't count start line toward header size limit (#21272) 2020-04-28 10:36:45 -07:00
Cédric Luthi b73b2027cc
Improve exception when HTTP.sys can't register a prefix (#20718)
* Improve exception when HTTP.sys can't register a prefix

Propose an actionable solution and include a link to the documentation.

* Add SkipOnHelix attribute
2020-04-27 20:16:26 +00:00
Doug Bunting 54722a52b6
A quick collection of quick fixes (#20993)
* Quick fix: Simplify devBuilds.yml
  - remove an excess build step

* Quick fix: Move `SetupNugetSources` script invocations above `parameters.beforeBuild`
  - ensure NuGet.config is ready for all internal builds
  - remove now-duplicate `SetupNugetSources` invocations wherever default-build.yml is used

* Quick fix: Clean up SiteExtensions/build.cmd
  - quote all rooted paths
  - check `%ERRORLEVEL%` after every `CALL`
  - nits:
    - add a few more `ECHO` commands
    - wrap long lines

* Quick fix: Ensure `$(BuildNative)` is always set correctly
  - fix problems using `-all` or `/p:BuildAllProjects=true` without `-buildNative`
    - ensure `$(BuildNative)` is `false` where it's not supported
  - move some duplicated settings into eng/Common.props and `<Import />` the new file
  - remove now-duplicated parts of conditions using `$(BuildNative)`

* Quick fix: Consistently use `--build-*`
  - avoid `/p:Build*`  on the command line (except with eng/scripts/ci-source-build.sh)
  - nits:
    - remove now-useless `-buildNative` with `-all`
    - expand and correct a couple of related comments and messages

* Quick fix: Support `-all` together with `-projects`
  - remove need to specify `/p:BuildAllProjects=true`
  - nit: simplify some Boolean logic
2020-04-25 18:39:19 -07:00
Ryan Brandenburg 2589a63141
Quarantine ServerAcceptsRequestWithheaderTotalSizeWithinLimit (#21191) 2020-04-25 21:26:50 +00:00
Ben Adams f5fa16e998
Make HTTP/1.1 startline parsing "safe" (#20885) 2020-04-23 18:32:54 -07:00
Brennan 2cd6a13a56
Quarantine flaky test (#21156) 2020-04-23 14:17:34 -07:00
Brennan d775e9d959
Fixing build warnings (#21044) 2020-04-22 15:36:40 -07:00
Brennan f7c26b3130
Quarantine test that caused test abort (#21113) 2020-04-22 15:34:23 -07:00
Doug Bunting 2e970f8e4f Quarantine recent test failures
- see also #21080 for another recent failure
2020-04-21 22:27:15 -07:00
James Newton-King 42056d27d2
Remove flaky FlowControl_ParallelStreams_FirstInFirstOutOrder… (#21037) 2020-04-21 15:44:02 +12:00
David Fowler de63489aca
Add support for listening to arbitrary endpoints (#20892)
* Add support for listening to arbitrary endpoints
- This adds support for kestrel using arbitrary transports with any endpoint. This lets the consumer set an endpoint that flows all the way to the transport.
- Added tests

* Update src/Servers/Kestrel/Core/src/KestrelServerOptions.cs

Co-Authored-By: Chris Ross <Tratcher@Outlook.com>

Co-authored-by: Chris Ross <Tratcher@Outlook.com>
2020-04-16 23:57:41 -07:00
Javier Calvarro Nelson 8e1e81ae78
[HTTPS] Update certificate strategy for Mac OS (#20022)
* Fixes and improvements for dotnet-dev-certs:
* Revamps the HTTPS developer certificate tool implementation.
  * It accumulated a lot of cruft during the past few years and that has made making changes harder.
* Separated the CertificateManager implementation into different classes per platform.
  * This centralizes the decision point of choosing a platform in a single place.
  * Makes clear what the flow is for a given platform.
  * Isolates changes needed for a given platform in the future.
* Moved CertificateManager to a singleton
  * No more statics!
* Updates logging to use EventSource
  * We didn't have a good way of performing logging as the code is shared and must run in multiple contexts and the set of dependencies need to be kept to a minimum.
  * Adding ETW allow us to log/monitor the the tool execution and capture the logs with `dotnet trace` without having to invent our own logging.
  * We can decide to write an EventListener in `dotnet-dev-certs` to write the results to the console output.
* Updates the way we handle the dev-cert in Mac OS to use the security tool to import the certificate into the store instead of using the certificate store.
2020-04-16 13:52:10 -07:00
Stephen Halter ea555458dc
Always flush HTTP/2 headers despite flow control (#20831) 2020-04-15 09:22:27 -07:00
N. Taylor Mullen e7df020906 Quarantine AppCanHandleClientAbortingConnectionMidRequest. 2020-04-14 10:39:31 -07:00
Ben Adams 6016e70285
Make header parsing "safe" (#20562)
* OnHeadersComplete improve speculation and memory ordering (VTune)
2020-04-13 09:46:43 -07:00
Günther Foidl 810969084a
Replaced Span<T>.Fill(0) with Span<T>.Clear() (#20023) 2020-04-10 15:18:37 -05:00
John Luo 84a04c9df1
Quarantining tests (#20631)
* Quarantining tests

* Namespace collision
2020-04-08 12:53:53 -07:00
Chris Oliver b463e049b6
Move BadHttpRequestException to Http.Abstractions (#20339) 2020-04-06 14:42:16 -07:00
John Luo 3ec1676ac6
Ingest updated packages from dotnet/runtime (#20300) 2020-04-06 01:06:22 -07:00
John Luo 8fac70750e
Merge pull request #20421 from dotnet/johluo/migrate-more-extensions-logging
Johluo/migrate more extensions logging
2020-04-03 11:49:22 -07:00
Adam Sitnik 54b4a0ffa2
add micro benchmark for parsing Json TechEmpower request (#20505) 2020-04-03 11:09:17 -07:00
Ben Adams f17520c6f0
Start each request on fresh ExecutionContext (#14146) 2020-04-02 17:26:22 -07:00
James Newton-King 746ac6bc8f
Fix flaky StreamPool_MultipleStreamsInSequence_PooledStreamReu… (#20434) 2020-04-03 10:10:46 +13:00
James Newton-King 53eaa8f106
Fix flaky StreamPool_StreamIsInvalidState_DontReturnedToPool (#20433) 2020-04-03 08:23:13 +13:00
John Luo f4a4346298 Because jkotalik told me to 2020-04-02 11:58:26 -07:00
John Luo fcb23108b6 Relocate Logging.Testing to AspNetCore.Testing 2020-04-02 00:16:01 -07:00
James Newton-King 0e4bcf602c
Add HPack dynamic compression (#20058) 2020-04-02 12:22:20 +13:00
Justin Kotalik bc140e8722
Unskip IIS Tests (#20417) 2020-04-01 12:26:02 -07:00