Commit Graph

878 Commits

Author SHA1 Message Date
Stephen Halter 6abc3c759f
Fix Kestrel HTTP/2 debug assert failure (#23062) 2020-06-18 15:13:18 -07:00
Doug Bunting 214df1c8ef
Merge pull request #22902 from dotnet-maestro-bot/merge/release/3.1-to-master
[automated] Merge branch 'release/3.1' => 'master'
2020-06-18 12:24:36 -07:00
John Luo 45e6571649
Downgrade or throw when HTTP/2 over TLS is configured on older Windows versions (#22859)
HTTP/2 over TLS is not compatible with Windows versions strictly older than Windows 10 or Windows Server 2016. Update kestrel to:
- Downgrade to HTTP/1.1 when Http1AndHttp2 is configured.
- Throw NotSupportedException when Http2 is configured.
- Allow HTTP/2 over TLS to be enabled if AppContext switch Microsoft.AspNetCore.Server.Kestrel.EnableWindows81Http2 is set. This allows users who have configured cipher suites on Windows 8.1 and Windows Server 2012 R2 to continue using HTTP/2 over TLS.
2020-06-17 16:50:48 -07:00
Justin Kotalik 855a73816d
Update Microsoft.AspNetCore.Server.HttpSys.FunctionalTests.csproj 2020-06-17 13:54:53 -07:00
Justin Kotalik c5b7eab345
Update Microsoft.AspNetCore.Server.HttpSys.csproj 2020-06-17 13:53:19 -07:00
Doug Bunting c4c6e25a06
Add missing doc files and cleanup nits (#22931)
* nit: Remove useless `$(HasReferenceAssembly)` settings
  - set in /Directory.Build.targets
    - `true` only in `$(IsAspNetCoreApp)` projects
* nit: Remove useless `$(CompileUsingReferenceAssemblies)` settings
  - no current versioning differences between ref/ and src/ assemblies when targeting default TFM
* Add more `$(GenerateDocumentationFile)` settings
  - increases the number of generated doc files, mostly without problems
- !fixup! correct typo in `DebugProxyHost` doc comments
    - was not generating a doc file before
  - remove previous (ineffective) src/Components/Directory.Build.targets setting
  - nit: remove a duplicate `$(GenerateDocumentationFile)` setting
* nit: Remove useless `$(IsPackable)` settings
  - only analyzers and implementation projects are packable by default
    - main use case for explicit setting is projects shipping only in shared framework
  - conditional setting in src/Mvc/Directory.Build.props just subset logic in /Directory.Build.targets
* nit: Remove useless `$(IsProjectReferenceProvider)` settings
  - only implementation projects are providers by default
* nit: Remove useless `$(IsTestAssetProject)` settings
  - set in src/Mvc/test/WebSites/Directory.Build.props
* !fixup! Looks like `InProcessNewShimWebSite` must compile w/o ref/ assemblies
  - restore `$(CompileUsingReferenceAssemblies)` in this one project
2020-06-17 13:04:45 -07:00
Safia Abdalla 952a19682d
Quarantine failing test (#23044) 2020-06-17 18:49:43 +00:00
Artak 2434047663
Quarantined tests which were not running (skipped on Helix) (#23023) 2020-06-17 04:22:17 +00:00
Safia Abdalla 51f977db2f
Unquarantine tests that have passed for 30+ days (#23011) 2020-06-16 16:23:50 -07:00
John Luo b40b1bb7b2
Fix helix-matrix tests (#22918)
* Update SslProtocols to use system defaults
2020-06-16 13:37:49 -07:00
Brennan 49aecc3efe
Use non-generic TaskCompletionSource in SignalR and Kestrel (#22925) 2020-06-15 17:35:19 -07:00
Stephen Halter a67c217976
Abort request when returning a completed FlushResult (#22086) 2020-06-15 16:36:55 -07:00
James Newton-King a861d18d24
Add HTTP/2 keep alive pings (#22565) 2020-06-16 10:13:09 +12:00
Justin Kotalik 9288627fed Fixing up build issues 2020-06-15 13:31:09 -07:00
Justin Kotalik afb1f48143 Merge branch 'release/3.1' 2020-06-15 13:03:14 -07:00
Sébastien Ros dc472b737e
Unquarantine tests (#22851) 2020-06-15 12:15:54 -07:00
Justin Kotalik dcd1250f43
[3.1] Add latin1 support to IIS (#22798)
Co-authored-by: Chris Ross <Tratcher@Outlook.com>
2020-06-12 11:10:00 -07:00
msftbot[bot] 62e6d93f5c
Merge pull request #22833 from dotnet-maestro-bot/merge/release/3.1-to-master
[automated] Merge branch 'release/3.1' => 'master'
2020-06-11 19:32:33 +00:00
Brennan 812f2f8145
Fixes NullRef exception in IIS in-proc (#22806) 2020-06-11 10:57:36 -07:00
David Fowler 9e55787b84
Add support for listening to tcp handles to in the Sockets transport (#22618)
* Add support for listening to tcp handles to in the Sockets transport
- Make ListenHandleTests shared across both transports

Fixes #20842
2020-06-11 09:36:27 -07:00
Justin Kotalik c1a3a2f10c
Change debug information format (#22734) 2020-06-09 18:03:19 -07:00
Justin Kotalik b19d9d9540
Enable control flow guard for IIS dlls (#22609) 2020-06-09 16:26:18 -07:00
William Godbe 64f7f5a883
Unquarantine test that's not flaky anymore (#22664) 2020-06-09 10:21:07 -07:00
Doug Bunting ee80cd5ccd
Build native assets by default (#22611)
* Build native assets by default
  - #22556
  - make `-BuildNative` primarily useful when you want _only_ native assets
    - can also build `-Projects` with desktop `msbuild` using `-BuildNative`
  - remove `-ForceCoreMsbuild` option
  nit: extra `Remove-Item`s caused `MSBuild` function to do redundant work

* !fixup! Get `/bl` options working again
  nit: Place SiteExtensions .binlogs correctly wherever script is run from
* !fixup! Remove *.vcxproj from Servers build
  - native projects are built implicitly
* !fixup! Remove `-buildNative` from IIS build script
2020-06-08 12:39:10 -07:00
Brennan aeb28d4b83
Keep building packages that are marked packable (#22616) 2020-06-08 10:13:36 -07:00
Justin Kotalik 8a4af4f212
Enable control flow guard for IIS native dlls (#22480) 2020-06-05 17:34:54 -07:00
Pranav K f37fa30683
Add nullable annotations to Http.Abstractions, Http.Features, Connections.Abstractions (#22337)
* Add nullable annotations to Http.Abstractions, Http.Features, Connections.Abstractions

Co-authored-by: James Newton-King <james@newtonking.com>
2020-06-05 06:54:07 -07:00
Stephen Halter b454da498c
Merge branch 'master' into merge/release/5.0-preview6-to-master 2020-06-04 19:48:43 -07:00
James Newton-King ce32892387
Remove allocations by changing AsTask to GetAsTask (#22557) 2020-06-05 13:39:44 +12:00
Stephen Halter a50f94e8ff
Use default SslProtocols in Kestrel (#22437) 2020-06-04 16:44:27 -07:00
Matt Mitchell d8733c2a55
Build time changes (#22362)
* Build time changes
A few changes for build time
- Don't build tests with SkipTestBuild=true and use that for official
  build legs. This cuts 40%-50% off the msbuild invocations for build.
  The longest build leg drops by about 30 mins.
- Skip logging of some task parameters and their metadata.
  This reduces overall binlog size, which is a major contributor to
  build time.

Unfortunately, this does not mean we can yet turn binlogs back on. This
change can actually increase the overall binlog size due to logging of
more project started arguments. There is another optimization for this
in progress.

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
2020-06-03 07:14:38 -07:00
James Newton-King 8009350176
Log message when connection reaches maximum concurrent streams (#22452) 2020-06-03 10:11:06 +12:00
Brennan b5e37866d5
Quarantine flaky tests (#22450) 2020-06-02 13:01:54 -07:00
Doug Bunting 256045729a
Add `SuccessfulTests` to ensure something runs in every non-Helix run (#22406)
* Remove extra `[SkipOnHelix]` attribute
- only need the one compiled into Microsoft.AspNetCore.Testing
- update the documentation to reflect this
  - nit: address Markdown warnings that VS Code showed

* Add `SuccessfulTests` to ensure something runs in every non-Helix runs
- #22241
- cleans up hundreds of warnings but leaves a couple for the Blazor tests assembly
  - see comments about xUnit runner command line in the new class
2020-06-02 12:19:28 -07:00
Youssef Victor eab9005e6b
Make H3StaticTable static class (#21705)
* Update H3StaticTable.cs

* Update QPackEncoder.cs

* Update Http3TestBase.cs

* Update EncoderStreamReader.cs

* Update QPackDecoder.cs

* Update Http3Stream.cs

* Use s_ prefix for static fields
2020-05-29 21:36:35 +00:00
Ryan Brandenburg 26ddefca5e
Quarantine cert test (#22320)
* Quarantine cert test
* Quarantine HttpsHelloWorld test
2020-05-28 14:56:57 -07:00
Huei Feng 3064728c05
Update Http3Connection lock objects to be readonly (#22263) 2020-05-28 14:18:14 -07:00
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
Doug Bunting de38479e5f
Improve build reliability (#20760)
* Improve build reliability
  - ensure `ResolveCustomReferences` target executes before packages are used
  - `ResolveAssemblyReferences` and `ResolveAssemblyReferencesDesignTime` targets run too late
    - e.g. failed builds of Microsoft.AspNetCore.WebUtilities or Microsoft.AspNetCore.Hosting when building from root
  - add `GetReferenceProjectTargetPathMetadata` for ease of use as well as reliability
    - avoids extra work to get existing metadata (ref/ projects execute no tasks in this target)

  nit: rename `@(ReferenceProjectMetadata)` -> `@(ReferenceProjectTargetPathMetadata)`

* Ensure `GetTargetPathMetadata` target runs with `$(TargetFramework)` set
  - ref/ projects all multi-target and otherwise no-op this target

* Revert "Fix various "Type or namespace not found" errors (#20736)"
  - change is no longer needed with other fixes in this PR

  This reverts commit 8218d6e0e7.
2020-05-13 11:31:09 -07:00
Brennan 8ff1cb906d
Set certificate in some Kestrel tests to avoid global machine state (#21516) (#21542) 2020-05-13 11:11:02 -07: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