Commit Graph

175 Commits

Author SHA1 Message Date
Chris Ross (ASP.NET) aab0d1bdca Merge branch 'release/2.2' 2018-08-08 12:25:01 -07:00
Chris Ross (ASP.NET) b62bb641b2 Verify request Content-Length #2733 2018-08-08 12:23:59 -07:00
Stephen Halter ec46bc7041 Don't ACK ACKs (#2767) 2018-08-08 12:07:45 -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
Chris Ross (ASP.NET) c73d513289 Add Http2 frame logging 2018-08-08 09:46:42 -07:00
John Luo 20fbffb897 Merge branch 'release/2.2' 2018-08-07 15:43:56 -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 d9f5022c0b Merge branch 'release/2.2' 2018-08-07 11:08:03 -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
Stephen Halter 603cd03bfa
Stop writing responses after the unexpected end of request content (#2734) 2018-07-19 14:18:57 -07:00
David Fowler b934e46161
Complete the transport pipes after connection middleware runs (#2735) 2018-07-19 11:49:46 -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
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
Nate McMaster 1d9db7c25f
Merge 2.1.2 into release/2.1 2018-07-10 10:34:35 -07:00
Stephen Halter 2ab22ac55a Merge branch 'release/2.1' into dev 2018-06-28 11:27:11 -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) 61e16e2b31 Automation for h2spec functional tests #2640 2018-06-21 11:17:16 -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
Stephen Halter 14f020cf11
Improve tracking of connection lifetime (#2646) 2018-06-15 11:10:38 -07:00
John Luo 13663e1e15 Convert to using definitions from HeaderNames 2018-06-13 11:24:24 -07:00
Nate McMaster ff3f0e905d
Merge branch 'release/2.1' into release/2.1.2 2018-06-12 14:16:29 -07:00
Chris Ross (ASP.NET) a217206f1f Enforce max frame size #2651 2018-06-11 14:20:43 -07:00
Chris Ross (ASP.NET) 810a302e66 Disable AllowRenegotiation for HTTP/2 2018-06-11 13:51:23 -07:00
Chris Ross (ASP.NET) 00827e38bb Harden TFM checks #2624 2018-06-07 14:56:23 -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 aa9b9ca724 Merge branch 'release/2.1' into dev 2018-05-31 16:29:14 -07:00
Stephen Halter af177c5adc
Add Memory<byte> overloads to HttpUpgradeStream (#2622) 2018-05-31 15:44:39 -07:00
Stephen Halter 9e15b2bca4
Fix PipeReader consumption pattern [2.1] 2018-05-31 11:27:38 -07:00
Chris Ross (ASP.NET) 7e43d35049 Make ListenOptions.Protocols public again for HTTP/2 work 2018-05-30 12:25:38 -07:00
Stephen Halter f80091a328 Merge branch 'release/2.1' into dev 2018-05-29 16:37:16 -07:00
Stephen Halter 5ec7bacdfe
Lower severity of AuthenticationException logs from SslStream handshake (#2614) 2018-05-29 16:27:16 -07:00
Stephen Halter a9d6cf13eb
Consistently handle connection resets (#2547) 2018-05-22 16:38:21 -07:00
Pavel Krymets 27799b5acb
Enable pubternability analyzer (#2560) 2018-05-16 13:42:56 -07:00
Stephen Halter f8f6f39f55
Wait off the ConnectionClosed token to stop tracking ConnectionCallback (#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.
2018-05-15 12:38:35 -07:00
Stephen Halter c683316253
Generate repetitive TransportConnection FeatureCollection code (#2548) 2018-05-14 17:20:48 -07:00
Stephen Halter 514917b9a8
Wait for input writer to complete before calling OnConnectionClosed (#2566) 2018-05-14 11:51:49 -07:00