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
8e9f05b902
Don't touch product repos
2018-05-08 15:38:20 -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
Pavel Krymets
2f2a0047a1
React to pool cleanup ( #2526 )
2018-04-30 08:37:15 -07:00
Pavel Krymets
6f2f496c3d
React to splitting memory pool ( #2521 )
2018-04-24 14:11:47 -07:00
Stephen Halter
b0e1fa5e30
Fix connection abort
2018-04-23 17:01:49 -07:00
Stephen Halter
6fd09af374
Improve logging of request drain timeout ( #2480 )
2018-04-16 11:53:10 -07:00
Ben Adams
e30a02cee5
Less StringValue struct copies for header checks ( #2488 )
2018-04-13 18:21:50 -07:00
John Luo
2d51d23697
Add file logging to functional tests
2018-04-13 14:53:57 -07:00
Stephen Halter
10f3b6863e
Avoid nullref in KestrelEventSource ( #2483 )
...
* Avoid nullref in KestrelEventSource
* Improve HostNameIsReachableAttribute to speed up test discovery
2018-04-12 17:29:34 -07:00
Chris Ross (ASP.NET)
ee12c4fcf2
Downgrade HTTPs handshake failures to debug #1853
2018-04-12 09:25:44 -07:00
Chris Ross (ASP.NET)
c6fa9793eb
Make Protocols internal
2018-04-12 08:53:27 -07:00
David Fowler
ca44b4adfc
Moved kestrel specific features into transport abstractions ( #2482 )
2018-04-11 20:23:48 -07:00
David Fowler
f6b2880369
Flow the ConnectionContext to the SNI callback ( #2478 )
2018-04-11 15:56:25 -07:00
Sébastien Ros
e8bb88cb58
Fixing typo ( #2477 )
2018-04-11 14:27:53 -07:00
Chris Ross (ASP.NET)
2ee0d6e337
Delay loading the dev cert #2422
2018-04-04 14:54:27 -07:00
Chris Ross (ASP.NET)
953496a970
Merge branch 'release/2.1' into dev
2018-04-04 13:44:56 -07:00
Chris Ross (ASP.NET)
9ea2c50068
Add SNI support #2357
2018-04-04 12:49:29 -07:00
Andrei Amialchenia
70ce044778
Corrects spelling of some comments ( #2461 )
2018-04-03 15:55:17 -07:00
David Fowler
6b183c5ac0
Use 4K as the minimum segment size ( #2452 )
...
- This normalizes the behavior for kestrel no matter what memory pool implementation is used. The transports should behave the same (ask for 1/2 full blocks) across pool implementations.
- Declare the minimum segment size in KestrelMemoryPool
- Updated the AdaptedPipeline to use MinimumSegmentSize / 2
2018-04-02 16:14:40 -07:00
David Fowler
a37fa83aee
Fixed a parser bug found when trying out the array pool ( #2450 )
...
- When using the array pool, we get terrible block density and as a result
the header parser was failing.
- This fixes the case where the parser needed to skip 2 blocks at the end
(which is unrealistic). Comparing the current index to the reader index is incorrect
since we may end up at the same index in another segment.
2018-04-01 00:04:02 -07:00
David Fowler
7382198356
Copy connection middleware when using ListenLocalHost ( #2447 )
...
- Connection middleware got removed during Clone when using ListenLocalhost
2018-03-31 07:29:35 -07:00
David Fowler
be04ccac6e
Move DuplexPipe into Kestrel.Core as internal ( #2428 )
2018-03-27 02:02:15 -07:00
David Fowler
6701339835
Expose DefaultConnectionContext POCO ( #2421 )
...
- Made TransportConnecton derive from ConnectionContext
- Less objects, less opinions about what the ConnectionContext is. This diverges from what we do with HttpContext but it seems better overall.
- Made DefaultConnectionContext
- Usable for unit testing
- Usable for benchmarking
2018-03-24 03:12:53 -07:00
David Fowler
abdcb47b8f
Renames from API review ( #2413 )
...
* Renames from API review
- Rename Microsoft.AspNetCore.Protocols.Abstractions to Microsoft.AspNetCore.Connections.Abstractions.
- Renamed IConnectionHandler to IConnectionDispatcher (and related properties and types)
- Added ConnectionHandler and UseConnectionHandler extension method to Connections.Abstractions.
- Use ActivatorUtilties to create the ConnectionHandler
2018-03-22 21:38:14 -07:00
Nate McMaster
54e538dcb5
Remove dotnet tool install from instructions on using dotnet-dev-certs
2018-03-21 22:10:48 -07:00
Ryan Brandenburg
3584e5f2ab
Set 2.0 baselines
2018-03-16 10:50:05 -07:00
Ben Adams
2527face16
Query EndPoints once during reset ( #2398 )
2018-03-15 23:55:51 -07:00
Ben Adams
f6108928d8
Pass ReadOnlySequence via in ( #2389 )
...
* Pass ReadOnlySequence via in
2018-03-13 17:54:01 -07:00
Chris Ross (ASP.NET)
bfdb48717f
Host header format validation
2018-03-13 16:37:03 -07:00
David Fowler
2d8f3d95fe
Feature/clean up proto abstractions ( #2383 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 10:27:04 -07:00
David Fowler
fa3229b489
Revert "Clean up protocol abstractions ( #2381 )" ( #2382 )
...
This reverts commit ddd0b4c260 .
2018-03-13 02:04:42 -07:00
David Fowler
ddd0b4c260
Clean up protocol abstractions ( #2381 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 01:43:49 -07:00
David Fowler
e7d3b0c5f9
Remove KestrelThreadPool abstraction and replaced it with PipeScheduler ( #2371 )
2018-03-12 14:49:19 -07:00
Pavel Krymets
fc80c15a65
Update to new corefx ( #2369 )
2018-03-08 14:23:07 -08:00
Chris Ross (ASP.NET)
42fbba3520
More detailed request timeout exceptions #2245
2018-03-07 12:23:06 -08:00
Ben Adams
300453396a
Pass StringValues via in ( #2295 )
2018-02-28 19:54:44 -08:00
Pavel Krymets
2c108d9ba1
React to pipes in corefx ( #2337 )
2018-02-28 12:41:51 -08:00
Justin Wyer
83bf2375b3
#2035 Do not await OnCompleted handlers before sending the Response ( #2324 )
2018-02-25 18:10:04 -07:00
Ben Adams
de7e2a2573
Use enum for method rather than string compares ( #2294 )
2018-02-23 14:29:42 -08:00
Nikita Tsukanov
39951e892e
Don't throw in HttpRequestStream.Flush ( #2342 )
...
Because read-only streams apparently can have Flush semantics and this behavior is expected by some of built-in stream wrappers (e. g. CryptoStream)
https://github.com/dotnet/corefx/pull/27327#pullrequestreview-98384813
https://github.com/aspnet/KestrelHttpServer/issues/2341
2018-02-23 09:51:09 -08:00
Ben Adams
6728e756b7
Sanitize and centralize exception throws ( #2293 )
...
* Sanitize and centralize exception throws
2018-02-23 09:24:20 -08:00
Ben Adams
6252ffd86a
Flatten exception handling ( #2313 )
...
3 nested try blocks with 3 finallies in same function O_o
2018-02-22 16:46:18 -08:00
Ben Adams
c57784447e
Speed up TryGetAsciiString ( #1973 )
...
* Widen
* Remove TryGetAsciiStringVectorCheckShifts
* Add Span version to benchmarks
2018-02-22 16:45:31 -08:00
Ben Adams
c0f88ebdc1
Faster IFeatureCollection.Get<TFeature> ( #2290 )
2018-02-22 16:44:38 -08:00
David Fowler
3fc69dc71f
Updated Streams to override Memory and Span overloads ( #2333 )
...
- Also plumbed Memory/Span through Kestrel over ArraySegment.
- Throw synchronously from the HttpRequestStream instead of async in some cases.
2018-02-21 00:00:46 -08:00
brightcr
a72e5db797
Removed code to set response headers - connection and upgrade as it should be set by caller e.g. WebSockets Middleware ( #2329 )
2018-02-19 08:36:28 -08:00
Mike Harder
4afaa386db
Remove unnecessary usings ( #2326 )
2018-02-16 14:04:16 -08:00
Alessio Franceschelli
14332c5daf
Allows Content-Length for 304 Not Modified response ( #2321 )
2018-02-14 16:01:07 -08:00
Alessio Franceschelli
9341f72b8d
Consumes request before closing connection ( #2314 )
2018-02-14 11:46:13 -08:00
David Fowler
2156030460
Clean up some of protocol abstractions ( #2311 )
...
* Clean up some of protocol abstractions
- Renamed PipeConnection to DuplexPipe
- Removed MemoryPool from ConnectionContext
- Work around value tuple issue on net471
2018-02-10 10:39:21 -08:00
Joshua Clark
5dd590e75e
Add clearer exception message to HttpResponseStream ODE ( #2305 )
2018-02-08 17:28:00 -08:00
Redouane Sobaihi
8f25c4e8ca
Include limits default values in intellisense comments. ( #2304 )
2018-02-08 11:37:01 -08:00
Pavel Krymets
261b5836c1
Merge release/2.1
2018-01-30 09:39:33 -08:00
Pavel Krymets
a84095e5c3
React to pipelines changes ( #2275 )
2018-01-29 14:34:48 -08:00
David Fowler
8ea181f088
Use the OnWriterCompleted and OnReaderCompleted events directly. ( #2280 )
2018-01-29 14:27:47 -08:00
Javier Calvarro Nelson
8280c1b73f
Update Kestrel HTTPS developer certificate error message
2018-01-26 12:55:15 -08:00
Chris Ross (ASP.NET)
4fd4fd9f41
Mark HTTP/2 as not supported with an AppContext switch override.
2018-01-24 15:29:59 -08:00
Stephen Halter
cf371a4e74
Disable heartbeat warning when debugger is attached ( #2258 )
2018-01-16 18:11:11 -08:00
Stephen Halter
f4d27e67bb
Improve server shutdown logic ( #2247 )
...
Ensure connections abort when they don't close gracefully.
2018-01-16 16:43:45 -08:00
Javier Calvarro Nelson
e6bb551018
Adds support for loading the developer certificate from a pfx file
...
* If we can't find a developer certificate on the certificate store
we will look for a developer certificate on the file system if a
password has been specified for the Development certificate.
* We will look at ${APPDATA}/ASP.NET/https/<<AppName>>.pfx for windows
and fallback to ${HOME}/.aspnet/https/<<AppName>>.pfx
* In case the password wasn't specified through configuration, the file
is not found on the file system or can't be loaded, we won't
do anything.
2018-01-12 16:32:06 -08:00
Chris Ross (ASP.NET)
420500e2a9
#2102 Always start the response before draining the request.
2018-01-09 15:59:19 -08:00
Steffen Forkmann
9a8dd6ef12
Allow Content-Length 0 for Websocket-Connection ( #2217 )
2018-01-09 15:01:09 -08:00
Chris Ross (ASP.NET)
ad2149f5f0
Change ApplicationProtocol to ReadOnlyMemory<byte> #2182
2018-01-05 09:25:30 -08:00
Stephen Halter
664055fa43
Revert "Change ApplicationProtocol to ReadOnlyMemory<byte> #2182 "
...
This reverts commit 2d3a01d48d .
2018-01-04 16:17:36 -08:00
Chris Ross (ASP.NET)
2d3a01d48d
Change ApplicationProtocol to ReadOnlyMemory<byte> #2182
2018-01-04 15:26:40 -08:00
Pavel Krymets
1fa001e7db
React to pipeline changes ( #2234 )
...
React to pipeline changes
2018-01-04 09:54:42 -08:00
Chris Ross (ASP.NET)
dfaf37cbba
Implement config support #1290 #1879 #2016 #2166 #2167 #2188
2017-12-21 09:12:32 -08:00
Pavel Krymets
3a0a133a02
Remove use of Dangerous* Span APIs and use MemoryMarshal instead ( #2228 )
2017-12-19 11:33:39 -08:00
Chris Ross (ASP.NET)
d505d20ba7
Merge Kestrel.Https into Kestrel.Core. Fix sample.
2017-12-18 14:08:14 -08:00
BrennanConroy
95dc8824c3
Upgrade package references and react to corefx API changes ( #2212 )
2017-12-11 09:02:37 -08:00
Stephen Halter
668f8e3b4b
Lazily allocate protocol-specific connection objects ( #2190 )
...
* Refactor Http[12]?Connection
2017-12-04 15:59:12 -08:00
David Fowler
b8a1c04ffb
Make the HttpParser a singleton ( #2203 )
...
- It's completely stateless so make it a singleton
- Fixed tests
2017-12-03 13:27:36 -08:00
Tornhoof
5e9e3a8574
Make sure to add whitespace after the status code even if the reasonphrase is empty ( #2184 )
2017-11-29 12:30:27 -08:00
Chris Ross (ASP.NET)
89d1862f21
#2139 Add ListenLocalhost and ListenAnyIP
2017-11-16 16:14:17 -08:00
Andrew Stanton-Nurse
065e9bb57a
Update "temporary" OpenSSL wrapper to support 1.1, and add HTTP/2 sample with docker ( #2149 )
2017-11-13 15:54:16 -08:00
Pavel Krymets
73a37363e1
Migrate to new pipe APIs ( #2124 )
2017-11-13 15:04:54 -08:00
Nate McMaster
6c82f78c65
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 15:18:49 -07:00
Cesar Blum Silveira
8c4bdbcf6b
Add "zero config" HTTPS support using local development certificate. ( #2093 )
2017-10-25 13:59:09 -07:00
Andrew Stanton-Nurse
1678c54291
Add some tracing and increase timeout for flaky test ( #2130 )
2017-10-25 11:56:43 -07:00
Andrew Stanton-Nurse
7d205d1093
add event names to Logging messages ( #2132 )
2017-10-25 11:27:05 -07:00
Andrew Stanton-Nurse
30010a103b
Fix for #2085 - "The Detaskening" ( #2123 )
2017-10-23 10:52:02 -07:00
Cesar Blum Silveira
3fbfba63f8
HTTP/2: implement 100-continue ( #2106 )
2017-10-18 16:31:50 -07:00
Cesar Blum Silveira
9dfffd14bb
HTTP/2: support trailers.
2017-10-12 17:26:20 -07:00
Cesar Blum Silveira
deed6c9780
HTTP/2: add exception error messages and log them.
2017-10-12 11:23:57 -07:00
Stephen Halter
fdb4184dbf
Sockets transport ( #2100 )
...
* Make Sockets the default transport
* Create separate Libuv and Sockets functional test projects
* Fix functional tests that fail with Sockets
* Moved OneToTenThreads test to Kestrel.Transport.Libuv.Tests
* Fix systemd activation tests to use libuv transport
* Dispose Sockets PipeFactory
* Improve Socket's server-side abort handling
* Add explicit rebinding test
2017-10-11 15:14:35 -07:00
Cesar Blum Silveira
d46d2ce193
HTTP/2: validate request headers prior to starting new stream.
2017-10-10 13:12:34 -07:00
Cesar Blum Silveira
11ce1395e5
HPACK fixes and improvements.
2017-10-04 12:59:41 -07:00
Cesar Blum Silveira
1b1137b880
HTTP/2: connection error when receiving frames disallowed by stream states.
2017-10-02 10:24:57 -07:00
Cesar Blum Silveira
bb9840a552
HTTP/2: do not ACK PING frames received with ACK set.
2017-09-29 16:40:01 -07:00
Cesar Blum Silveira
551c1ebc0b
Configure enabled protocols per endpoint and add HTTP/2 w/ prior knowledge support ( #2067 ).
2017-09-27 10:14:39 -07:00
Javier Calvarro Nelson
eb9417b577
Re-enable API Check
2017-09-25 15:16:53 -07:00
Cesar Blum Silveira
343ce0f01b
HTTP/2: close connection with PROTOCOL_ERROR when a stream depends on itself.
2017-09-22 16:35:12 -07:00
Cesar Blum Silveira
e3533885a8
HTTP/2: close connection with PROTOCOL_ERROR when receiving a frame with an even stream ID.
2017-09-21 12:26:09 -07:00