Merge remote-tracking branch 'origin/jetty-9.2.x'

This commit is contained in:
Greg Wilkins 2015-01-23 14:58:39 +01:00
commit 8c2e82c1b6
2 changed files with 61 additions and 10 deletions

View File

@ -217,6 +217,24 @@ jetty-9.2.3.v20140905 - 05 September 2014
+ 443262 Distinguish situation where jetty looks for tlds in META-INF but
finds none vs does not look
jetty-8.1.16.v20140903 - 03 September 2014
+ 409788 Large POST body causes java.lang.IllegalStateException: SENDING =>
HEADERS.
+ 433689 Evict idle HttpDestinations from client
+ 433802 check EOF in send1xx
+ 438996 Scavenger-Timer in HashSessionManager can die because of
IllegalStateException from getMaxInactiveInterval
+ 442048 fixed sendRedirect %2F encoding
+ 442839 highly fragmented websocket messages can result in corrupt binary
messages
jetty-7.6.16.v20140903 - 03 September 2014
+ 409788 Large POST body causes java.lang.IllegalStateException: SENDING =>
HEADERS.
+ 433802 check EOF in send1xx
+ 442839 highly fragmented websocket messages can result in corrupt binary
messages
jetty-9.2.2.v20140723 - 23 July 2014
+ 411323 DosFilter/QoSFilter should use AsyncContext rather than
Continuations.
@ -388,6 +406,31 @@ jetty-9.2.0.M1 - 08 May 2014
+ 434077 AnnotatedServerEndpointTest emits strange exception
+ 434247 Redirect loop in FastCGI proxying for HTTPS sites.
jetty-8.1.15.v20140411 - 11 April 2014
+ 397167 Remote Access documentation is wrong
+ 419799 complete after exceptions thrown from async error pages
+ 420776 complete error pages after startAsync
+ 421197 fix method comment and ensure close synchronized
+ 422137 Added maxQueued to QueuedThreadPool MBean
+ 424180 improve bad message errors
+ 425038 WebSocketClient leaks file handles when exceptions are thrown from
open()
+ 425551 Memory Leak in SelectConnector$ConnectTimeout.expired.
+ 426658 backport Bug 425930 to jetty-8
+ 427761 allow endpoints to be interrupted
+ 428708 JDBCSessionIdManager when clearing expired sessions failed, jetty
should still be able to startup
+ 428710 JDBCSession(Id)Manager use 'read committed isolation level'
+ 430968 Use wrapped response with async dispatch
+ 432452 ConnectHandler does not timeout sockets in FIN_WAIT2.
jetty-7.6.15.v20140411 - 11 April 2014
+ 422137 Added maxQueued to QueuedThreadPool MBean
+ 425038 WebSocketClient leaks file handles when exceptions are thrown from
open()
+ 425551 Memory Leak in SelectConnector$ConnectTimeout.expired.
+ 432452 ConnectHandler does not timeout sockets in FIN_WAIT2.
jetty-9.2.0.M0 - 09 April 2014
+ 419801 Upgrade to asm5 for jdk8
+ 423392 Fix buffer overflow in AsyncGzipFilter

View File

@ -746,10 +746,27 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
protected void prepare (Request baseRequest, ServletRequest request, ServletResponse response)
throws ServletException, UnavailableException
{
ensureInstance();
MultipartConfigElement mpce = ((Registration)getRegistration()).getMultipartConfig();
if (mpce != null)
baseRequest.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, mpce);
}
public synchronized Servlet ensureInstance()
throws ServletException, UnavailableException
{
if (_class==null)
throw new UnavailableException("Servlet Not Initialized");
Servlet servlet=_servlet;
if (!isStarted())
throw new UnavailableException("Servlet not initialized", -1);
if (_unavailable!=0 || (!_initOnStartup && servlet==null))
servlet=getServlet();
if (servlet==null)
throw new UnavailableException("Could not instantiate "+_class);
return servlet;
}
/* ------------------------------------------------------------ */
/** Service a request with this servlet.
@ -770,16 +787,7 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
if (_class==null)
throw new UnavailableException("Servlet Not Initialized");
Servlet servlet=_servlet;
synchronized(this)
{
if (!isStarted())
throw new UnavailableException("Servlet not initialized", -1);
if (_unavailable!=0 || (!_initOnStartup && servlet==null))
servlet=getServlet();
if (servlet==null)
throw new UnavailableException("Could not instantiate "+_class);
}
Servlet servlet = ensureInstance();
// Service the request
boolean servlet_error=true;