Simone Bordet
cd57af4caf
Merge pull request #4116 from eclipse/jetty-9.4.x-4115-drop_http2_pseudo_headers
...
Fixes #4115 - Drop HTTP/2 pseudo headers.
2019-10-10 12:15:58 +02:00
Simone Bordet
687873cb7b
Issue #4115 - Drop HTTP/2 pseudo headers.
...
Fixed NPE if the method was missing.
Renamed lowCase -> lowerCase.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-10 11:11:36 +02:00
Simone Bordet
6acc9f7be5
Issue #4115 - Drop HTTP/2 pseudo headers.
...
Updates after review.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-09 21:01:30 +02:00
Simone Bordet
e2a493d7b0
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-08 09:52:21 +02:00
Joakim Erdfelt
d7a189fa18
Updating to version 10.0.0-SNAPSHOT
2019-10-03 12:05:26 -05:00
Joakim Erdfelt
fd6a2cb9f6
Updating to version 10.0.0.alpha1
2019-10-03 11:25:06 -05:00
Simone Bordet
3be178c966
Merged 'jetty-9.4.x' into 'jetty-9.4.x-2429-httpclient_backpressure'.
2019-10-03 13:17:39 +02:00
Simone Bordet
609c144ae0
Fixes #4115 - Drop HTTP/2 pseudo headers.
...
Invalid HTTP/2 headers are now causing an error rather than being ignored.
HTTP2Flusher now catches HpackException.StreamException and generates a
RST_STREAM frame, rather than just closing the connection.
Modified HpackEncoder to throw HpackException in case of encoding failure.
Introduced HpackEncoder.validateEncoding (defaults true) so validation of
the headers can be disabled (useful for tests).
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-03 12:45:55 +02:00
Simone Bordet
73853f7af7
Issue #3951 - Consider adding demand API to HTTP/2.
...
Made sure that Stream.Listener.onBeforeData() returns before calling
Stream.Listener.onData().
Added test cases also for calling demand() outside data events.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-02 11:08:16 +02:00
Simone Bordet
df8ca37983
Issue #3951 - Consider adding demand API to HTTP/2.
...
Introduced Stream.Listener.onBeforeData() to initialize the demand.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-01 22:23:00 +02:00
Simone Bordet
16b21ecb6e
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3951-http2_demand'.
2019-10-01 18:37:04 +02:00
Joakim Erdfelt
7807eafad9
Updating to version 9.4.22-SNAPSHOT
2019-09-26 10:46:28 -05:00
Joakim Erdfelt
72970db61a
Updating to version 9.4.21.v20190926
2019-09-26 09:59:15 -05:00
Simone Bordet
d39f19cc23
Issue #2429 - Review HttpClient backpressure semantic.
...
Introduced a Response.DemandedContentListener to explicitly separate
the will to request more content from the notification that the content
has been consumed.
Updated all transports to follow the new semantic: rather than waiting
for the callback to complete before delivering more content, now they
wait for the demand to be positive to deliver more content.
Since now the content may be unconsumed but there can be more demand,
all transport implementation had to be changed to use RetainableByteBuffer
to retain content buffers that were not consumed.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-19 17:19:25 +02:00
Simone Bordet
0eec727a09
After review, renamed *directBuffers to *directByteBuffers.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-17 12:16:10 +02:00
Simone Bordet
1ef4a416b5
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'.
2019-09-16 12:26:26 +02:00
olivier lamy
b5d67adde1
Merge branch 'jetty-9.4.x' into jetty-10.0.x
2019-09-13 07:03:23 +10:00
olivier lamy
a117c4428a
fix typo
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-09-13 06:22:09 +10:00
Simone Bordet
6e8b610f30
Fixed compilation errors after merge.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-12 16:44:19 +02:00
Simone Bordet
098f5029c8
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-09-12 15:51:23 +02:00
Simone Bordet
575a74d148
Merge pull request #4079 from eclipse/jetty-9.4.x-2815-hpackOpaqueBytes
...
Issue #2815 - HPack Opaque Bytes
2019-09-12 15:42:36 +02:00
Greg Wilkins
afa987ac64
Update from review
...
reformat
Use ByteBuffer API
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-12 21:39:36 +10:00
Greg Wilkins
905bf82f80
reformatting
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-12 10:14:58 +10:00
Simone Bordet
d69a1f0f58
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
2019-09-12 00:11:01 +02:00
Simone Bordet
63798f6664
Fixes #3956 - Remove and warn illegal HTTP/2 response headers.
...
Updates after review.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-11 23:55:25 +02:00
Greg Wilkins
90cf7c80bd
avoid exceptions for non iso characters
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-11 10:50:42 +10:00
Greg Wilkins
bc96561865
fixed bad merge
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-11 10:18:17 +10:00
Greg Wilkins
bd220400a1
Merge branch 'jetty-9.4.x' into jetty-9.4.x-2815-hpackOpaqueBytes
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-11 10:17:33 +10:00
Simone Bordet
c7867cdd5e
Fixes #3956 - Remove and warn illegal HTTP/2 response headers.
...
Implemented RFC 7540 8.1.2.2.
Fields that should be removed are now dropped.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-09 19:47:06 +02:00
Simone Bordet
c59fc08e5a
Issue #3951 - Consider adding demand API to HTTP/2.
...
Using MathUtils.cappedAdd().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-06 10:15:49 +02:00
Simone Bordet
0a4abf1ff7
Merged 'jetty-10.0.x' into 'jetty-10.0.x-3951-http2_demand'.
2019-09-06 10:04:39 +02:00
Simone Bordet
785ecd2165
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-09-06 10:00:13 +02:00
Simone Bordet
4e67e8594e
Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-3978-http2_vulnerabilities'.
2019-09-05 23:12:35 +02:00
Simone Bordet
508ad4aff9
Issue #3978 - HTTP/2 vulnerabilities.
...
Code cleanups and reformatting.
Fixed logic for SETTINGS frame replies: they are not subject to rate control.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-05 23:11:53 +02:00
Simone Bordet
0485fb5dde
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3951-http2_demand'.
2019-09-05 18:16:04 +02:00
Chris Walker
189ba7a671
Merge from 9.4.x
2019-09-02 14:49:33 -04:00
康智冬
49ba6d1acb
fix typo and grammar ( #4045 )
...
Signed-off-by: KangZhiDong <worldkzd@gmail.com>
2019-09-02 14:29:50 -04:00
Simone Bordet
633b6587ef
Fixes #3951 - Consider adding demand API to HTTP/2.
...
Renamed onDataRequested() to onDataDemanded() to
avoid using the "request" word which is overloaded.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-28 17:10:45 +02:00
Greg Wilkins
d890748f3a
More merge fixes
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 16:19:07 +10:00
Greg Wilkins
15e2f72264
updated after merge to fix tests
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 11:33:06 +10:00
Greg Wilkins
53fc01793c
Updates from review
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-26 13:20:07 +10:00
Greg Wilkins
b2aa083778
Updates from review
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-26 13:18:12 +10:00
Simone Bordet
acc2f75f59
Fixes #3951 - Consider adding demand API to HTTP/2.
...
Implemented the demand mechanism for HTTP/2, both client and server.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-23 12:17:28 +02:00
olivier lamy
a36af67abf
Merge branch 'jetty-9.4.x' into jetty-10.0.x
2019-08-22 20:45:57 +10:00
Olivier Lamy
fe3d3f7158
fix checkstyle in test sources ( #4013 )
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-22 19:56:41 +10:00
Simone Bordet
32fe4e5ca8
Issue #3978 - HTTP/2 vulnerabilities.
...
Fixed load test that required `RateControl.NO_RATE_CONTROL`.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-21 11:36:06 +02:00
Simone Bordet
5184c4ec3d
Issue #3978 - HTTP/2 vulnerabilities.
...
Small fixed after review.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-19 11:38:01 +02:00
Greg Wilkins
5fc83c3d0c
Issue #3978 HTTP2 Vulnerabilities
...
Reduce the number of RateControl fields, instead using common field in
HeaderParser.
Avoid null checking rateControl by having a NO_RATE_CONTROL static
HPack does not emit field with empty header name.
Apply rate control to any header parsing issue resulting in
session/stream failure
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-19 10:16:40 +10:00
Greg Wilkins
47fb8f4dea
Issue #3978 HTTP2 Vulnerabilities
...
Fixed race in WindowRateControl by only removing the event that we
just inspected.
Added an AtomicInteger to track the size to avoid iterating over the
linked list.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-19 10:11:28 +10:00
Greg Wilkins
764fcd63a1
Merge branch 'jetty-9.4.x' into jetty-9.4.x-3978-http2_vulnerabilities
2019-08-19 08:46:28 +10:00