Commit Graph

5226 Commits

Author SHA1 Message Date
Lachlan 65a908b65d
Merge pull request #5807 from eclipse/jetty-10.0.x-5757-Charsets
Cleanup of charset usage in Response
2020-12-21 16:09:49 +11:00
Lachlan Roberts 477a6c0a10 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 20:58:33 +11:00
Lachlan Roberts 88a838fb17 Introduce extra enum state for DEFAULT encoding.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 13:40:22 +11:00
Lachlan Roberts b13fb8ad1e Resolve TODOs and other changes from review.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 12:21:47 +11:00
Greg Wilkins 9edbd56ffb
Temporary fix for challenged TCK test (#5803)
This is to pass the current TCK.  This has been challenged in https://github.com/eclipse-ee4j/jakartaee-tck/issues/585
2020-12-14 15:12:11 +01:00
Greg Wilkins 25ddd6e154
Fix #5794 Close socket on bind failure (#5802)
* Fix #5794 Close socket on bind failure

Fix #5794 Close socket on bind failure

* Fix #5794 Close socket on bind failure

Fix #5794 Close socket on bind failure

* Fix #5794 Close socket on bind failure

Update fix with IO.close()
2020-12-14 12:16:44 +01:00
Simone Bordet adbe5c58a1 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-14 11:21:28 +01:00
Lachlan Roberts 908acd5904 The default iso-8859-1 encoding should be set in the Content-Type.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-14 17:22:36 +11:00
Joakim Erdfelt 2662be0a05
Merge pull request #5795 from eclipse/jetty-10.0.x-5784-fix-dual-license-text
Issue #5784 - fix dual license text
2020-12-11 11:37:58 -06:00
Greg Wilkins f17a5fb3fe
Fixes #5779 Include should not set pathInContext (#5780)
Fixes #5779 by ensuring that ContextHandler does not set pathInContext for include.
2020-12-11 10:04:31 +01:00
Joe Witt f7d4b940a2
Issue #5794 ensuring serverChannel is closed in the event of a failed bind to ensure proper resources are cleaned
Signed-off-by: Joe Witt <joewitt@apache.org>
2020-12-10 20:59:09 -07:00
olivier lamy 9b100a5bfb Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-12-11 12:10:35 +10:00
Olivier Lamy 639cad63fe
Jetty 9.4.x optimize parser warning from logs and add spotbug (#5735)
* enable spotbugs in CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

record issues

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

use warning new generation

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

activate errorprone

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix Jenkinsfile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

do not run spotbugs for jetty-runner as we do not want to fix all dependencies bugs :)

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit should allow empty results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

maven console can be use only once...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

one liner

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

recordissues only once

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

force id

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

aggregate results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

configure a name for aggregated reports

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

mo more -T3 no need anymore of remote session test profile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

I want to see what failing tests look like with new report.

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

skip spotbugs for jetty-jmh

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

get rid of findbugs as we now have spotbugs

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

Revert "I want to see what failing tests look like with new report."

This reverts commit df0d13e4c53d7461872e1f925ec06bd36e4a66c9.

activate errorProne parser

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

make pmd quiet for CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

remove -fae flag and do not display transfer progress

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

try junitParser() to see what it does

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit parser is a bad idea...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

increase timeout

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

no -T2 for javadoc

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix skip spotbugs and pmd verbose

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* remove -T options

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-11 11:47:26 +10:00
Joakim Erdfelt f0badc5c5e
Issue #5784 - Fixing source header text: EPL-2.0 OR Apache-2.0
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-12-10 16:04:50 -06:00
Lachlan Roberts f5fab09498 Issue #5757 - cleanup logic around character encoding in Response
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-09 15:25:46 +11:00
Lachlan Roberts 5490b3add4 Issue #5757 - improve javadoc around inferred and assumed charsets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-08 09:32:26 +11:00
Joakim Erdfelt 9319f10425 Updating to version 10.0.1-SNAPSHOT 2020-12-02 15:30:13 -06:00
Joakim Erdfelt b9645a1737 Updating to version 10.0.0 2020-12-02 15:04:53 -06:00
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
Joakim Erdfelt fe0a4f624e
Merge remote-tracking branch 'origin/release-9.4.35' into jetty-9.4.x 2020-11-25 15:56:09 -06: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
Joakim Erdfelt e8683cba9f Updating to version 9.4.36-SNAPSHOT 2020-11-20 16:05:27 -06:00
Joakim Erdfelt bdc54f03a5 Updating to version 9.4.35.v20201120 2020-11-20 15:05:50 -06: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