Commit Graph

20271 Commits

Author SHA1 Message Date
Simone Bordet 133dbdf7fe Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-19 12:02:24 +01:00
Simone Bordet 26b0445a9e Fixed visibility of Scanner.Visitor.
Must be package private because it uses TimeNSize
in method signatures, that is also package private.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 11:53:20 +01:00
Simone Bordet e4f1106f09 Fixes #4421 - HttpClient support for PROXY protocol.
Fixed visibility of ProxyProtocolConnection.
Must be protected because it's the return type
of protected methods.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 10:11:54 +01:00
Greg Wilkins d971716e6d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-19 12:33:28 +11:00
Greg Wilkins c5acf96506
Jetty 9.4.x 4331 async close complete3 (#4409)
* Issue #4376 Async Content Complete

Added test harness to reproduce unready completing write.
Fixed test by not closing output prior to becoming READY

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

* Issue #4331 Async Write Complete

Test harness to reproduce unready when closing/completing.

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

* Issue #4331 Async Write Complete

test both PENDING and UNREADY

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

* Issue #4331 Async Write Complete

test cleanups

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

* Issue #4331 Async Close Complete

Cleanups of write

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

* WIP

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

* Issue #4331 Close Complete

Work in progress

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

* Issue #4331 Close Complete

Added async close to HttpWriter and ResponseWriter
Always use async close, with blocker if necessary.

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

* Issue #4331 Close Complete

Working async close complete!

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

* Issue #4331 Close Complete

invert test as we can now call complete when not ready!

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

* Issue #4331 Close Complete

fixed transition to ERROR state

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

* Issue #4331 Close Complete

async close after onError

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

* Issue #4331 Close Complete

minor cleanups

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

* Issue #4331 Close Complete

Fix for proxy tests

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

* Issue #4331 Close Complete

Fix write loop to handle clear of p=0,l=0 rather than p=l

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

* Issue #4331 Close Complete

Removed old close on all content mechanism
Cleanups and some more TODOs

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

* Issue #4331 Close Complete

a reworking of HttpOutput to separate out API state.

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

* Issue #4331 Close Complete

Soft close for Dispatcher
release buffer in onWriteComplete

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

* Issue #4331 Close Complete

Set _onError in onWriteComplete
NOOP callback instead of null

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

* Issue #4331 Close Complete

failure closes HttpOutput

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

* Issue #4331 Close Complete

Moved closedCallback handling to onWriteComplete

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

* Issue #4331 Close Complete

Additional test of complete during blocking write.

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

* Issue #4331 Close Complete

reimplemented blocking close to sometimes be async

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

* Issue #4331 Close Complete

ascii "art"

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

* Issue #4331 Close Complete

Code cleanup.  Use a CLOSE state rather than non null closedCallback to be clearer that it is a state.
Renamed close(Callback) to complete(Callback)
Renamed and simplified closed() to completed()

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

* Issue #4331 Close Complete

Do not dispatch
Better ascii art
improved close impl to be similar to complete

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

* Issue #4331 Close Complete

More test cases

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

* Issue #4331 Close Complete

retain execute behaviour in 9.4. review in 10.

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

* Improved javadoc and ascii art

* Improved CLOSING

Switch to CLOSING state as soon as last write is done, even if several non last channelWrites will be done.   This allows a subsequent call to close to know that nothing needs to be written and can avoid some EOF exceptions. Now onWriteComplete acts only on the passed in last parameter.

Added test for sendContent

* WIP

Aggregate within lock
pipeline test debug

* Avoid creating ignored exception when Idle or Failed.

* Try a parse without fill to avoid unconsumed input debug

* fixed pipeline size

* release buffer before callback

* turn off debug

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

* Issue #4331 Close Complete

Better javadoc
refactored onWriteComplete logic to be simpler
fixed bug with flush of last written byte

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

* Issue #4331 Close Complete

Completely reworked test harness for better coverage.

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

* Issue #4331 Close Complete

Reworked order of ifs to match logic above in onWriteComplete

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-19 12:17:11 +11:00
Joakim Erdfelt bb79f3e6e0
Issue #3730 - Collapsing now redundant private Constructor
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 15:33:23 -06:00
Joakim Erdfelt e02ef3efdd
Issue #3730 - Making new Constructor private
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:43:53 -06:00
Joakim Erdfelt 9da1820f13
Issue #3730 - Removing HttpContainerScope
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:38:37 -06:00
Lachlan Roberts aedcaac2e0 Fix flaky multipart tests in RequestTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-18 12:28:01 +11:00
Simone Bordet fdc131db89 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-18 00:51:32 +01:00
Simone Bordet fcc18b0530
Merge pull request #4429 from eclipse/jetty-9.4.x-4421-httpclient_proxy_protocol2
Fixes #4421 - HttpClient support for PROXY protocol.
2019-12-18 00:50:10 +01:00
Simone Bordet bea7f1a5cf Fixes #4421 - HttpClient support for PROXY protocol.
Improved support for Type-Length-Value (TLV) objects.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-17 23:26:28 +01:00
Simone Bordet 91239b01e3 Fixes #4427 - Retried request duplicates cookies.
Introduced HttpRequest.normalized() to test and set whether
the request has already been normalized.
Added test case and few cleanups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-17 20:16:46 +01:00
Simone Bordet b1e2f80017 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-17 13:41:15 +01:00
Simone Bordet 129a51c7a2
Fixes #4421 - HttpClient support for PROXY protocol. (#4424)
* Fixes #4421 - HttpClient support for PROXY protocol.

Implemented support for the PROXY protocol in HttpClient.

Introduced Request.tag(Object) to tag requests that belong
to the same group (e.g. a client address) so that they can
generate a different destination.

The tag object may implement ClientConnectionFactory.Decorator
so that it can decorate the HttpDestination ClientConnectionFactory
and therefore work both with and without forward proxy configuration.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-17 10:36:16 +01:00
Lachlan 5e558a566d
Merge pull request #4420 from eclipse/jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
- tests for annotations as default ServerEndpointConfig
- merge annotated ServerEndpointConfig with provided config
- clean up usage of ClientEndpointConfig and testing
- ServerFHF now extends ClientFHF

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-17 13:07:38 +11:00
Lachlan 584e264b0b
Clean up CustomRequestLog and fix the handling of the %u code. (#4397)
* Clean up CustomRequestLog and fix the handling of the %u code.
* Add test for logging of remote user with %u and %{d}u
* update javadoc to clarify that %u is only for servlet auth
* remove the prepended '?' when deferred authentication is checked
2019-12-17 11:28:39 +11:00
Lachlan Roberts 1e884c2497 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-17 10:55:07 +11:00
Lachlan ce6438c53e
Issue #4148 - config for jetty specific settings with javax WebSockets (#4295)
* Issue #4148 - config for jetty specific settings with javax WebSockets

* Make every jetty EndpointConfig implementation a wrapper
* Remove BasicEndpointConfig and use Client or Server specific ones
2019-12-17 10:04:07 +11:00
Greg Wilkins 9f93577054
Update Notice (#4395)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-17 07:40:19 +11:00
Simone Bordet 6f2ac512dc Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-16 18:04:11 +01:00
Simone Bordet fa973a2df8
Merge pull request #4380 from eclipse/jetty-9.4.x-4374-httpclient_content_listener
Fixes #4374 - Jetty client: Response.AsyncContentListener.onContent i…
2019-12-16 18:01:27 +01:00
Joakim Erdfelt 7d65183e2c
Issue #3730 - Cleaning up Scopes in WebSocketClient
+ Introducing HttpContainerScope to track HttpClient specific
  ByteBufferPool, SslContextFactory, and Executor.
+ New private WebSocketClient constructor that use HttpContainerScope
+ Deprecated many constructors as irrelevant now that HttpClient
  is an option to create a WebSocketClient.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-13 13:44:57 -06:00
Lachlan Roberts d8f64cb510 Issue #4407 - fix broken test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 14:50:50 +11:00
Lachlan Roberts 313f2e49f5 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:43:36 +11:00
Lachlan Roberts d08c1025e9 Issue #4407 - fix broken tests, ServerFHF now extends ClientFHF
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:30:01 +11:00
Lachlan Roberts 74e7cca28d Issue #4407 - clean up usage of ClientEndpointConfig and testing
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 10:36:49 +11:00
Joakim Erdfelt 2c464e36a2
Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-12-12 14:11:51 -06:00
Joakim Erdfelt cf7f6a52f5
Merge pull request #4417 from eclipse/jetty-9.4.x-4415-gziphandler-large-stream-support
Issue #4415 - Addressing Gzip Decoding of large files
2019-12-12 14:11:31 -06:00
Joakim Erdfelt 36d06d016d
Issue #4415 - Addressing Gzip Decoding of large files
+ Addressing PR review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-12 13:23:44 -06:00
Joakim Erdfelt 1e810d370f
Issue #4415 - Addressing Gzip Decoding of large files
+ Addressing PR review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-12 11:58:44 -06:00
Lachlan Roberts af2a9cfd5b Issue #4407 - merge annotated ServerEndpointConfig with provided config
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-12 13:31:17 +11:00
Joakim Erdfelt 2b58379f88
Issue #4415 - Addressing Gzip Decoding of large files
+ Now applying proper RFC 1952 ISIZE check.
+ Bit shifting is done with Longs against Long value.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-11 14:38:42 -06:00
Chris Walker ef5c7d7947
Adding documentation for test-keystore module. Resolves #4228 2019-12-11 12:35:09 -06:00
Simone Bordet 8245038a90 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-11 13:50:05 +01:00
Simone Bordet fe1a3c67a1
Merge pull request #4412 from eclipse/jetty-9.4.x-4411-server_spin_incomplete_request
Issue #4411 - Jetty server spins on incomplete request.
2019-12-11 13:47:37 +01:00
Simone Bordet 8e875ab7a4 Issue #4411 - Jetty server spins on incomplete request.
Updated FastCGI code to pass the test.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-11 13:02:23 +01:00
Simone Bordet 6bbec7f3b0 Issue #4411 - Jetty server spins on incomplete request.
Fixed HttpInput to be in READY state if an error is detected
before the call to setWriteListener().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-11 00:11:29 +01:00
Jan Bartel ef84a797e9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2019-12-10 12:31:18 +11:00
Jan Bartel 0e6a1ce76b
Issue #4402 Fix NPE in JettyRunWarExplodedMojo (#4406)
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-12-10 12:29:40 +11:00
Lachlan Roberts b400d00f03 Issue #4407 - tests for annotations as default ServerEndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-09 18:24:32 +11:00
Jan Bartel 9cfaa414a1
Issue #4238 Pass system properties into xml configurations (#4390)
* Issue #4238 Pass system properties into xml configurations

Signed-off-by: Jan Bartel <janb@webtide.com>
2019-12-09 08:33:52 +11:00
Simone Bordet 941ce67e61 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-07 14:20:38 +01:00
Simone Bordet 2052b6e390
Merge pull request #4404 from eclipse/jetty-9.4.x-4385-restore-unsupported-exception-base-sni
Issue #4385 - Reverting WARN log in favor of IllegalStateException
2019-12-07 12:44:05 +01:00
Simone Bordet 2364b075d7 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-12-07 12:42:00 +01:00
Simone Bordet 364ded9f73
Merge pull request #4391 from eclipse/jetty-9.4.x-3512-httpclient_multipart_close
Fixes #3512 - File descriptor is not released after zip file uploaded…
2019-12-07 12:38:40 +01:00
Joakim Erdfelt 2ee079feb1
Merge 'jetty-9.4.x' of github.com:eclipse/jetty.project into jetty-9.4.x 2019-12-06 13:24:43 -06:00
Joakim Erdfelt 53eda03203
Making exception message more clear
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-06 13:24:30 -06:00
Joakim Erdfelt 53073ca257
Issue #4385 - Reverting WARN log in favor of IllegalStateException
+ Plus fleshing out the testcases more for Base / Client / Server
  with and without certificates that will trigger SNI requirement
  and ISE.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-06 13:20:24 -06:00
Lachlan 47117f88fb
Allow WebSocket extension selection to be done from UpgradeListener (#4379)
* Allow WebSocket extension selection to be done from UpgradeListener
* improve generation of extension string

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-05 13:16:16 +11:00