Commit Graph

2923 Commits

Author SHA1 Message Date
Simone Bordet c6aafecceb Code cleanups. 2016-05-25 00:47:58 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet f95daca8b4 Code cleanups. 2016-05-24 11:15:18 +02:00
Greg Wilkins d73bf08515 cleaned up constructors 2016-05-20 15:53:46 +10:00
Simone Bordet faec7259b2 Fixed dispatch to application in case of empty chunked body. 2016-05-20 01:12:24 +02:00
Simone Bordet aed6bb6d6a Code cleanups. 2016-05-20 01:12:24 +02:00
Jesse McConnell 4bf91b5ab3 Merge remote-tracking branch 'origin/release-9.3.9' into jetty-9.3.x 2016-05-19 09:55:58 -05:00
Simone Bordet ff1bfa599f Issue #354 (Spin loop in case of exception thrown during accept()).
Improved the solution by sleeping only if we are still accepting.
This avoids the sleep when the connector is stopping, speeding up tests.
2016-05-19 11:48:51 +02:00
Greg Wilkins 79e5c31029 improved unit test, fixed deferred on chunking 2016-05-19 17:46:50 +10:00
Greg Wilkins cdd73eb4da improved javadoc 2016-05-19 11:27:09 +10:00
Jesse McConnell dc4574f380 [maven-release-plugin] prepare for next development iteration 2016-05-17 17:30:17 -05:00
Jesse McConnell 0bbebec1e0 [maven-release-plugin] prepare release jetty-9.3.9.v20160517 2016-05-17 17:30:13 -05:00
Simone Bordet 55e5f74889 Fixes #558 - HTTP/2 server hangs when thread pool is low on threads.
Fixed test that was broken after changes for #557.
2016-05-16 15:40:35 +02:00
Joakim Erdfelt 97af3d663f Fixes #556 - Improve Resource.getAlias() checks on Windows
+ Reworks PathResource and FileResource alias checking to
  use originally passed paths, before Windows JVM has a
  chance to normalize and "correct" the bad paths.
2016-05-13 11:57:23 -07:00
Greg Wilkins 298a340851 Issue #558
The testEPCExitsLowThreadsMode has been broken, so ignored for now
2016-05-12 13:26:14 +10:00
Simone Bordet 9b6d42317b Improved logging. 2016-05-11 13:05:16 +02:00
Greg Wilkins bdafea3e96 Issue #561 Fixed test timer 2016-05-11 09:24:02 +10:00
Simone Bordet caa45283c7 Fixes #547 (ExecuteProduceConsume (EWYK) does not exit low threads mode)
Exposed getters/setters for ExecutionStrategy.Factory in
ServerConnector and SelectorManager, to allow explicit configuration
and testing.

Added test to verify that EPC exits low threads mode.
2016-05-06 17:10:46 +02:00
Simone Bordet 8bb6d4d7dc Code cleanups. 2016-05-06 17:10:46 +02:00
Greg Wilkins 2a5b120fc3 Issue #525 fix blockForContent spin
abort request in bad request handling
2016-05-06 20:31:55 +10:00
Greg Wilkins 6591137ba0 Issue #547 EWYK leaves low resource mode
Directly implement PEC in EPC low resource mode
2016-05-05 11:22:37 +10:00
Simone Bordet 49a19abd71 Fixes #521 (Separate usage of the Server and the ServerConnector Executors)
Found another couple of places where we should use the Server Executor.
2016-05-04 11:28:13 +02:00
Greg Wilkins a9a21daa8e Merge branch 'jetty-9.3.x' of github.com:eclipse/jetty.project into jetty-9.3.x 2016-05-04 09:15:13 +10:00
Greg Wilkins e783777d1c Issue #519 Disable SSL session caching
Made caching parameters configurable
2016-05-04 09:14:35 +10:00
Joakim Erdfelt ff1ca8d993 Limiting versions that trigger !STABLE warning
+ Only RC# and M# trigger warning now.
+ Warning includes URL for where to download stable version.
2016-05-02 09:50:05 -07:00
Greg Wilkins 5f7a32e30e warning if not stable release 2016-04-28 08:15:06 +10:00
Greg Wilkins 695b63fc78 Issue #525 Looping on malformed request
Improved onBadMessage handling so that it better handles ISE thrown when a bad message is detected while dispatched to the servlet.
2016-04-27 18:57:15 +10:00
Greg Wilkins 367a807592 Issue #521 Separate executors for server and connector
HttpChannel uses the server executor
LowResourceMonitor checks both server and connector executors.
2016-04-23 10:50:05 +10:00
Joakim Erdfelt 6fb338e50d Updating to version 9.3.9-SNAPSHOT 2016-04-11 16:20:50 -07:00
Joakim Erdfelt bb4f3c4882 Updating to version 9.3.9.M1 2016-04-11 15:35:22 -07:00
Greg Wilkins 4b94aa2c97 Issue #491 Do not assume gzip acceptable for HTTP/2
Removed the HTTP/2 specific code for #491
2016-04-07 11:39:34 +10:00
Greg Wilkins 815764c279 Issue #472 Use LongAdder for statistics
Improved JMX context names
2016-04-05 12:53:19 +10:00
Greg Wilkins bbb7f2188c Merge branch 'jetty-9.3.x' into issue-472 2016-04-05 12:24:25 +10:00
Greg Wilkins b087e6db28 Issue #467 Compact // rule
Improved the rewrite classes and modules to make it easier to compact // withing a URL.
This can now be done with --module=rewrite,rewrite-compactpath
2016-04-05 12:13:29 +10:00
Greg Wilkins 91bef55924 Issue #472 Use LongAdder for statistics
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2016-04-01 17:22:45 +11:00
Greg Wilkins 08b528e960 Issue #470 AsyncContextState NPE if called after reset
Added a NOT_ASYNC state to the enum to avoid the null value.
2016-03-31 18:23:18 +11:00
Greg Wilkins c768828703 Issue #458 Improve Quality list handling
Added QuotedCSV and QuotedQualityCSV that are up to date with RFC7230
2016-03-30 19:07:11 +11:00
Greg Wilkins d341b0e1d6 Merge branch 'jetty-9.3.x' into jetty-9.3.x-issue-448 2016-03-24 11:38:46 +11:00
Greg Wilkins 8b228073e3 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Efficiency improvements
2016-03-24 11:37:39 +11:00
Jan Bartel ede4c3a711 Issue #435 adjust debug log message 2016-03-24 10:55:52 +11:00
Jan Bartel 1c07172635 Issue #453 Change logging of setting session maxInactiveInterval to DEBUG from WARN 2016-03-24 10:03:39 +11:00
Greg Wilkins 4ae077f2b6 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Improved compliance level reporting
Improved method names to make code read better
2016-03-23 14:42:05 +11:00
Greg Wilkins 7f96db72c4 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Empty value is not a compliance issue
removed debug
moved violation handling to end of header rather than end of message
2016-03-23 13:13:16 +11:00
Joakim Erdfelt 7be58f9730 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
+ added Optional behavior to record violations in a Request attribute
+ added servlet testcase showing this violation recording abillity
+ currently the recorded violation doesn't report the correct compliance mode that it violates
+ there is still a problem with a quoted empty string value from Issue #451
2016-03-22 12:20:19 -07:00
Greg Wilkins 9352d91d48 Issue #448 Log Compliance violations
Added a ComplianceHandler to HttpParsere to log compliance violations for #448
Am cautious that this may have a performance impact.
2016-03-22 13:58:50 +11:00
Greg Wilkins df9de50f96 Issue #434 RequestTest stack traces
Added reset to ShutdownMonitor
2016-03-17 10:34:53 +11:00
Joakim Erdfelt 13fde643ed Merge branch 'release-9.3.8' into jetty-9.3.x 2016-03-16 10:03:29 -07:00
Greg Wilkins 1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Jan Bartel 6261150167 Add info to IllegalStateException on check for invalid session 2016-03-16 11:45:19 +11:00
Simone Bordet 26f8deddf7 Introduced Callback.Nested.
Refactored code that was using nested callbacks and removed
unnecessary overrides now that we have default methods.
2016-03-15 15:24:44 +01:00
Joakim Erdfelt c68d3b1d8d Updating to version 9.3.9-SNAPSHOT 2016-03-14 09:07:52 -07:00
Joakim Erdfelt 1f3b3f31f4 Updating to version 9.3.8.v20160314 2016-03-14 08:30:20 -07:00
Simone Bordet 0b82129cd8 Issue #423 (Duplicate Content-Length header not handled correctly)
Refactored tests into existing test class.
2016-03-12 00:27:48 +01:00
Simone Bordet 5f2e2820f4 Issue #423 (Duplicate Content-Length header not handled correctly)
Fixed as required by the spec, rejecting the request.
2016-03-11 22:49:24 +01:00
Jan Bartel d82b5ad65a Issue #411 Add more debug log for mongosessionmanager and remove debug printlns 2016-03-11 15:12:07 +11:00
Simone Bordet c0bc218202 Improved log formatting. 2016-03-10 16:10:45 +01:00
Jan Bartel ead37b1b57 Issue #411 MongoSessionManager does not save maxInactiveInterval and expiry correctly
Issue #415 Setting big session-timeout can overflow MAXINT
2016-03-10 18:52:34 +11:00
Greg Wilkins 4c99beeaba Issue #413 HotSwapHandler null handlers
Fixed #413
2016-03-10 12:21:06 +11:00
Greg Wilkins 53f187571d Added Test for ServletContextListener exceptions
See https://java.net/jira/browse/SERVLET_SPEC-152
2016-03-10 11:29:54 +11:00
Joakim Erdfelt 63f9224009 Merge branch 'jetty-9.3.x' of github.com:eclipse/jetty.project into jetty-9.3.x 2016-03-08 14:32:13 -07:00
Joakim Erdfelt 862ec6f848 Merge branch 'jetty-9.2.x' into jetty-9.3.x 2016-03-08 14:32:04 -07:00
Joakim Erdfelt 195a02fdaa Issue #85 - Expose TLS protocol used for connection in SecureRequestCustomizer 2016-03-08 14:27:38 -07:00
Simone Bordet 710949dbb7 Issue #406 (GzipHandler: allow to override the Vary response header)
Added an overridable getVaryField() method that, if returns null,
disables the send of the Vary header.
2016-03-08 22:05:10 +01:00
Simone Bordet 87f011d98b Issue #402 (Don't use Thread.isAlive() in ShutdownMonitor).
Refactored completely ShutdownMonitor, fixing synchronization, race
conditions, cleaning up code, deleting unnecessary code, etc.
2016-03-08 14:29:49 +01:00
Simone Bordet 6ac2c4a701 Code cleanups. 2016-03-08 12:46:10 +01:00
Greg Wilkins 10bd934476 Issue #346 HttpParser RFC2616 Compliance mode
Empty header values returned as "" in all compliance modes
2016-03-05 14:26:47 +01:00
Joakim Erdfelt 0f0eb569e9 Issue #124 - Don't produce text/html if the request doesn't accept it
+ Using cleaner HttpFields access to 'Accept' header

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-03-04 11:28:34 -07:00
Joakim Erdfelt a7be6bc8ea Issue #124 - Don't produce text/html if the request doesn't accept it
+ If request has no 'Accept' header, produce text/html as before.
+ If request has 'Accept' header, then test for 'text/html' or '*/*'
  entries before producing html output.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-03-02 17:16:14 -07:00
Joakim Erdfelt b357521899 Issue #107 - ResourceHandler range support testcase 2016-03-02 16:48:05 -07:00
Joakim Erdfelt 4e426e9be3 Merge branch 'jetty-9.3.x' of github.com:eclipse/jetty.project into jetty-9.3.x 2016-03-02 09:07:33 -07:00
Joakim Erdfelt 1b310c84b0 Issue #247 improving invalid buffer manipulation exception messages 2016-03-02 09:06:21 -07:00
Greg Wilkins 3963309f62 Issue #379 Insufficient information on asyncNotSupported
Converted the boolean for asyncSupported to a String holding the source
of the async not supported.
2016-03-02 14:09:15 +01:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +01:00
Jesse McConnell c74b0c23e9 Issue #367 Resolve remaining git.eclipse.org build references 2016-02-26 08:11:27 -07:00
Jesse McConnell b08f177d47 Issue #367 Resolve remaining git.eclipse.org build references 2016-02-26 08:09:12 -07:00
Jesse McConnell ce5a3b11d6 Issue #367 Resolve remaining git.eclipse.org build references 2016-02-26 08:03:33 -06:00
Simone Bordet 83baed0bfe Reformatted code. 2016-02-24 15:06:08 +01:00
Greg Wilkins 7b6c1af4a7 Removed extra ByteBuffer duplicate 2016-02-24 13:47:35 +01:00
Greg Wilkins 1eeecdaee5 Issue #355 Improve close behaviour
Inverted the logic of the handling of exceptions thrown in CommitCallback.
Now only if a BadMessageException is throw do we attempt to write a 500 response.
All other exceptions just abort the connection
2016-02-24 13:36:06 +01:00
Greg Wilkins 3c671aa8b6 Issue #346 HttpParser RFC2616 Compliance mode
Reimplmented HTTP/0.9 support in RFC2616 compliance mode
2016-02-23 17:33:53 +01:00
Simone Bordet 76689dd303 Issue #354 (Spin loop in case of exception thrown during accept()).
Fixed by introducing an overridable method that performs an arbitrary
sleep to avoid the spin loop. Subclasses may customize.
2016-02-23 11:37:08 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Joakim Erdfelt 4a6602d007 Issue #342 - Reintroducing Request to logExtended
+ the old/bad AbstractNCSARequestLog.logExtended is now
  deprecated
+ the corrected logExtended is the appropriate one to use
2016-02-18 11:31:55 -07:00
Greg Wilkins 8068aeead9 Fixed unit test race
Test was assuming that receiving completed response on client
always happened before server processing had completed.
Added a spin test.
2016-02-17 11:11:52 +01:00
Jan Bartel 11d3448e28 Issue #81 Exception not always thrown in Jetty to application when upload part is too big
Issue #82 Request.getPart() that results in Exception still allows other parts to be fetched
2016-02-16 17:43:56 +01:00
Jan Bartel f10f32c080 478918 Change javax.servlet.error,forward,include literals to RequestDispatcher constants 2016-02-16 10:48:20 +01:00
Greg Wilkins fd5b3a8062 487714 - Avoid NPE in close race for async write
The race has not been solved, as with lock-free style it is difficult to prevent a
close racing with a write in progress. Instead, the code has been made more
resiliant to such state changes and exceptions thrown are converted to IOExceptions.
2016-02-16 10:06:25 +01:00
Simone Bordet 26b6c848f3 Issue #80 (Spin loop in case of HTTP/2 prefaces without H2C).
Fixed by changing the state of the parser before calling the parser
handler callbacks, and by closing the parser if the upgrade to HTTP/2
is not successful.
2016-02-15 20:50:22 +01:00
Greg Wilkins 6a9002991a Issue #79 Parse HTTP request target starting with //
Added a new parseRequestTarget method
2016-02-15 19:40:10 +01:00
annorax 5167c52ab0 Add missing property configuration to jetty.xml
Signed-off-by: Ido <ido.dovrat@gmail.com>
2016-02-13 07:32:42 -07:00
Joakim Erdfelt f98dde5e5b Updating to version 9.2.16-SNAPSHOT 2016-02-10 15:36:41 -07:00
Joakim Erdfelt 9b6890d3c1 Updating to version 9.2.15.v20160210 2016-02-10 14:49:12 -07:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Greg Wilkins 7b5d12b338 Added HttpInput prepend content
Allows content to be reread
2016-02-05 14:54:39 +01:00
Greg Wilkins 90efbe62c8 487277 - Introduce http-forwarded module for X-Forwarded support 2016-02-04 11:58:23 -07:00
Jan Bartel 980ab316ca 487198 ContextScopeListener should be called on context start and stop 2016-02-04 10:45:33 +01:00
Greg Wilkins 6c9a444b6c 486530 - Handler added to WebAppContext prevents ServletContext initialization
Added warnings for loops and inappropriate handlers.
Used insertHandler in more XML files
2016-02-03 10:54:39 +01:00
Joakim Erdfelt 79a7863ac8 486877 - Google Chrome flagging 'obsolete cipher suite' in Jetty and will soon issue broken padlock
+ Rely on SslContextFactory defaults for Includes/Excludes of Cipher
  Suites
+ Reference documentation for advice on setting up custom includes
  and excludes
2016-02-02 12:48:17 -07:00
Joakim Erdfelt 1aef09acc2 486604 - Add debug logging of ErrorPageErrorHandler logic 2016-01-27 11:55:00 -07:00