20659 Commits

Author SHA1 Message Date
Lachlan Roberts
1b123b87a9 Issue #4538 - add invalid utf8 validation tests for MessageReader
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:37 +11:00
Lachlan Roberts
2467d5a8c5 Issue #4538 - Rework MessageInputStream and MessageReader
Message reader now validates UTF8

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:26 +11:00
Lachlan Roberts
6eccc7ebce Issue #4538 - MessageWriter delegates to MessageOutputStream
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:15 +11:00
Lachlan Roberts
e2f86f9a19 Issue #4538 - simplify MessageInputStream and DispatchedMessageSink
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:03 +11:00
Lachlan Roberts
71b11f0887 Issue #4571 - simplify partial MessageSinks reduce copying
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:26:56 +11:00
Lachlan Roberts
36cccd2c88 Issue #4571 - optimise aggregating text and binary MessageSinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:25:05 +11:00
Joakim Erdfelt
c9134df60a
Issue #4567 - Applying changes from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-18 11:09:46 -06:00
Lachlan
5fe202f29f
Issue #4548 - clean up websocket removing duplicated and unused classes (#4549)
Create new module websocket-util which contains implementation classes shared by websocket-jetty and websocket-javax. Many of these classes had to be changed as the javax and jetty versions of them differed slightly.

Also includes general cleanups, removed unused interfaces and classes, etc..
2020-02-18 21:43:54 +11:00
Lachlan
59ae7767a4
Merge pull request #4583 from eclipse/jetty-10.0.x-4581-Javadoc
Issue #4581 - remove unnecessary javadoc on Override methods
2020-02-18 21:33:10 +11:00
Lachlan Roberts
f6195b39ea Issue #4581 - fix checkstyle errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-18 13:52:19 +11:00
olivier lamy
9d589f1b6e fix checkstyle issue
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-18 10:42:26 +10:00
Lachlan Roberts
55748f12c2 Issue #4581 - remove unnecessary javadoc on Override methods
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-18 11:33:56 +11:00
Simone Bordet
3129202e8a Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-02-17 17:40:06 +01:00
Simone Bordet
01438e6f91 Code cleanup.
Changed the way the test directory was created: it was based on a
millisecond timestamp, but the tests run fast and it was possible that
two tests were creating the directory within the same millisecond.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-17 17:32:51 +01:00
Simone Bordet
f2c977d619 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-02-17 00:54:22 +01:00
Simone Bordet
ed7f337856 Issue #4518 - Add a mechanism that allows running multiple protocols on the same port.
Made test methods public, so that they will work fine in JDK 11 and JPMS.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-17 00:53:44 +01:00
Simone Bordet
612a70b5be Issue #4518 - Add a mechanism that allows running multiple protocols on the same port.
Fixed tests after merge.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-16 22:17:13 +01:00
Simone Bordet
b73892ccfb Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-02-16 19:41:49 +01:00
Simone Bordet
9f7a82b128
Merge pull request #4519 from lorban/composable-conn-factories
Fixes #4518 -  Add a mechanism that allows running multiple protocols on the same port.
2020-02-16 19:25:04 +01:00
Simone Bordet
6f211d7a34 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-02-16 17:29:10 +01:00
Simone Bordet
7320b1de94
Merge pull request #4576 from eclipse/jetty-9.4.x-4575-stopping-reserved-threads
Fixes #4575 Stopping Reserved Thread
2020-02-16 17:25:15 +01:00
Greg Wilkins
652428ad70 Tests #4573 X-Forwarded ordering
Added tests for header ordering
fixed cut-and-paste error of _for to _host

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-16 11:04:34 +01:00
Greg Wilkins
ab5005b9f7 Fixes #4575 Stopping Reserved Thread
Fixes #4575 Stopping Reserved Thread by removing the `isRunning` check
from `reservedWait`.  The main run loop is also simplified to improve
`isRunning` checks before the thread is put on the stack.  Javadoc
improved to explain each step.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-16 09:43:31 +01:00
Joakim Erdfelt
3f3eaf2182
Issue #4567 - StdErrLog cleanup and final Arg Throwable support
Checkstyle fixes ...
+ Log.__loggers now Log.LOGGERS
+ Log.__props now Log.PROPS
+ StdErrLog.__tagpad now StdErrLog.THREADNAME_PADDING
+ StdErrLog.__source now StdErrLog.SOURCE
+ StdErrLog.__long now StdErrLog.LONG_CLASSNAMES
+ StdErrLog.__escape now StdErrLog.ESCAPE_CONTROL_CHARS
+ Removed redundant "public" modifier on Log interface methods

New code ...
+ New Log.getProperty(String key, String defaultValue)
  Used by JavaUtilLog, JettyLogHandler, and StdErrLog
+ New StdErrLog.getConfiguredLevel()
+ New StrErrLog.println(String) used to write StringBuilder
  to configured PrintStream

Removed code ...
+ Removed deprecated prop check in StdErrLog initialization

Cleanup and Corrected code ...
+ StdErrLog.setDebugEnabled(boolean) cleanup
+ StdErrLog._stderr is now used and is never null
+ Only one StdErrLog.format() method entry point
+ StdErrLog.format(StringBuilder, Throwable) now called .formatCause(StringBuilder, Throwable, String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-13 13:00:24 -06:00
Olivier Lamy
ebed3e5b38
Issue #4562 remove deprecated jetty-runner (#4563)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-13 11:13:20 +10:00
Lachlan
aaf6f17766
Merge pull request #4555 from eclipse/jetty-9.4.x-4537-WebSocketSpin
Issue #4537 - fix potential spin when discarding in WebSocketConnection
2020-02-13 09:14:06 +11:00
Chris Walker
3c9c506644
Removing 9.4.x references from documentation where appropriate. Resolves #3987 2020-02-12 12:44:49 -06:00
olivier lamy
d485c9e811 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-02-12 16:36:48 +10:00
Olivier Lamy
602e700e02
use pmd plugin 3.13.0 (#4566)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-12 16:30:56 +10:00
Joakim Erdfelt
a1c20b6cfa
Merge pull request #4558 from eclipse/jetty-10.0.x-3924-deprecate-resource-writeto
Issue #3924 - Remove Resource.writeTo(OutputStream, long, long)
2020-02-11 14:01:43 -06:00
Lachlan
636c6047ba
Merge pull request #4564 from SerCeMan/jetty-9.4.x
Improve performance of small websocket binary messages
2020-02-11 00:40:27 +11:00
Sergey Tselovalnikov
66f4bda2ea comments
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 21:02:36 +11:00
Sergey Tselovalnikov
d371c1498c Improve performance of small websocket messages
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 20:07:33 +11:00
Lachlan Roberts
20621b76fb Issue #4537 - fix potential spin when discarding in WebSocketConnection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-10 18:29:55 +11:00
olivier lamy
65a39b4454 we do not need javadoc neither sources jar for examples
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-10 11:04:18 +10:00
Olivier Lamy
abdb9f2ff6
Jetty 10.0.x methodhandles lookup linkage (#4552)
* use a lookup dedicated to the target class (webapp classloader) to avoid collision with server classloader

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

* cleanup war test dependencies

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

* remove empty lines

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

* make it clear it is a bad websocket webapp only for testing purpose and add a good websocket webapp

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

* no need anymore of this dependency

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-09 11:59:57 +10:00
Joakim Erdfelt
e363997432
Issue #3924 - Remove Resource.writeTo()
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-07 12:21:23 -06:00
Simone Bordet
8b1a669e65 Issue #2788 - Graceful close of HTTP/2 Connection.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-07 17:56:34 +01:00
Lachlan
e4c1984fd0
Merge pull request #4536 from eclipse/jetty-10.0.x-4447-websocketModules
Issue #4447 - separate modules for jetty and javax websockets
2020-02-07 16:15:27 +11:00
Lachlan Roberts
b3144dd401 Issue #4447 - update websocket-jetty module description
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-07 16:14:32 +11:00
Greg Wilkins
f50c2654b9 Fixes #4541 Large Headers
Added a HEADER_OVERFLOW result as per review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 21:17:58 +01:00
Greg Wilkins
2c8d405b83 Fixes #4550 XmlConfiguration named parameters
Do not match a missing varArgs executable is there is a matching method with no varArgs.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 18:55:42 +01:00
Simone Bordet
92d9d46f8e Fixes #2788 - Graceful close of HTTP/2 Connection.
Made HTTP2SessionContainer implement Graceful, so that it can be found
in the component hierarchy and can shutdown all sessions.
Modified HTTP2ServerSession to reject requests if already closed/shutdown.
Implemented shutdown in HTTP2Session.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-06 16:32:50 +01:00
Simone Bordet
8197c12325 Code cleanup.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-06 16:32:19 +01:00
Greg Wilkins
d27f4ee556 Fixes #4550 XmlConfiguration named parameters
Fixed #4550 named parameters with a moderate refactor.
The named parameter matching was duplicated, only considering number of args and not applied to call arguments.    This refactor puts all the behaviour in common methods and reorders the arguments to match parameters.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 14:11:58 +01:00
Simone Bordet
5f118a0941
Merge pull request #4543 from eclipse/jetty-10.0.x-3953-client_direct_heap_bytebuffers
Fixes #3953 - Client configuration for direct/heap ByteBuffers.
2020-02-06 10:44:21 +01:00
Ludovic Orban
386d9348ca Use contants for CR and LF fields index
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-06 10:06:33 +01:00
Greg Wilkins
1b59e42294 Issue #4541 Large response header
Fix #4541 by initially allocated a header buffer of `min(_config.getResponseHeaderSize(), _config.getOutputBufferSize())`
Only allocate a buffer of `getResponseHeaderSize` if an overflow results.

This should have no effect on the majority of responses where `getOutputBufferSize` is greater than `getResponseHeaderSize` other than the cost of a min operation.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-05 10:29:41 +01:00
Simone Bordet
4fbbaf8b8e Fixes #3953 - Client configuration for direct/heap ByteBuffers.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-05 09:49:44 +01:00
Lachlan
41a7b8d4e3
Merge pull request #4539 from eclipse/jetty-10.0.x-4501-SharedBlockingCallback
Issue #4501 - remove all SharedBlockingCallback usage from websocket
2020-02-05 10:07:12 +11:00