Commit Graph

135 Commits

Author SHA1 Message Date
David Fowler 83488886e0
Clean up some remants of the past (#2827)
- Remove Application from HttpConnectionContext and Http*ConnectionContext (it's no longer required)
2018-08-15 23:41:32 -07:00
Stephen Halter 5becb72107
Improve test logs (#2826)
- Include hosting logs in some tests that where previously missing them
- Prevent duplicate logs from Mock CallBase an CompositeKestrelTrace
- Log ports used by transport functional tests
- Add file logging to HTTP/2 "unit" tests
2018-08-15 18:31:56 -07:00
Chris Ross (ASP.NET) 0c2923135b Limit concurrent HTTP/2 Streams per connection #2815 2018-08-15 15:58:57 -07:00
Chris Ross (ASP.NET) 43398482a5 Implement MaxRequestBodySize for HTTP/2 #2810 2018-08-13 12:06:21 -07:00
Stephen Halter cd6de2fa18
Improve HTTP/2 stream abort logic (#2819)
- Fix race where headers frame could be written after an abort was observed
- Fix Http2StreamTests to verify expected abort-related exceptions
2018-08-13 11:45:17 -07:00
John Luo 62a30a731d Fix bug in graceful shutdown 2018-08-10 00:17:29 -07:00
Stephen Halter bd3a8a3511 Small test fix to avoid potential flakiness 2018-08-09 12:12:24 -07:00
John Luo 7c9e234457 Gracefully wait for streams to complete when pipe completes 2018-08-09 11:59:47 -07:00
Stephen Halter aaf0293ebc
Fix logging verification in tests (#2795) 2018-08-08 17:16:08 -07:00
Stephen Halter c0557cfca7
Improve exception handling in Http2Connection.ProcessRequestsAsync (#2787) 2018-08-08 11:20:49 -07:00
Chris Ross (ASP.NET) 5378900e0c Ack settings before window updates #2772 2018-08-08 11:19:23 -07:00
Stephen Halter 0e99235d59
Add in-memory functional test project (#2780)
- Run AddressRegistrationTests independently to avoid port conflicts
- Only run tests that verify transport behavior for each transport
2018-08-07 15:34:11 -07:00
John Luo 8a74cf3ed5 Gracefully shutdown HTTP/2 connections on server and client initiated shutdown 2018-08-07 10:59:29 -07:00
Chris Ross (ASP.NET) ea7e53cab0 Send Resets for unhandled app exceptions #2733 2018-08-06 11:35:42 -07:00
Chris Ross (ASP.NET) beca0259c2 Verify request Content-Length #2733 2018-08-02 13:23:57 -07:00
Stephen Halter 6d46410a76
Don't ACK ACKs (#2767) 2018-07-30 12:25:32 -07:00
Chris Ross (ASP.NET) c7dd9ff68a Enable Http/2 by default #2720 2018-07-27 12:51:12 -07:00
Stephen Halter 94cfc01fbf
Implement HTTP/2 input flow control (#2740) 2018-07-27 10:47:27 -07:00
Nate McMaster 1f3524787e
Merge branch 'release/2.1' into release/2.2 2018-07-24 11:43:13 -07:00
Chris Ross (ASP.NET) 612fcca729 Validate Http/2 pseudo headers #2205 #2263 #2659 2018-07-19 16:25:10 -07:00
David Fowler b934e46161
Complete the transport pipes after connection middleware runs (#2735) 2018-07-19 11:49:46 -07:00
Stephen Halter 5f065b6670
Fix deadlock in GOAWAY_Received_RelievesConnectionBackpressure (#2724) 2018-07-16 10:55:09 -07:00
Chris Ross (ASP.NET) 429bcfe216 Sending and receiving RST frames. #2462 2018-07-16 09:13:11 -07:00
John Luo 6551eae321 Consolidate HTTP charset validation logic 2018-07-13 16:47:28 -07:00
Nate McMaster d8c77335e8
Reorganize code so Kestrel now produces the Microsoft.Extensions.Buffers.Testing.Sources package 2018-07-12 13:17:28 -07:00
Stephen Halter f179339a79 Combine BufferWriter and CountingBufferWriter 2018-07-12 11:58:49 -07:00
Stephen Halter 864cfeb2aa Merge branch 'release/2.1' into release/2.2 2018-07-12 11:18:41 -07:00
Nate McMaster 128eefdef3
Remove usage of the Microsoft.Extensions.Buffers.Sources package, copy the source into Kestrel
This moves source code that used to be in aspnet/Common. It was only used here, so this simplifies the process of working with these internal-only APIs.

cref https://github.com/aspnet/Common/pull/386
2018-07-11 22:31:23 -07:00
Stephen Halter a826f478ad Implement HTTP/2 output flow control (#2690) 2018-07-10 14:11:59 -07:00
Stephen Halter ac31e5ab30
[2.1.3] Consistently handle connection aborts (#2619)
* Decouple connection objects from the server (#2535)

- Making progress towards being able to use the connection objects on the client side.

* Wait for input writer to complete before calling OnConnectionClosed (#2566)

* Wait for the ConnectionClosed token to stop tracking connections (#2574)

- The prior strategy of waiting for the pipe completed callbacks doesn't work
  because blocks are returned to the memory pool after the callbacks are fired.

* Consistently handle connection resets (#2547)

* Provide better connection abort exceptions and logs

* void IConnectionDispatcher.OnConnection
2018-06-28 10:51:22 -07:00
John Luo 423d5432be Add test for ensuring HPACK lowercase header names
- ensure lowercase mask only applied to uppercase letters
2018-06-26 10:44:21 -07:00
Chris Ross (ASP.NET) 324565772c Prevent app code from blocking the connection loop #2657 2018-06-20 11:06:49 -07:00
Chris Ross (ASP.NET) c498f03cb4 Expose Tls details as a feature. #2661
Limit Http/2 to TLS 1.2 #2251
Bootstrap functional tests #2238
2018-06-18 16:25:18 -07:00
John Luo 13663e1e15 Convert to using definitions from HeaderNames 2018-06-13 11:24:24 -07:00
Stephen Halter ee86e97b6b
React to aspnet/BuildTools#684 (#2660)
* Update KoreBuild
* Minimize blocking threads to increase travis reliability
2018-06-11 16:43:33 -07:00
Chris Ross (ASP.NET) a217206f1f Enforce max frame size #2651 2018-06-11 14:20:43 -07:00
Stephen Halter 0aff4a0440
Handle client and server aborts differently from eachhother (#2612)
* Trace when app aborts connection
* Improve exception messages
* Always abort connection with ConnectionAbortedException
* Add ConnectionContext.Abort(Exception)
2018-06-01 14:42:30 -07:00
Stephen Halter f70088c2d9
Don't block so many threads in HeartbeatTests (#2610) 2018-05-23 15:58:33 -07:00
Stephen Halter a9d6cf13eb
Consistently handle connection resets (#2547) 2018-05-22 16:38:21 -07:00
Stephen Halter f04118fca1 Merge branch 'halter73/merge-2.1-dev' into dev 2018-05-09 17:27:47 -07:00
Pranav K 80fa1d699d Upgrade to netcoreapp2.2
This reverts commit fe9da3c57b.
2018-05-09 16:43:15 -07:00
Ryan Brandenburg fe9da3c57b Revert "Don't touch product repos"
This reverts commit 8e9f05b902.
2018-05-08 16:52:48 -07:00
Ryan Brandenburg 350310aa96 Handle netcoreapp cases 2018-05-08 15:38:20 -07:00
Stephen Halter c8d374af64 Merge branch 'release/2.1' into dev
# Conflicts:
#	build/dependencies.props
#	korebuild-lock.txt
#	src/Kestrel.Transport.Libuv/Internal/LibuvConnectionContext.cs
2018-05-07 15:47:20 -07:00
Nate McMaster 05d68efbae
Merge branch 'release/2.1.0-rc1' into release/2.1 2018-05-07 14:35:41 -07:00
Stephen Halter 5c17bff55d
Don't throw on FIN from upgraded connections (#2533)
* Allow app to drain request buffer after FIN
2018-05-04 16:21:07 -07:00
Stephen Halter 8b1fbad10e
Don't complete KestrelServer.StopAsync task inline (#2534) 2018-05-03 17:01:36 -07:00
Chris Ross (ASP.NET) 9798508108 Merge branch 'release/2.1' into dev 2018-05-02 09:22:19 -07:00
Chris Ross (ASP.NET) 74d19cd4e4 Remove netcoreapp2.0 test coverage 2018-05-02 08:54:57 -07:00
Pavel Krymets de98f8c962
Use TaskCreationOptions.RunContinuationsAsynchronously a lot 2018-04-30 12:56:55 -07:00