Commit Graph

81 Commits

Author SHA1 Message Date
Greg Wilkins 4d09806d4e
Issue #2571 HPACK table overflow (#2589)
When an entry that is too large for the dynamic table is added, the entire table should be evicted as per the RFC.  Previously we were throwing a 431 Bad Message.   This will require that the OP should retest #1134.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-30 09:22:00 +02:00
Greg Wilkins 953611fb72 reverted inadvertant commit with #2585
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 17:31:56 +02:00
Greg Wilkins 436c00b0af Fixed #2585
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 15:48:53 +02:00
Greg Wilkins bcb9fa3b32
Merge pull request #2257 from lachlan-roberts/jetty-9.4.x-2206-ReferenceEquality
Resolved errorprone ReferenceEquality warnings #2206
2018-03-07 11:11:40 +11:00
Lachlan Roberts 020ebde77c found additional ReferenceEquality warnings which have been resolved
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 14:28:11 +11:00
Lachlan Roberts a639ee9275 Resolved errorprone MissingOverride warnings #2206
`@Override` was added to methods which were missing the annotation #2206

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Greg Wilkins ec51926622 reduce fragility of tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-19 19:22:32 +11:00
Joakim Erdfelt fa4c7b0ca9 Issue #2108 - Updating license headers for year 2018 2018-01-09 08:39:37 -06:00
Simone Bordet 07838b057f Happy New Year 2017. 2017-01-19 18:54:03 +01:00
Simone Bordet 347c48d657 Revert "resolve merge and update license headers"
This reverts commit 53b31b03dd, reversing
changes made to 4565c186d7.
2017-01-19 18:26:43 +01:00
Jesse McConnell 53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Simone Bordet bc3c3ff9c8 Improved logging. 2016-12-12 16:00:12 +01:00
Greg Wilkins ec0b1ea847 Issue #1134 HPACK
Improved exceptions when receiving unknown index or a field that cannot be indexed.
2016-12-02 13:40:58 +11:00
Greg Wilkins b6b33bd679 Issue #1134 HPACK
Added test that demonstrates large headers are incorrectly indexed
Do not index fields if too large to fit
2016-12-02 10:27:14 +11:00
Simone Bordet 33eb768d69 Fixes #1029 - Restore Request.setHttpVersion().
Also cleaned up the asymmetry in MetaData between the setter
(setHttpVersion()) and the getter (getVersion()).
2016-10-25 15:45:29 +02:00
Greg Wilkins e53ea55f48 Issue #752 SETTINGS_MAX_HEADER_LIST_SIZE
Defined missing status codes (removed old/wrong javadoc)
Changed use of 413 to 431
Received SETTINGS_MAX_HEADER_LIST_SIZE is set on hpack encoded and warning generated only for large responses.
2016-07-23 12:17:50 +10:00
Greg Wilkins 2f4a6f29b7 Do not use ArrayQueue for HPACK #751 2016-07-21 11:07:55 +10:00
Simone Bordet a3b5e7ebb7 Added guards against NPE in case HttpField.getValue() returns null. 2016-07-15 15:45:50 +02:00
Simone Bordet 389eb68c3c Code cleanups. 2016-07-15 15:45:50 +02:00
Greg Wilkins 45ead1bb29 jetty http2 client parse error #726 2016-07-15 13:47:41 +10:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Simone Bordet cbb7be040f 480260 - HPack decode error for buffers with offset.
Fixed calculations to advance the ByteBuffer.
2015-10-20 23:19:10 +02:00
Simone Bordet c367ea8a85 441020 - Support HEADERS followed by CONTINUATION+. 2015-07-08 18:55:47 +02:00
Joakim Erdfelt 9e6c8eade1 464727 - Update Javadoc for Java 8 DocLint 2015-04-22 12:43:22 -07:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Joakim Erdfelt 08b4bd439e Fixing tests on http2-hpack
+ HttpField.nameHashCode() fixed to actually be US-ASCII case
  insensitive per documentation
+ Since removal of MetaData equals/hashcode, the comparison
  of the MetaData and MetaData.Response is now done entirely
  within the HpackTest
2015-02-20 10:16:03 -07:00
Greg Wilkins a147cee480 459731 - Update for drafts hpack-11 and http2-17 2015-02-12 14:45:12 +11:00
Greg Wilkins e1cc5fb487 Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt a3201a3c81 Happy New Year 2015 2015-01-07 17:06:59 -07:00
Simone Bordet 1c2c83e962 Added TODO to remove references to ByteBuffer.array() without
checking whether the ByteBuffer does have a backing array.
2014-12-18 17:14:34 +01:00
Greg Wilkins c3472f01c4 updated hpack for draft 10 name changes 2014-12-04 10:27:14 +01:00
Greg Wilkins 4296d84a7b updated hpack for draft 10 name changes 2014-12-04 10:17:06 +01:00
Greg Wilkins 31e448ffd6 Removed duplication of HttpGenerator$Info vs http.MetaData
Use MetaData throughout code base
2014-10-24 15:51:20 +11:00
Greg Wilkins ec79a6f88e Improve HTTP header pre-encoding
The HttpContent class has been reworked to store HttpField instances, we may be generated on
demand or instances of PreEncodedHttpField.

The encoding of HTTP2 fields has been generalized to handle both indexed and literal fields, selected
by header enum set.

Default servlet and response classes have been cleaned up in how they set response headers.
2014-10-16 12:31:37 +11:00
Greg Wilkins 8c85b2f591 improved http2 static entry generation 2014-10-15 14:04:54 +11:00
Simone Bordet c7987b154a Reverted logging of HTTP2 tests from DEBUG to INFO. 2014-08-15 17:29:38 +02:00
Greg Wilkins 68a3ca8e31 improved debug logging of settings 2014-08-13 12:00:32 +10:00
Greg Wilkins 64e49a1fe5 work around classloaders for field preencoders 2014-08-07 09:10:35 +10:00
Greg Wilkins 17f46665df preencoded httpfield optimisation 2014-08-06 21:09:26 +10:00
Greg Wilkins d7f2c42e2d misc optimisation of http2 field creation 2014-08-05 12:55:37 +10:00
Greg Wilkins 48d68a4916 handle http/1 host header in http/2 2014-08-05 09:21:27 +10:00
Simone Bordet a2faa030cc Improved logging. 2014-08-04 12:09:35 +02:00
Greg Wilkins 1fb07644a1 Use HttpHeader enum for :path and similar h2 fields 2014-08-02 16:37:43 +10:00
Greg Wilkins cd59d0085e improve known header handling in hpack encoding 2014-08-02 15:40:15 +10:00
Greg Wilkins 1873b306b3 Improved hpack encoder handling of custom fields 2014-08-02 12:56:12 +10:00
Greg Wilkins 9c3eedfea8 Updates to hpack for hpack-09 draft 2014-07-31 13:26:23 +10:00
Greg Wilkins a1696c0139 updates for hpack huffman and examples 2014-07-25 19:38:16 +10:00
Greg Wilkins c13be6d932 Merge branch 'jetty-http2' into refset
Conflicts:
	jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackEncoderTest.java
2014-07-25 18:33:10 +10:00
Greg Wilkins 30123607c6 Major refactor of metadata and HttpURI
This refactor strives to remove duplication between the Metadata class and the HttpURI class.

Both classes have been made mutable (as they partially were anyway so best not to pretend).

HttpURI now holds the decomposed strings rather than a single string with indexes. This allows it to be rebuilt after changing just parts of the URI. It is now a lot more similar to the
JVM URI class and we could consider replacing it (after checking peformance).

Next step is to refactor the Request class to prevent it duplicating these fields.
2014-07-24 15:49:52 +10:00