Commit Graph

5205 Commits

Author SHA1 Message Date
Simone Bordet a241b9dd5e Improved logging.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-27 13:43:09 +01:00
Ludovic Orban aa8bd5d820 replace Trie interface and impls usage with new *Index interfaces and Builders
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-26 14:14:16 +01:00
Simone Bordet ac3d492305
Merge pull request #5729 from eclipse/jetty-10.0.x-3080-no_classifier_tests
Fixes #3080 - Do not create and use jars with "tests" classifier.
2020-11-26 11:22:03 +01:00
Simone Bordet 5d83f6670a Fixes #3080 - Do not create and use jars with "tests" classifier.
Removed the jetty-server and jetty-servlet test-jar artifacts.
The only one left is the jetty-maven-plugin test-jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-25 19:16:50 +01:00
dejpec 22c6b8fced
Access to cookie config with accessor method (#5526)
With this minimal change one can provide different cookie configs for the same SessionHandler
without coping the whole method into the inherited class.

Signed-off-by: Dejan Pecar <dejan.pecar@abacus.ch>
2020-11-25 14:24:29 +01:00
gregw 0a70cba8ae Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-24 18:36:24 +01:00
Greg Wilkins 9f82ca0a80
Use File.list and File.walk within a try with resource (#5718)
* Use File.list and File.walk within a try with resource

The API contract of File.list and File.walk requires them to be closed after use.

* Fix from review

Left out filter

* Fix from review

Factored out deleteFile with better debug

* Fix from review

Can delete files whilst walking

* Fix from review

Restored sweepFile
fixed minor code suggestions
2020-11-24 18:12:42 +01:00
Ludovic Orban 2d46951bcb remove unnecessary transition to READY in ContentProducer.isReady
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-23 16:25:35 +01:00
Simone Bordet 1ac0af4a76 Fixes #5691 - HttpInput may skip setting fill interest.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-21 16:40:12 +01:00
Simone Bordet 4654335fdb Fixes #5691 - HttpInput may skip setting fill interest.
HttpInput.run() now uses contentProvider.isReady() to ensure that
if there is no content, the fill interest is set.

AsyncContentProvider.isReady() is now looping if there is content
but it cannot be transformed (e.g. too few gzipped bytes).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-20 16:52:14 +01:00
Simone Bordet 8edb5cfc24 Issue #5691 - HttpInput may skip setting fill interest.
Code cleanups and logging improvements.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-20 16:50:24 +01:00
Simone Bordet 88c03ac1dc Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Fixed test after merge.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-19 16:47:36 +01:00
Simone Bordet cb10c35daf Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Fixed detection of EOF in failAllContent().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-19 15:21:58 +01:00
Simone Bordet e3e5c2e25a Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Writing content in separate writes may result in the server
only reading partial content, producing a response with
`Connection: close` that would cause the client socket to
stop receiving data for the next response, failing the test.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-18 21:41:08 +01:00
gregw 699e3ba54c fixed merge
Signed-off-by: gregw <gregw@webtide.com>
2020-11-18 14:42:07 +01:00
gregw f37ad023a8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-18 11:20:48 +01:00
Greg Wilkins 14f94f738d
Issue #5605 unconsumed input on sendError (#5637)
* Issue #5605 unconsumed input on sendError

Add Connection:close if content can't be consumed during a sendError. Processed after the request has returned to the container.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Update from review

 + Add close on all uncommitted requests when content cannot be consumed.

* Update from review

 + fixed comment
 + space comma

* Only consume input in COMPLETE if response is >=200 (ie not an upgrade or similar)

* Updated to be less adventurous

I do not think it was valid to always consumeAll in COMPLETE as this could break upgrades with both 101s and 200s
Instead I have reverted to having this consumeAll logic only:
 + in sendError once control has passed back to the container and we are about to generate an error page.
 + in front of all the sendRedirection that we do without calling the application first.

Extra tests also added

* Updated to be less adventurous

reverted test

* Testcase for odd sendError(400) issue.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Fix for odd sendError(400) issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Testcase for odd sendError(400) issue.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Always try to consumeAll on all requests

* Refinements after testing in 10

* Refinements after testing in 10

Fixed test

* Fixed comment from review

* Updates from review

+ added redirect methods that consumeAll
+ ensureContentConsumedOrConnectionClose renamed to ensureConsumeAllOrNotPersistent
+ ensureConsumeAllOrNotPersistent now handles HTTP/1.0 and HTTP/1.1 differently

* better consumeAll implementation

* update from review

 + better javadoc
 + filter out keep-alive
 + added more tests

* update from review

 + better javadoc

* update from review

 + fixed form redirection test for http 1.0 and 1.1

* update from review

 + HttpGenerator removes keep-alive if close present
 + Use isRedirection

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-18 10:40:05 +01:00
Joakim Erdfelt e9c6c942ea
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-11-17 09:12:50 -06:00
Joakim Erdfelt 1448444c65
Merge pull request #5560 from eclipse/jetty-9.4.x-5539-statisticsservlet-output
Issue #5539 - Proper StatisticsServlet output format via content negotiation
2020-11-17 08:52:34 -06:00
Simone Bordet a3a153d08d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-11-17 13:41:45 +01:00
Greg Wilkins 71087e53a6
Minor cleanup SecureRequestCustomizer (#5660)
* For #5650 protect from bad SslSession

Better protection from a bad SslSession like seen in #5650

* review indicated that there is too much depth to defend.  So just a little cleanup in this PR.
2020-11-17 13:21:03 +01:00
Joakim Erdfelt 314c65fb14
Issue #5539 - Adding StatisticsServlet tests in test-distribution
+ Updating module definition for JSON

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-11-16 12:31:28 -06:00
gregw 3508fdc955 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-16 11:56:13 +01:00
Greg Wilkins 850a0330ff
Cleanup request/response recycle #4711 (#5643)
* Cleanup request/response recycle #4711

Reordered recycle in request and response to field order so that we can check that all fields are recycled.

* Fixed ordering of reader consumption

* update from review
2020-11-16 11:48:33 +01:00
Jan Bartel 1245df26a4 Log failure to delete session file.
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-11-13 12:46:15 +01:00
gregw 8884575f85 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-12 17:17:55 +01:00
Greg Wilkins f4c32e788a
Fix #5562 Improve HTTP Field cache allocation (#5565)
* Fix #5562 Improve HTTP Field cache allocation

Fix #5562 by initially putting cacheable fields into a inexpensive arraylist.
Only create the Trie (with space and complexity costs) if a second request is received.

* Fixed NPE

* Feedback from review

Create `HttpHeader.isPseudo()`` method
improved clarity with `createFieldCacheIfNeeded()``

* Feedback from review

Only defer Trie creation to first cacheable field, not until next request.

* Updates from review

* Update from review

 + more javadoc
 + empty set return
2020-11-12 17:05:32 +01:00
Lachlan Roberts 6934b94261 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-11 14:21:58 +11:00
Lachlan Roberts e937b34a82 fixes to XML formatting
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 00:11:21 +11:00
Lachlan Roberts 5579b805e3 fix some formatting and comments in XML files
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 23:38:51 +11:00
Lachlan Roberts 4c172b5bbb Fix xml <Ref/> tags using id instead of refid.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 23:30:36 +11:00
Joakim Erdfelt 71ad5447a4
Merge remote-tracking branch 'origin/release-9.4.34' into jetty-9.4.x 2020-11-04 10:24:21 -06:00
Joakim Erdfelt 0bb5e8c4b1
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-11-03 13:51:03 -06:00
Ludovic Orban 814dc69803 Get rid of addContent() by making produceContent() return Content instead.
Make EOF and errors be special content.
Transition to a much simplified FSM by using the needContent() / produceContent() model.
Implement blocking on top of async, this way there is only one FSM.
(Milestone 6)

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban a4258ec9c0 Merge all HttpInput* impls into a single class, push all differences to HttpChannel* impls (Milestone 5)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban d0f04a8eae addContent now returns void (Milestone 4)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 982ddc0c48 FCGI queue and pull model, merge all common code between H1, H2 and FCGI (Milestone 3)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 946f334810 http2 impl (Milestone 2)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 5a24c8dd17 HTTP and FCGI pass all tests (Milestone 1)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:24 +01:00
Greg Wilkins f88f09a148
SessionCookieConfig name may be null (#5557)
* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* feedback from review

added static method to convert null name to default.
2020-11-03 16:22:26 +01:00
Joakim Erdfelt edaadff55b Updating to version 9.4.35-SNAPSHOT 2020-11-02 09:04:51 -06:00
Joakim Erdfelt e46af88704 Updating to version 9.4.34.v20201102 2020-11-02 08:03:51 -06:00
Simone Bordet 40fd98d6a9 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-11-02 10:47:03 +01:00
Simone Bordet a1b3d3319d
Merge pull request #5491 from eclipse/jetty-9.4.x-5488-jetty-dir.css
Fixes #5488 - jetty-dir.css not found when using JPMS.
2020-11-02 10:40:19 +01:00
Simone Bordet 5a59d47a68 Improvements to the Jetty documentation.
Ported and updated the documentation about JMX.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-30 16:32:49 +01:00
Lachlan Roberts d6751c9936 Issue #5493 - Fix and simplify graceful shutdown of StatisticsHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-27 15:40:58 +11:00
Simone Bordet 4a4a73df2e Fixes #5488 - jetty-dir.css not found when using JPMS.
Moved jetty-dir.css from jetty-util to jetty-server,
so that it can be found by ResourceHandler when using JPMS.

Updated DefaultServlet to call a ResourceHandler method
to retrieve the stylesheet.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-22 16:48:27 +02:00
Joakim Erdfelt e726eefb0b Updating to version 9.4.34-SNAPSHOT 2020-10-20 18:55:39 -05:00
Joakim Erdfelt 1be6875565 Updating to version 9.4.33.v20201020 2020-10-20 18:28:51 -05:00
Joakim Erdfelt 5045244f54
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-17 05:38:31 -05:00