Commit Graph

2828 Commits

Author SHA1 Message Date
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
Joakim Erdfelt e3dd0cb83b 486511 - Server.getURI() returns wrong scheme on SSL/HTTPS 2016-01-25 13:23:41 -07:00
Joakim Erdfelt e0ce545ad7 Updating to version 9.3.8-SNAPSHOT 2016-01-15 17:15:14 -07:00
Joakim Erdfelt c0b191119b Updating to version 9.3.7.v20160115 2016-01-15 16:40:15 -07:00
Greg Wilkins d41c0bba65 471171 - Support SYNC_FLUSH in GzipHandler 2016-01-15 14:27:09 +11:00
Joakim Erdfelt 0a1b0b2bc6 485714 - Update SSL configuration to mitigate SLOTH vulnerability 2016-01-13 15:00:16 -07:00
Joakim Erdfelt 30308f2316 Javadoc updates 2016-01-13 07:25:15 -07:00
Greg Wilkins 35134e2d05 485376 unit test 2016-01-08 11:38:06 +11:00
Jan Bartel 913ef1a39a 485064 HashSessionManager leaks ScheduledExecutorScheduler with reference to un-deployed webapp 2016-01-06 11:22:18 +11:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00
Greg Wilkins 30557429cf 484801 Avoid non-cached memory mapped files 2015-12-24 15:13:46 +11:00
Greg Wilkins 3b49ed6d0a 484657 - Support HSTS rfc6797 2015-12-24 08:42:59 +11:00
Simone Bordet b7ab9e0a22 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Initial work to expose already existing attributes on the server.
2015-12-23 11:08:25 +01:00
Greg Wilkins 19d6e36ab9 484657 - Support HSTS rfc6797 2015-12-23 17:15:24 +11:00
Greg Wilkins f65a7db8c5 458745 Async ISE in async Echo
The HttpOutput class was throwing an ISE if it was dispatched when PENDING
or UNREADY.  However this can occur when it has been dispatched, but a prior call
to onDataAvailable() does output after calling isReady().

The HttpOutput now does not enforce that part of the state machine and defers to
the application correctly calling isReady()
2015-12-23 15:09:56 +11:00
Joakim Erdfelt 22f9c9826d Javadoc fixes 2015-12-19 12:46:52 -07:00
Greg Wilkins 5cd676581c 484622 - Improve handling of Direct and Mapped buffers for static content
ResourceHttpContent now applies a maxBufferSize that is passed through the call to getContent
ResourceCache now accounts for the exact memory usage of content, which may have an indirect
buffer plus either a direct or mapped buffer.  Thus content size may be 0, 1 or 2 times the
file size.

Some more limited unit tests
2015-12-18 12:36:27 +11:00
Joakim Erdfelt 343aa066ae Merge branch 'jetty-9.2.x' into jetty-9.3.x
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java
	jetty-http/src/main/java/org/eclipse/jetty/http/PathMap.java
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/WarPluginInfo.java
	jetty-rhttp/jetty-rhttp-gateway/src/main/java/org/eclipse/jetty/rhttp/gateway/Main.java
	jetty-security/src/main/java/org/eclipse/jetty/security/PropertyUserStore.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/CrossOriginFilter.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/CompressedResponseWrapper.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/GzipHandler.java
	jetty-util/src/main/java/org/eclipse/jetty/util/IncludeExclude.java
	jetty-util/src/main/java/org/eclipse/jetty/util/RegexSet.java
	jetty-util/src/test/java/org/eclipse/jetty/util/IncludeExcludeTest.java
	jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java
2015-12-16 12:56:13 -07:00
Greg Wilkins 3527c6a71b StringUtil.csvSplit(String)
Conflicts:
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
	jetty-security/src/main/java/org/eclipse/jetty/security/PropertyUserStore.java
	jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
	jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
	jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java
2015-12-08 14:54:33 -07:00
Greg Wilkins 6978eeb5c4 483422 - Empty chunked body in 304 Response
test harness only
2015-12-02 12:41:51 +11:00
Greg Wilkins a2c057892e 483039 - HTTP2 Upgrade case sensitivity on Connection header 2015-11-26 07:06:38 +11:00
Greg Wilkins 204591ce82 482855 - Content-Length omitted for POST requests with empty body
Removed HTTP 0.9 support
A few code simplifications
Fixed clients relying on Content-Length headers being ignored
2015-11-25 20:50:59 +11:00
Simone Bordet ce41b7124f 482506 - HTTP/2 load test with h2load fails.
Returning true if the upgrade succeeds to signal to the HttpParser to
stop parsing, leaving all the work and the buffer to the new connection.
2015-11-18 19:25:34 +01:00
Joakim Erdfelt 4e773c16e2 Merge branch 'release-9.3.6' into jetty-9.3.x 2015-11-18 11:24:04 -07:00
Greg Wilkins 12ec44894b 482272 Fixed relative symlink checking 2015-11-18 11:13:35 +11:00
Joakim Erdfelt edf686fe0a Updating to version 9.3.7-SNAPSHOT 2015-11-06 12:13:00 -07:00
Joakim Erdfelt d737e1c638 Updating to version 9.3.6.v20151106 2015-11-06 11:09:32 -07:00
Joakim Erdfelt ec8f8d3e4f Updating to version 9.2.15-SNAPSHOT 2015-11-06 11:06:48 -07:00
Joakim Erdfelt ecba378f5c Updating to version 9.2.14.v20151106 2015-11-06 10:32:14 -07:00
Greg Wilkins 4bb63b9e03 481355 Nested Symlinks 2015-11-06 13:54:47 +11:00
Greg Wilkins 56afc2b0e5 481554 DispatcherType reset race
Cherry pick of fa53b11850

Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
2015-11-06 10:38:08 +11:00
Joakim Erdfelt c8ec399af2 Merge branch 'jetty-9.2.x' into jetty-9.3.x 2015-11-05 10:34:30 -07:00
Joakim Erdfelt 486e890d5d 481236 - Make ShutdownMonitor java security manager friendly
+ Limit access to specific System properties
2015-11-05 10:33:25 -07:00
Greg Wilkins bd8f0b2dba 481418 ResourceHandler sets last modified 2015-11-05 08:52:03 +11:00
Greg Wilkins 8caef29126 481418 ResourceHandler sets last modified 2015-11-05 08:31:36 +11:00
Jan Bartel c63ef3e08b 481373 Corner cases where session may remain in JDBCSessionManager memory 2015-11-04 17:24:38 +11:00
Simone Bordet 58027a3421 481225 - Secondary resources with query parameters are not properly pushed.
Fixed by making PushCacheFilter remember the query parameters for
secondary resources, so that the PUSH_PROMISE frame can be correctly
generated with the query parameters.
2015-11-02 11:37:17 +01:00
Greg Wilkins c156f6593c 480162 - Continuations behavior differences due to HttpURI behavior
reverted 3e460dd219
added test clarifications
2015-10-21 15:18:12 +11:00
Joakim Erdfelt a01565fbc4 478757 - DebugHandler thread name is mangled
+ Removing scheme check, now that HttpURI is sane
2015-10-20 11:56:43 -07:00
Joakim Erdfelt 3e460dd219 480162 - Continuations behavior differences due to HttpURI behavior
+ When fixing URI.absolute with authority, default to scheme 'http'
  (allowing things like SecureRequestCustomizer to change it again
   to 'https')
2015-10-20 11:55:45 -07:00
Joakim Erdfelt 22573be353 Fixing format error on toString() 2015-10-20 11:28:19 -07:00
Joakim Erdfelt 8eda037de0 Merge branch 'jetty-9.3.x' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-9.3.x 2015-10-19 11:59:21 -07:00
Joakim Erdfelt 435ce8c3ab 478757 - DebugHandler thread name is mangled
+ Replicating reopened bug with double-scheme https
  in testcase
+ Adding safety check for https in thread name determination
2015-10-19 11:58:04 -07:00
Greg Wilkins 570c751ec8 479179 Fixed NPE from debug 2015-10-17 09:37:43 +11:00
Joakim Erdfelt 28daeb912d Merge branch 'release-9.3.5' into jetty-9.3.x 2015-10-13 09:07:50 -07:00
Joakim Erdfelt 29d63b41b1 Merge branch 'jetty-9.2.x' into jetty-9.3.x
Conflicts:
	jetty-server/src/test/java/org/eclipse/jetty/server/ServerConnectorHttpServerTest.java
2015-10-13 08:39:45 -07:00
Joakim Erdfelt b02783220e Renaming old 'SelectChannel*' test for new naming scheme 2015-10-13 08:10:16 -07:00
Joakim Erdfelt dde32787c4 Updating to version 9.3.6-SNAPSHOT 2015-10-12 15:47:37 -07:00
Joakim Erdfelt 29722bd880 Updating to version 9.3.5.v20151012 2015-10-12 15:10:39 -07:00
Joakim Erdfelt 2cce7510e1 Updating to 9.3.5-SNAPSHOT 2015-10-08 17:49:09 -07:00
Joakim Erdfelt 37296bec3c Updating to version 9.3.4.v20151007 2015-10-07 14:58:38 -07:00
Joakim Erdfelt f2e0a46058 478752 - Clarify support for HttpServletRequest.upgrade()
+ Indicating lack of upgrade() support with ServletException
2015-10-07 14:40:01 -07:00
Greg Wilkins 4d4ed7bbe2 478923 Add XML property for blockingTimeout 2015-10-06 09:14:19 +11:00
Joakim Erdfelt 5300f0c7f7 478757 - DebugHandler thread name is mangled
+ Added testcase, and fixed handler for threadname output.
2015-09-30 12:47:31 -07:00
Simone Bordet 90743d301a Improved toString().
Changes imported manually from branch 9.2.x.
2015-09-29 12:06:01 +02:00
Simone Bordet 1f2f62cff4 Revert "Merged branch 'jetty-9.2.x' into 'master'."
This reverts commit 701ca1aa26, reversing
changes made to 64ba5a6ef8.
2015-09-29 11:31:56 +02:00
Simone Bordet 9549b32ea6 Revert "Merged branch 'jetty-9.2.x' into 'master'."
This reverts commit db61fc2a47.
2015-09-29 11:31:03 +02:00
Simone Bordet db61fc2a47 Merged branch 'jetty-9.2.x' into 'master'. 2015-09-29 09:43:12 +02:00
Simone Bordet 701ca1aa26 Merged branch 'jetty-9.2.x' into 'master'. 2015-09-29 09:42:28 +02:00
Simone Bordet fd5c5b5779 Improved toString(). 2015-09-28 19:23:50 +02:00
Joakim Erdfelt 58203893b6 Fixing javadoc 2015-09-25 09:49:29 -07:00
Greg Wilkins 007ac4a9dd 478372 - JavaUtilLog setSourceClass and setSourceMethod
Added some additional features to configure the java.util.logging mechansim
2015-09-25 14:08:31 +10:00
Jan Bartel 06fbf447fb 478247 WebappClassLoader pinned after redeploy 2015-09-24 14:03:37 +10:00
Simone Bordet 460673f04b 477890 - Overwhelmed HTTP/2 server discards data.
HttpInput was using a bounded ArrayQueue with max capacity 64.
The queue was overflowing if there were more than 64 reads within the
flow control window capacity.

Fixed by replacing the ArrayQueue with ArrayDeque, which is unbounded.
2015-09-21 09:34:15 +02:00
Greg Wilkins 269ac1a44e 477737 Improve handling of etags with dynamic and static gzip
Fixed spin on --gzip etag
2015-09-18 14:54:07 +10:00
Greg Wilkins 67aee72bdd 477680 Encode merged query parameters 2015-09-18 13:19:00 +10:00
Greg Wilkins 99f4ed7352 477737 Improve handling of etags with dynamic and static gzip 2015-09-18 12:30:02 +10:00
Simone Bordet 014d021618 Removed unnecessary test condition. 2015-09-18 01:46:46 +02:00
Greg Wilkins 2d88fdf386 477278 Refactored DefaultServlet for cached Gzip & Etags
Refactored the DefaultServlet to better handle static gzipped files with etags in the cache.
Required a simplification of always having a HttpContent rather than the prior situation of
having either a Resource or a HttpContent.  So introduced a HttpContent.Factory, of which
the ResourceCache is the normal implementation, but there is also now a ResourceContentFactory
that creates content when there is no cache.

The Gzip resource is now associated with the normal resource, so less lookups are needed.
This also give scope for caching dynamic gzipping in the future.

The GzipHttpContent class has been introduced to send content with the headers of the
uncompress, but content of the compressed resource.
2015-09-17 18:19:58 +10:00
Jan Bartel 03a601f2b2 477385 Make jetty osgi manifests only resolve jetty packages against a single distro version 2015-09-16 19:13:47 +10:00
Greg Wilkins 02c5ea30be 477123 - AsyncListener callbacks need context scope
Also added DebugListener and deprecated DebugHandler
2015-09-11 12:06:23 +10:00
Joakim Erdfelt 49c927974b Javadoc fix 2015-09-02 09:26:12 -07:00
Jesse McConnell 6409366499 [maven-release-plugin] prepare for next development iteration 2015-08-27 10:11:29 -05:00
Jesse McConnell 3086adc965 [maven-release-plugin] prepare release jetty-9.3.3.v20150827 2015-08-27 10:11:21 -05:00
Jesse McConnell f5d1fb1058 Merge branch 'master' into release-9.3.3 2015-08-27 08:31:22 -05:00
Simone Bordet bee5437bad 475927 - SecureRequestCustomizer fails to match host.
Cosmetic changes during review.
2015-08-27 11:14:33 +02:00
Greg Wilkins 8070ce61f3 475927 - SecureRequestCustomizer fails to match host.
Moved host and wildcard to new X509 class
2015-08-27 12:25:52 +10:00
Simone Bordet 7057dae67b 475927 - SecureRequestCustomizer fails to match host.
Fixed by storing in the SSLSession the SNI names correspondent to the
alias that was selected when the TLS connection was initiated.
2015-08-26 20:36:43 +02:00
Simone Bordet 874300472e Do not hardcode the "http" scheme, but use that of the request. 2015-08-26 11:58:18 +02:00
Jesse McConnell f8734f23ce [maven-release-plugin] prepare for next development iteration 2015-08-25 14:10:01 -05:00
Jesse McConnell e9edf4c24b [maven-release-plugin] prepare release jetty-9.3.3.v20150825 2015-08-25 14:09:54 -05:00
Simone Bordet bfeb7f56a6 Closing the connection also in case the parser is in CLOSED state.
When the request is fully read and the response is sent, the parser
may enter the CLOSE state if there were Connection: close headers.

It may happen that later the connection reads -1, then moves the
parser is CLOSED state, so the condition to close the connection must
include the CLOSED state.
2015-08-20 18:23:55 +02:00
Greg Wilkins d44ba7e24a Improved Context pluggability 2015-08-19 16:28:36 +10:00
Greg Wilkins 2cc663685a ContextHandler.ContextScopeListener
Added a listener that is called as any thread enters/exits a context/request scope. This is
both normal servlet dispatches and async callbacks.
2015-08-19 15:30:52 +10:00
Greg Wilkins afda638dd9 474685 - GzipHandler configuration supports csv paths and mimetypes.
readded for backward compatibility, but with a warning it will be removed.
2015-08-19 09:39:38 +10:00
Simone Bordet 805ec9554c 475195 - SNI matching fails when keystore does not contain wild certificates.
Fixed condition in SslContextFactory.getKeyManagers() that installs
the SniX509ExtendedKeyManager.

Miscellaneous code cleanups.
2015-08-17 20:55:20 +02:00
Simone Bordet b96f2f5b24 474634 - AsyncListener.onError() handling.
Simplified exception handling, making sure that we terminate the
handling even in case the state was COMPLETING but the container
could not write the response.
2015-08-14 14:48:51 -07:00
Simone Bordet b819273c7b 474634 - AsyncListener.onError() handling.
Refactored continuation tests.
2015-08-14 14:48:51 -07:00
Greg Wilkins 946b1476f8 474634 - AsyncListener.onError() handling.
reverted onComplete behaviour
2015-08-14 12:24:06 +10:00
Greg Wilkins d780839bec 474634 - AsyncListener.onError() handling.
Added HttpConfiguration.maxErrorDispatches to detect error loops
Fixed ManyWays... unit test to handle error dispatch.
2015-08-14 10:06:57 +10:00
Greg Wilkins 9b9b9524dc 474634 - AsyncListener.onError() handling.
Allow IOException from complete flush to goto an onError call.
2015-08-13 19:09:57 +10:00
Greg Wilkins 8c0e4f53d3 474634 - AsyncListener.onError() handling.
Fixed AsyncContextTests
2015-08-13 18:12:38 +10:00
Greg Wilkins f21ea15725 474634 - AsyncListener.onError() handling.
Handle errors thrown from dispatch when async is started with onError
2015-08-13 18:06:14 +10:00
Greg Wilkins d1aa9ce993 474634 - AsyncListener.onError() handling.
Removed special termination case handling. Unhandle can be avoided with a break loop.
Replaced actions COMPLETING and COMPLETED with COMPLETE (which is an action)

Refactored test harness to use a static history array rather than headers
2015-08-13 16:22:02 +10:00
Simone Bordet 79086f3fe3 474634 - AsyncListener.onError() handling.
Interim work on getting the right behavior for onError().
2015-08-13 01:33:28 +02:00