From c3a78e70a8745fcc1d83bee46cca89e03267632a Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 14 Oct 2016 10:39:37 -0700 Subject: [PATCH 001/109] Updating to version 9.3.13.v20161014 --- VERSION.txt | 9126 ++++++++++++----- aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- .../pom.xml | 2 +- .../jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- .../http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- jetty-monitor/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- .../javax-websocket-client-impl/pom.xml | 2 +- .../javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- .../test-gcloud-memcached-sessions/pom.xml | 2 +- .../test-gcloud-sessions/pom.xml | 2 +- .../test-sessions/test-hash-sessions/pom.xml | 2 +- .../test-infinispan-sessions/pom.xml | 2 +- .../test-sessions/test-jdbc-sessions/pom.xml | 2 +- .../test-mongodb-sessions/pom.xml | 2 +- .../test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- .../test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-container-initializer/pom.xml | 2 +- .../test-spec-webapp/pom.xml | 2 +- .../test-web-fragment/pom.xml | 2 +- .../test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 113 files changed, 6618 insertions(+), 2732 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index e7716986eb9..9b07018cc7c 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,4 +1,9 @@ -jetty-9.3.13-SNAPSHOT +jetty-9.3.13.v20161014 - 14 October 2016 + + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid + memory leak + + 926 No LSB Tags on jetty.sh script cause warning on Ubuntu 16.04 + + 999 Create a Flight Recorder module + + 1000 Allow legacy behaviour if 2 servlets map to same path jetty-9.3.13.M0 - 30 September 2016 + 277 Proxy servlet does not handle HTTP status 100 correctly @@ -10,7 +15,7 @@ jetty-9.3.13.M0 - 30 September 2016 + 948 9.4.0.RC0 jetty-distribution invalid config etc/jetty-http2c.xml + 955 Response listeners not invoked when using Connection.send() + 959 CompleteListener invoked twice for HTTP/2 transport and response content - + 960 Async I/O spin when reading early EOF + + 960 Async I/O spin when reading early EOF + 965 Link from High Load docs to Garbage Collection Tuning is broken + 966 Remove usages of ConcurrentArrayQueue @@ -27,7 +32,7 @@ jetty-9.3.12.v20160915 - 15 September 2016 + 784 JSP Session updated before sendRedirect() lose their information + 786 Buffering Response Handler + 790 AsyncContentListener semantic broken with HTTP/2 transport - + 792 [HTTP/2] Socket seems to be not closed completely + + 792 HTTP/2] Socket seems to be not closed completely + 797 MimeTypes resource loading incorrect on OSGi + 798 async IO Write closed race + 804 setting default Url Encoding broken in Jetty >= 9.3 @@ -40,7 +45,7 @@ jetty-9.3.12.v20160915 - 15 September 2016 + 832 ServerWithJNDI example uses wrong webapp + 841 support reset in buffering interceptors + 844 Implement a Thread Limit Handler - + 845 Improve blocking IO for data rate limiting. + + 845 Improve blocking IO for data rate limiting + 851 MBeanContainer no longer unregisters MBeans when "stopped" + 854 If container.destroy() is called, calling container.start() again should throw an IllegalStateException @@ -150,7 +155,7 @@ jetty-9.3.11.M0 - 22 June 2016 + 661 JsrExtension is missing hashCode() and equals() jetty-9.3.10.v20160621 - 21 June 2016 - + 388 Add methods to send text frames with pre-encoded strings. + + 388 Add methods to send text frames with pre-encoded strings + 605 Guard concurrent calls to WebSocketSession.close() + 608 reset encoding set from content type? + 609 websocket ClientCloseTest testServerNoCloseHandshake is failing @@ -160,7 +165,7 @@ jetty-9.3.10.v20160621 - 21 June 2016 session.maxInactiveInterval + 623 Add --gzip suffix to 304 responses with ETAGs + 624 AsyncContext.onCompleted called twice - + 628 IOException: Unable to open root Jar file ... + + 628 IOException: Unable to open root Jar file . MetaInfConfiguration.getTlds(MetaInfConfiguration.java:406) with Spring boot loader + WebAppContext + non-expanded war + 632 JMX tests rely on fixed port @@ -225,7 +230,7 @@ jetty-9.2.16.v20160414 - 14 April 2016 + 365 Potential connection leakage in case of aborted request + 367 Build downloads from git.eclipse.org + 371 jasper dependencies are outdated in 9.2.x - + 377 HttpClient - No supported cipher suites leads to stuck requests. + + 377 HttpClient - No supported cipher suites leads to stuck requests + 418 Javax websocket server impl does not expose all required services as OSGi capabilities + 424 Jetty impl. of Websocket ServerEndpointConfig.Configurator lifecycle out @@ -262,7 +267,7 @@ jetty-9.3.9.M1 - 11 April 2016 failure listener + 451 RFC2616 Compliance mode should support empty headers + 453 Change logging of setting session maxInactiveInterval to DEBUG from WARN - + 454 DoSFilter does not send an error status code when closing a connection, + + 454 DoSFilter does not send an error status code when closing a connection because of timeout + 458 Improve Quality list handling + 467 Compact // rule @@ -2937,9 +2942,14 @@ jetty-7.6.10.v20130312 - 12 March 2013 reason string jetty-9.0.0.RC2 - 24 February 2013 - + Fix etc/jetty.xml TimerScheduler typo that is preventing normal startup - + Fix etc/jetty-https.xml ExcludeCipherSuites typo that prevents SSL startup - + Fix websocket memory use + + fix etc/jetty.xml timerscheduler typo that is preventing normal startu fix + etc/jetty.xml timerscheduler typo that is preventing normal startu Fix + etc/jetty.xml TimerScheduler typo that is preventing normal startup + + fix etc/jetty-https.xml excludeciphersuites typo that prevents ssl sta fix + etc/jetty-https.xml excludeciphersuites typo that prevents ssl sta Fix + etc/jetty-https.xml ExcludeCipherSuites typo that prevents SSL startup + + fix websocket memory use fix websocket memory use fix websocket memory use + Fix websocket memory use jetty-9.0.0.RC1 - 22 February 2013 + 227244 Remove import of backport-util-concurrent Arrays class @@ -3409,11 +3419,13 @@ jetty-9.0.0.M0 - 21 September 2012 jetty-8.1.7.v20120910 - 10 September 2012 + 388895 Update dependencies for jetty-jndi - + fix busy logging statement re: sessions + + fix busy logging statement re: sessions fix busy logging statement re: fix + busy logging statement re: sessions fix busy logging statement re: sessions jetty-7.6.7.v20120910 - 10 September 2012 + 388895 Update dependencies for jetty-jndi - + fix busy logging statement re: sessions + + fix busy logging statement re: sessions fix busy logging statement re: fix + busy logging statement re: sessions fix busy logging statement re: sessions jetty-8.1.6.v20120903 - 03 September 2012 + 347130 Empty getResourcePaths due to ZipFileClosedException @@ -3697,7 +3709,7 @@ jetty-8.1.2.v20120308 - 08 March 2012 + 373603 NullPointer in WebServletAnnotation + JETTY-1409 GzipFilter will double-compress application/x-gzip content + JETTY-1489 WebAppProvider attempts to deploy .svn folder - + JETTY-1494 + + jetty-1494 JETTY-1494 jetty-7.6.2.v20120308 - 08 March 2012 + 370387 SafariWebsocketDraft0Test failure during build @@ -3718,7 +3730,7 @@ jetty-7.6.2.v20120308 - 08 March 2012 validating turned on fixed + JETTY-1409 GzipFilter will double-compress application/x-gzip content + JETTY-1489 WebAppProvider attempts to deploy .svn folder - + JETTY-1494 + + jetty-1494 JETTY-1494 jetty-8.1.1.v20120215 - 15 February 2012 + 369121 simplified test @@ -4012,7 +4024,9 @@ jetty-7.6.0.RC0 - 29 November 2011 result in close rather than a shutdown output. + 364657 Support HTTP only cookies from standard API + JETTY-1442 add _hostHeader setter for ProxyRule - + Refactored NIO layer for better half close handling + + refactored nio layer for better half close handling refactored nio lay + refactored nio layer for better half close handling Refactored NIO layer for + better half close handling jetty-8.0.4.v20111024 - 24 October 2011 + 358263 JDBCSessionIdManager add setDatasource(DataSource) method @@ -4223,15 +4237,18 @@ jetty-7.5.0.RC1 - 19 August 2011 jetty-8.0.0.RC0 - 16 August 2011 + 352565 cookie httponly flag ignored + 353285 ServletSecurity annotation ignored - + Enable annotations by default - + Merge from jetty-7.4.3 + + enable annotations by default enable annotations by default enable + annotations by default Enable annotations by default + + merge from jetty-7.4.3 merge from jetty-7.4.3 merge from jetty-7.4.3 Merge + from jetty-7.4.3 jetty-8.0.0.M3 - 27 May 2011 + 324505 Implement API login + 335500 request.getParts() throws a NullPointerException + 343472 isUserInRole does not prevent subsequent login call + 346180 jsp-2.2 support - + Updated to jetty-7.4.2.v20110526 + + updated to jetty-7.4.2.v20110526 updated to jetty-7.4.2.v20110526 updated to + jetty-7.4.2.v20110526 Updated to jetty-7.4.2.v20110526 jetty-7.5.0.RC0 - 15 August 2011 + 298502 Handle 200 Connect responses with no content-length @@ -4373,7 +4390,9 @@ jetty-7.4.0.v20110414 + 342504 Scanner Listener + 342700 refine websocket API for anticipated changes + JETTY-1362 Set root cause of UnavailableException - + Various test harness cleanups to avoid random failures + + various test harness cleanups to avoid random failures various test ha + various test harness cleanups to avoid random failures Various test harness + cleanups to avoid random failures jetty-7.4.0.RC0 + 324110 Added test harnesses for merging of QueryStrings @@ -4412,8 +4431,11 @@ jetty-7.4.0.RC0 + 341992 Overlayed context deployer + JETTY-1245 Pooled Buffers implementation + JETTY-1354 Added jetty-nested - + Added extra session removal test - + Ensure generated fragment names are unique + + added extra session removal test added extra session removal test added + extra session removal test Added extra session removal test + + ensure generated fragment names are unique ensure generated fragment n + ensure generated fragment names are unique Ensure generated fragment names + are unique jetty-8.0.0.M2 - 16 November 2010 + 320073 Reconsile configuration mechanism @@ -4433,7 +4455,8 @@ jetty-8.0.0.M2 - 16 November 2010 + 330208 Support new wording on servlet-mapping and filter-mapping merging from servlet3.0a + 330292 request.getParts() returns only one part when the name is the same - + Update to jetty-7.2.1.v20101111 + + update to jetty-7.2.1.v20101111 update to jetty-7.2.1.v20101111 update to + jetty-7.2.1.v20101111 Update to jetty-7.2.1.v20101111 jetty-7.3.1.v20110307 - 07 March 2011 + 316382 Support a more strict SSL option with certificates @@ -4661,9 +4684,13 @@ jetty-7.2.0.RC0 - 01 October 2010 default + JETTY-1281 Create new session after authentication + JETTY-1283 JSONPojoConvertorFactory can turn off fromJSON - + Added ignore to Logger interface - + Fix jetty-plus.xml for new configuration names - + Improved debug dump + + added ignore to logger interface added ignore to logger interface added + ignore to logger interface Added ignore to Logger interface + + fix jetty-plus.xml for new configuration names fix jetty-plus.xml for fix + jetty-plus.xml for new configuration names Fix jetty-plus.xml for new + configuration names + + improved debug dump improved debug dump improved debug dump Improved debug + dump jetty-7.1.6.v20100715 + 319519 Warn about duplicate configuration files @@ -4677,10 +4704,16 @@ jetty-8.0.0.M1 - 12 July 2010 + 306350 Ensure jars excluded by ordering are not scanned for annotations + JETTY-1224 Change jetty-8 merge rules for fragment descriptors and annotations - + Ensure in web.xml overrides relative in + + ensure in web.xml overrides relative in + ensure in web.xml overrides relative in + Ensure in web.xml overrides relative in fragments - + Ensure empty implies exclusion of all fragments - + Ensure servlet-api jar class inheritance hierarchy is scanned + + ensure empty implies exclusion of all fragments en + ensure empty implies exclusion of all fragments Ensure + empty implies exclusion of all fragments + + ensure servlet-api jar class inheritance hierarchy is scanned ensure ensure + servlet-api jar class inheritance hierarchy is scanned Ensure servlet-api + jar class inheritance hierarchy is scanned jetty-7.1.5.v20100705 + 288194 Add blacklist/whitelist to ProxyServlet and ProxyHandler @@ -4706,7 +4739,8 @@ jetty-7.1.5.v20100705 + 318551 Optional uncheck Printwriter + 319060 Support web-bundles that are not expanded (bundle is zipped) + JETTY-1237 Save local/remote address to be available after close - + Update ecj to 3.6 Helios release drop + + update ecj to 3.6 helios release drop update ecj to 3.6 helios release + update ecj to 3.6 helios release drop Update ecj to 3.6 Helios release drop jetty-6.1.25 - 26 July 2010 + 320264 Removed duplicate mime.property entries @@ -4717,9 +4751,12 @@ jetty-6.1.25 - 26 July 2010 + JETTY-1226 javax.activation needs to be listed in the system classes + JETTY-1237 Remember local/remote details of endpoint + JETTY-1251 protected against closed selector - + COMETD-112 if two threads create the same channel, then create events may + + cometd-112 if two threads create the same channel, then create events + cometd-112 if two threads create the same channel, then create events + COMETD-112 if two threads create the same channel, then create events may occur after subscribe events - + Jetty-6 is now in maintenance mode. + + jetty-6 is now in maintenance mode. jetty-6 is now in maintenance mode + jetty-6 is now in maintenance mode. Jetty-6 is now in maintenance mode. jetty-7.1.4.v20100610 + 292326 Stop continuations if server is stopped @@ -4768,7 +4805,9 @@ jetty-7.1.2.v20100523 + 313278 Implement octet ranges in IPAccessHandler + 313336 secure websockets + 314009 updated README.txt - + Update links to jetty website and wiki on test webapp + + update links to jetty website and wiki on test webapp update links to + update links to jetty website and wiki on test webapp Update links to jetty + website and wiki on test webapp jetty-7.1.1.v20100517 + 302344 Make the list of available contexts if root context is not configured @@ -4846,11 +4885,20 @@ jetty-7.1.0.RC0 - 27 April 2010 + JETTY-1202 Use platform default algorithm for SecureRandom + JETTY-1212 handle long content lengths + JETTY-1214 avoid ISE when scavenging invalid session - + Add AnnotationConfiguration to jetty-plus.xml - + Add NPE protection to ContainerInitializerConfiguration - + Fix jetty-plus.xml reference to addLifeCycle - + Merged 7.0.2.v20100331 - + Temporarily remove jetty-osgi module to clarify jsp version compatibility + + add annotationconfiguration to jetty-plus.xml add annotationconfigurat add + annotationconfiguration to jetty-plus.xml Add AnnotationConfiguration to + jetty-plus.xml + + add npe protection to containerinitializerconfiguration add npe protec add + npe protection to containerinitializerconfiguration Add NPE protection to + ContainerInitializerConfiguration + + fix jetty-plus.xml reference to addlifecycle fix jetty-plus.xml refere fix + jetty-plus.xml reference to addlifecycle Fix jetty-plus.xml reference to + addLifeCycle + + merged 7.0.2.v20100331 merged 7.0.2.v20100331 merged 7.0.2.v20100331 Merged + 7.0.2.v20100331 + + temporarily remove jetty-osgi module to clarify jsp version compatibil + temporarily remove jetty-osgi module to clarify jsp version compatibil + Temporarily remove jetty-osgi module to clarify jsp version compatibility jetty-7.0.2.v20100331 - 31 March 2010 + 297552 Don't call Continuation timeouts from acceptor tick @@ -4861,9 +4909,15 @@ jetty-7.0.2.v20100331 - 31 March 2010 + 306880 Support for UPGRADE in HttpClient + 306884 Suspend with timeout <=0 never expires + 307589 updated servlet 3.0 continuations for final API - + Allow Configuration array to be set on Server instance for all web apps - + Ensure webapps with no WEB-INF don't scan WEB-INF/lib - + Take excess logging statements out of startup + + allow configuration array to be set on server instance for all web app allow + configuration array to be set on server instance for all web app Allow + Configuration array to be set on Server instance for all web apps + + ensure webapps with no web-inf don't scan web-inf/lib ensure webapps w + ensure webapps with no web-inf don't scan web-inf/lib Ensure webapps with no + WEB-INF don't scan WEB-INF/lib + + take excess logging statements out of startup take excess logging stat take + excess logging statements out of startup Take excess logging statements out + of startup jetty-6.1.24 - 21 April 2010 + 308925 Protect the test webapp from remote access @@ -4871,11 +4925,18 @@ jetty-6.1.24 - 21 April 2010 + JETTY-1198 reset idle timeout on request body chunks + JETTY-1200 SSL NIO Endpoint wraps non NIO buffers + JETTY-1211 SetUID loadlibrary name and debug - + COMETD-100 ClientImpl logs "null" as clientId - + COMETD-107 Reloading the application with reload extension does not fire + + cometd-100 clientimpl logs "null" as clientid cometd-100 clientimpl lo + cometd-100 clientimpl logs "null" as clientid COMETD-100 ClientImpl logs + "null" as clientId + + cometd-107 reloading the application with reload extension does not fi + cometd-107 reloading the application with reload extension does not fi + COMETD-107 Reloading the application with reload extension does not fire /meta/connect handlers until long poll timeout expires - + COMETD-99 ClientImpl logs exceptions in listeners with "debug" level - + Upgraded to cometd 1.1.1 client + + cometd-99 clientimpl logs exceptions in listeners with "debug" level + cometd-99 clientimpl logs exceptions in listeners with "debug" level + COMETD-99 ClientImpl logs exceptions in listeners with "debug" level + + upgraded to cometd 1.1.1 client upgraded to cometd 1.1.1 client upgraded to + cometd 1.1.1 client Upgraded to cometd 1.1.1 client jetty-6.1.23 - 02 April 2010 + 292800 ContextDeployer - recursive setting is undone by FilenameFilter @@ -4923,15 +4984,28 @@ jetty-6.1.23 - 02 April 2010 + JETTY-1202 Use platfrom default algorithm for SecureRandom + JETTY-1205 Memory leak in browser-to-client mapping + JETTY-1207 NPE protection in FormAuthenticator - + COMETD-28 Improved concurrency usage in Bayeux and channel handling - + COMETD-46 reset ContentExchange content on resend - + COMETD-58 Extension.rcv() return null causes NPE in - AbstractBayeux.PublishHandler.publish - + COMETD-59 AcknowledgeExtension does not handle null channel in Message - + COMETD-62 Delay add listeners until after client construction - + JSON parses NaN as null - + Remove references to old content in HttpClient client tests for www.sun.com - + Updated JSP to 2.1.v20091210 + + cometd-28 improved concurrency usage in bayeux and channel handling + cometd-28 improved concurrency usage in bayeux and channel handling + COMETD-28 Improved concurrency usage in Bayeux and channel handling + + cometd-46 reset contentexchange content on resend cometd-46 reset cometd-46 + reset contentexchange content on resend COMETD-46 reset ContentExchange + content on resend + + cometd-58 extension.rcv() return null causes npe in cometd-58 cometd-58 + extension.rcv() return null causes npe in COMETD-58 Extension.rcv() return + null causes NPE in AbstractBayeux.PublishHandler.publish + + cometd-59 acknowledgeextension does not handle null channel in message + cometd-59 acknowledgeextension does not handle null channel in message + COMETD-59 AcknowledgeExtension does not handle null channel in Message + + cometd-62 delay add listeners until after client construction cometd-6 + cometd-62 delay add listeners until after client construction COMETD-62 + Delay add listeners until after client construction + + json parses nan as null json parses nan as null json parses nan as null JSON + parses NaN as null + + remove references to old content in httpclient client tests for www.su + remove references to old content in httpclient client tests for www.su + Remove references to old content in HttpClient client tests for www.sun.com + + updated jsp to 2.1.v20091210 updated jsp to 2.1.v20091210 updated jsp to + 2.1.v20091210 Updated JSP to 2.1.v20091210 jetty-7.0.2.RC0 + 290765 Reset input for HttpExchange retry @@ -4991,15 +5065,24 @@ jetty-7.0.2.RC0 + JETTY-1184 shrink thread pool even with frequent small jobs + JETTY-1192 Fixed Digested POST + JETTY-1199 FindBugs cleanups - + Added IPAccessHandler - + COMETD-46 reset ContentExchange response content on resend - + JSON parses NaN as null - + Updated Servlet3Continuation to final 3.0.20100224 + + added ipaccesshandler added ipaccesshandler added ipaccesshandler Added + IPAccessHandler + + cometd-46 reset contentexchange response content on resend cometd-46 r + cometd-46 reset contentexchange response content on resend COMETD-46 reset + ContentExchange response content on resend + + json parses nan as null json parses nan as null json parses nan as null JSON + parses NaN as null + + updated servlet3continuation to final 3.0.20100224 updated updated + servlet3continuation to final 3.0.20100224 Updated Servlet3Continuation to + final 3.0.20100224 jetty-8.0.0.M0 - 28 February 2010 - + Merged 7.0.1.v20091116 - + Updated servlet 3.0 spec 20100224 - + Updated to cometd 1.0.1 + + merged 7.0.1.v20091116 merged 7.0.1.v20091116 merged 7.0.1.v20091116 Merged + 7.0.1.v20091116 + + updated servlet 3.0 spec 20100224 updated servlet 3.0 spec 20100224 updated + servlet 3.0 spec 20100224 Updated servlet 3.0 spec 20100224 + + updated to cometd 1.0.1 updated to cometd 1.0.1 updated to cometd 1.0.1 + Updated to cometd 1.0.1 jetty-7.0.1.v20091125 - 25 November 2009 + 274251 DefaultServlet supports exact match mode @@ -5037,16 +5120,33 @@ jetty-7.0.1.v20091125 - 25 November 2009 around + JETTY-1144 fixed multi-byte character overflow + JETTY-1148 Reset partially read request reader - + COMETD-34 Support Baeyux MBean - + CQ-3581 jetty OSGi contribution - + CVE-2009-3555 Prevent SSL renegotiate for SSL vulnerability - + Fixed client abort asocciation - + Fixed XSS issue in CookieDump demo servlet. - + Improved start.jar usage text for properties - + Moved centralized logging and verifier back to sandbox - + Promoted Jetty Centralized Logging from Sandbox - + Promoted Jetty WebApp Verifier from Sandbox - + Refactored continuation test harnessess + + cometd-34 support baeyux mbean cometd-34 support baeyux mbean cometd-34 + support baeyux mbean COMETD-34 Support Baeyux MBean + + cq-3581 jetty osgi contribution cq-3581 jetty osgi contribution cq-3581 + jetty osgi contribution CQ-3581 jetty OSGi contribution + + cve-2009-3555 prevent ssl renegotiate for ssl vulnerability cve-2009-3 + cve-2009-3555 prevent ssl renegotiate for ssl vulnerability CVE-2009-3555 + Prevent SSL renegotiate for SSL vulnerability + + fixed client abort asocciation fixed client abort asocciation fixed client + abort asocciation Fixed client abort asocciation + + fixed xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed + xss issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo + servlet. + + improved start.jar usage text for properties improved start.jar usage + improved start.jar usage text for properties Improved start.jar usage text + for properties + + moved centralized logging and verifier back to sandbox moved centraliz moved + centralized logging and verifier back to sandbox Moved centralized logging + and verifier back to sandbox + + promoted jetty centralized logging from sandbox promoted jetty central + promoted jetty centralized logging from sandbox Promoted Jetty Centralized + Logging from Sandbox + + promoted jetty webapp verifier from sandbox promoted jetty webapp veri + promoted jetty webapp verifier from sandbox Promoted Jetty WebApp Verifier + from Sandbox + + refactored continuation test harnessess refactored continuation test + refactored continuation test harnessess Refactored continuation test + harnessess jetty-7.0.0.v20091005 - 05 October 2009 + 291340 Race condition in onException() notifications @@ -5078,10 +5178,17 @@ jetty-6.1.21 - 22 September 2009 + JETTY-1113 IllegalStateException when adding servlet filters programmatically + JETTY-1114 Unsynchronize webapp classloader getResource - + Fix DefaultServletTest for windows - + Include tmp directory sweeper in build - + Streamline jetty-jboss build, update sar to QueuedThreadPool - + Update Jetty implementation of com.sun.net.httpserver.* + + fix defaultservlettest for windows fix defaultservlettest for windows fix + defaultservlettest for windows Fix DefaultServletTest for windows + + include tmp directory sweeper in build include tmp directory sweeper i + include tmp directory sweeper in build Include tmp directory sweeper in + build + + streamline jetty-jboss build, update sar to queuedthreadpool streamlin + streamline jetty-jboss build, update sar to queuedthreadpool Streamline + jetty-jboss build, update sar to QueuedThreadPool + + update jetty implementation of com.sun.net.httpserver.* update jetty update + jetty implementation of com.sun.net.httpserver.* Update Jetty implementation + of com.sun.net.httpserver.* jetty-7.0.0.RC6 - 21 September 2009 + 280723 Add non blocking statistics handler @@ -5120,10 +5227,15 @@ jetty-7.0.0.RC6 - 21 September 2009 + JETTY-1112 Response fails if header exceeds buffer size + JETTY-1113 IllegalStateException when adding servlet filters programmatically - + Copy VERSION.txt to distro - + Fixed XSS issue in CookieDump demo servlet. - + Remove printlns from jetty-plus - + Tweak DefaultServletTest under windows + + copy version.txt to distro copy version.txt to distro copy version.txt to + distro Copy VERSION.txt to distro + + fixed xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed + xss issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo + servlet. + + remove printlns from jetty-plus remove printlns from jetty-plus remove + printlns from jetty-plus Remove printlns from jetty-plus + + tweak defaultservlettest under windows tweak defaultservlettest under tweak + defaultservlettest under windows Tweak DefaultServletTest under windows jetty-6.1.20 - 27 August 2009 + 283513 Check endp.isOpen when blocking read @@ -5155,14 +5267,27 @@ jetty-6.1.20 - 27 August 2009 + JETTY-1086 Added UncheckedPrintWriter to avoid ignored EOFs + JETTY-1087 Chunked SSL non blocking input + JETTY-1098 Upgrade jsp to SJSAS-9_1_1-B60F-07_Jan_2009 - + Added DebugHandler - + Added getSubscriptions to cometd client - + Clarified cometd interval timeout and allow per client intervals - + COMETD-7 max latency config for lazy messages - + Made unSubscribeAll public on cometd client - + Removed clearing of queue in unSubscribeAll for cometd client - + Update Main.main method to call setWar - + Update test-jndi and test-annotation examples for atomikos 3.5.5 + + added debughandler added debughandler added debughandler Added DebugHandler + + added getsubscriptions to cometd client added getsubscriptions to come added + getsubscriptions to cometd client Added getSubscriptions to cometd client + + clarified cometd interval timeout and allow per client intervals clari + clarified cometd interval timeout and allow per client intervals Clarified + cometd interval timeout and allow per client intervals + + cometd-7 max latency config for lazy messages cometd-7 max latency con + cometd-7 max latency config for lazy messages COMETD-7 max latency config + for lazy messages + + made unsubscribeall public on cometd client made unsubscribeall public made + unsubscribeall public on cometd client Made unSubscribeAll public on cometd + client + + removed clearing of queue in unsubscribeall for cometd client removed + removed clearing of queue in unsubscribeall for cometd client Removed + clearing of queue in unSubscribeAll for cometd client + + update main.main method to call setwar update main.main method to call + update main.main method to call setwar Update Main.main method to call + setWar + + update test-jndi and test-annotation examples for atomikos 3.5.5 updat + update test-jndi and test-annotation examples for atomikos 3.5.5 Update + test-jndi and test-annotation examples for atomikos 3.5.5 jetty-7.0.0.RC5 - 27 August 2009 + 286911 Clean out cache when recycling HTTP fields @@ -5216,7 +5341,8 @@ jetty-7.0.0.RC4 - 18 August 2009 + JETTY-1079 ResourceCollection.toString + JETTY-1080 Ignore files that would be extracted outside the destination directory when unpacking WARs - + Added discoverable start options + + added discoverable start options added discoverable start options added + discoverable start options Added discoverable start options jetty-7.0.0.RC3 - 07 August 2009 + 277403 remove system properties @@ -5227,7 +5353,9 @@ jetty-7.0.0.RC3 - 07 August 2009 + 283513 Check endp.isOpen when blocking read + 285697 extract parameters if dispatch has query + JETTY-1074 JMX thread manipulation - + Improved deferred authentication handling + + improved deferred authentication handling improved deferred authentica + improved deferred authentication handling Improved deferred authentication + handling jetty-7.0.0.RC2 - 29 June 2009 + 283375 improved extensibility of SSL connectors @@ -5237,11 +5365,18 @@ jetty-7.0.0.RC2 - 29 June 2009 + 284510 Enhance jetty-start for diagnosis and unit testing + 284981 Implement a cross-origin filter + 285006 fix AbstractConnector NPE during shutdown - + Added DebugHandler - + Added JavaUtilLog for Jetty logging to java.util.logging framework - + backport jetty-8 annotation parsing to jetty-7 - + Disassociate method on IdentityService - + Improved handling of overlays and resourceCollections + + added debughandler added debughandler added debughandler Added DebugHandler + + added javautillog for jetty logging to java.util.logging framework add added + javautillog for jetty logging to java.util.logging framework Added + JavaUtilLog for Jetty logging to java.util.logging framework + + backport jetty-8 annotation parsing to jetty-7 backport jetty-8 annota + backport jetty-8 annotation parsing to jetty-7 backport jetty-8 annotation + parsing to jetty-7 + + disassociate method on identityservice disassociate method on disassociate + method on identityservice Disassociate method on IdentityService + + improved handling of overlays and resourcecollections improved handlin + improved handling of overlays and resourcecollections Improved handling of + overlays and resourceCollections jetty-7.0.0.RC1 - 15 June 2009 + 283344 Startup on windows is broken @@ -5277,14 +5412,27 @@ jetty-7.0.0.M3 - 20 June 2009 + 279725 Support 100 and 102 expectations + 280707 client.HttpConnection does not catch and handle non-IOExceptions + 281470 Handle the case where request.PathInfo() should be "/*" - + Added ContinuationThrowable - + added WebAppContext.setConfigurationDiscovered for servlet 3.0 features - + fixed race with expired async listeners - + Numerous cleanups from static code analysis - + Portable continuations for jetty6 and servlet3 - + Refactored AbstractBuffers to HttpBuffers for performance - + refactored configuration mechanism - + Refactored continuations to only support response wrapping + + added continuationthrowable added continuationthrowable added + continuationthrowable Added ContinuationThrowable + + added webappcontext.setconfigurationdiscovered for servlet 3.0 feature added + webappcontext.setconfigurationdiscovered for servlet 3.0 feature added + WebAppContext.setConfigurationDiscovered for servlet 3.0 features + + fixed race with expired async listeners fixed race with expired async fixed + race with expired async listeners fixed race with expired async listeners + + numerous cleanups from static code analysis numerous cleanups from sta + numerous cleanups from static code analysis Numerous cleanups from static + code analysis + + portable continuations for jetty6 and servlet3 portable continuations + portable continuations for jetty6 and servlet3 Portable continuations for + jetty6 and servlet3 + + refactored abstractbuffers to httpbuffers for performance refactored + refactored abstractbuffers to httpbuffers for performance Refactored + AbstractBuffers to HttpBuffers for performance + + refactored configuration mechanism refactored configuration mechanism + refactored configuration mechanism refactored configuration mechanism + + refactored continuations to only support response wrapping refactored + refactored continuations to only support response wrapping Refactored + continuations to only support response wrapping jetty-7.0.0.M2 - 18 May 2009 + 273767 Update to use geronimo annotations spec 1.1.1 @@ -5320,7 +5468,8 @@ jetty-6.1.18 - 16 May 2009 jetty-5.1.15 - 18 May 2009 + JETTY-418 synchronized load class + JETTY-1004 CERT VU402580 Canonical path handling includes ? in path segment - + Fixes for CERT438616-CERT237888-CERT21284 + + fixes for cert438616-cert237888-cert21284 fixes for fixes for + cert438616-cert237888-cert21284 Fixes for CERT438616-CERT237888-CERT21284 jetty-6.1.17 - 30 April 2009 + JETTY-936 Make optional dispatching to welcome files as servlets @@ -5351,10 +5500,16 @@ jetty-7.0.0.M1 - 22 April 2009 + 273153 Test for Nested references in DispatchServlet + JETTY-695 Handler dump + JETTY-983 DefaultServlet generates accept-ranges for cached/gzip content - + Initial support for LoginService.logout - + Removed HTTPConnection specifics from connection dispatching - + Reworked authentication for deferred authentication - + Reworked JMX for new layout + + initial support for loginservice.logout initial support for initial support + for loginservice.logout Initial support for LoginService.logout + + removed httpconnection specifics from connection dispatching removed removed + httpconnection specifics from connection dispatching Removed HTTPConnection + specifics from connection dispatching + + reworked authentication for deferred authentication reworked authentic + reworked authentication for deferred authentication Reworked authentication + for deferred authentication + + reworked jmx for new layout reworked jmx for new layout reworked jmx for new + layout Reworked JMX for new layout jetty-6.1.16 - 01 April 2009 + JETTY-702 Create "jetty-tasks.xml" for the Ant plugin @@ -5468,8 +5623,10 @@ jetty-7.0.0.M0 - 27 March 2009 + JETTY-953 SSL keystore file input stream is not being closed directly + JETTY-956 SslSelectChannelConnector - password should be the default value of keyPassword if not specified - + moved to org.eclipse packages - + simplified HandlerContainer API + + moved to org.eclipse packages moved to org.eclipse packages moved to + org.eclipse packages moved to org.eclipse packages + + simplified handlercontainer api simplified handlercontainer api simplified + handlercontainer api simplified HandlerContainer API jetty-6.1.15 - 04 March 2009 + JETTY-923 BayeuxClient uses message pools to reduce memory footprint @@ -5521,7 +5678,9 @@ jetty-6.1.15.rc3 - 28 January 2009 jetty-6.1.15.rc2 - 23 January 2009 + JETTY-567 Delay in initial TLS Handshake With FireFox 3 beta5 and SslSelectChannelConnector - + adjustment to jetty-client assembly packaging + + adjustment to jetty-client assembly packaging adjustment to jetty-clie + adjustment to jetty-client assembly packaging adjustment to jetty-client + assembly packaging jetty-6.1.15.pre0 - 20 January 2009 + JETTY-600 Automated tests of WADI integration + upgrade to WADI 2.0 @@ -5788,7 +5947,9 @@ jetty-7.0.0pre3 - 06 August 2008 with byte value 0) + JETTY-675 ServletContext.getRealPath("") returns null instead of returning the root dir of the webapp - + Upgrade jsp 2.1 to SJSAS-9_1_02-B04-11_Apr_2008 + + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade + jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 Upgrade jsp 2.1 to + SJSAS-9_1_02-B04-11_Apr_2008 jetty-6.1.12rc1 - 01 August 2008 + JETTY-319 Get unavailable exception and added startWithUnavailable option @@ -5839,7 +6000,9 @@ jetty-6.1.12rc1 - 01 August 2008 + JETTY-667 HttpClient handles chunked content + JETTY-669 Http methods other than GET and POST should not have error page content - + Upgrade jsp 2.1 to SJSAS-9_1_02-B04-11_Apr_2008 + + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade + jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 Upgrade jsp 2.1 to + SJSAS-9_1_02-B04-11_Apr_2008 jetty-7.0.0pre2 - 30 June 2008 + JETTY-336 413 error for header buffer full @@ -5903,7 +6066,8 @@ jetty-6.1.10 - 20 May 2008 + JETTY-566 allow for non-blocking behavior in jetty maven plugin + JETTY-572 unique cometd client ID + JETTY-579 osgi fixes with management and servlet resources - + Use QueuedThreadPool as default + + use queuedthreadpool as default use queuedthreadpool as default use + queuedthreadpool as default Use QueuedThreadPool as default jetty-7.0.0pre1 - 03 May 2008 + JETTY-440 allow file name patterns for jsp compilation for jspc plugin @@ -5911,11 +6075,19 @@ jetty-7.0.0pre1 - 03 May 2008 + JETTY-558 optional handling of X-Forwarded-For/Host/Server + JETTY-559 ignore unsupported shutdownOutput + JETTY-566 allow for non-blocking behavior in jetty maven plugin - + address osgi bundling issue relating to build resources - + Allow annotations example to be built regularly, copy to contexts-available - + Improved suspend examples - + Make annotations example consistent with servlet 3.0 - + Refactor JNDI impl to simplify + + address osgi bundling issue relating to build resources address osgi address + osgi bundling issue relating to build resources address osgi bundling issue + relating to build resources + + allow annotations example to be built regularly, copy to contexts-avai allow + annotations example to be built regularly, copy to contexts-avai Allow + annotations example to be built regularly, copy to contexts-available + + improved suspend examples improved suspend examples improved suspend + examples Improved suspend examples + + make annotations example consistent with servlet 3.0 make annotations make + annotations example consistent with servlet 3.0 Make annotations example + consistent with servlet 3.0 + + refactor jndi impl to simplify refactor jndi impl to simplify refactor jndi + impl to simplify Refactor JNDI impl to simplify jetty-7.0.0pre0 - 21 April 2008 + JETTY-282 Support manually-triggered reloading by maven plugin @@ -5955,17 +6127,35 @@ jetty-7.0.0pre0 - 21 April 2008 + JETTY-556 Encode all URI fragments + JETTY-557 Allow ServletContext.setAttribute before start + JETTY-560 Allow decoupling of jndi names in web.xml - + Added option to dispatch to suspended requests. - + BayeuxClient use a single connection for polling - + Delay 100 continues until getInputStream - + Ensure Jotm tx mgr can be found in jetty-env.xml - + HttpClient supports pipelined request - + Jetty-6.1.8 Changes - + Make javax.servlet.jsp optional osgi import for jetty module - + QueuedThreadPool default - + Refactor of Continuation towards servlet 3.0 proposal - + Renamed modules management and naming to jmx and jndi. - + RetryRequest exception now extends ThreadDeath + + added option to dispatch to suspended requests. added option to dispat added + option to dispatch to suspended requests. Added option to dispatch to + suspended requests. + + bayeuxclient use a single connection for polling bayeuxclient use a si + bayeuxclient use a single connection for polling BayeuxClient use a single + connection for polling + + delay 100 continues until getinputstream delay 100 continues until delay 100 + continues until getinputstream Delay 100 continues until getInputStream + + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca + ensure jotm tx mgr can be found in jetty-env.xml Ensure Jotm tx mgr can be + found in jetty-env.xml + + httpclient supports pipelined request httpclient supports pipelined re + httpclient supports pipelined request HttpClient supports pipelined request + + jetty-6.1.8 changes jetty-6.1.8 changes jetty-6.1.8 changes Jetty-6.1.8 + Changes + + make javax.servlet.jsp optional osgi import for jetty module make make + javax.servlet.jsp optional osgi import for jetty module Make + javax.servlet.jsp optional osgi import for jetty module + + queuedthreadpool default queuedthreadpool default queuedthreadpool default + QueuedThreadPool default + + refactor of continuation towards servlet 3.0 proposal refactor of refactor + of continuation towards servlet 3.0 proposal Refactor of Continuation + towards servlet 3.0 proposal + + renamed modules management and naming to jmx and jndi. renamed modules + renamed modules management and naming to jmx and jndi. Renamed modules + management and naming to jmx and jndi. + + retryrequest exception now extends threaddeath retryrequest exception + retryrequest exception now extends threaddeath RetryRequest exception now + extends ThreadDeath jetty-6.1.9 - 26 March 2008 + JETTY-399 update OpenRemoteServiceServlet to gwt 1.4 @@ -5980,8 +6170,12 @@ jetty-6.1.9 - 26 March 2008 + JETTY-535 Fixed Bayeux server side client memory leak + JETTY-538 test harness fix for windows + JETTY-541 Cometd per client timeouts - + Ensure Jotm tx mgr can be found in jetty-env.xml - + Make javax.servlet.jsp optional osgi import for jetty module + + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca + ensure jotm tx mgr can be found in jetty-env.xml Ensure Jotm tx mgr can be + found in jetty-env.xml + + make javax.servlet.jsp optional osgi import for jetty module make make + javax.servlet.jsp optional osgi import for jetty module Make + javax.servlet.jsp optional osgi import for jetty module jetty-6.1.8 - 28 February 2008 + JETTY-350 log ssl errors on SslSocketConnector @@ -6004,25 +6198,49 @@ jetty-6.1.8 - 28 February 2008 + JETTY-513 Terracotta session replication does not work when the initial page on each server does not set any attributes + JETTY-515 Timer is missing scavenging Task in HashSessionManager - + Add "mvn jetty:stop" - + Added BayeuxService - + Added JSON.Convertor and non static JSON instances - + Added QueuedThreadPool - + add removeHandler(Handler) method to HandlerContainer interface - + AJP handles bad mod_jk methods - + Allow code ranges on ErrorPageErrorHandler - + allow sessions to be periodically persisted to disk - + Cookie support in BayeuxClient - + Fixed JSON negative numbers - + further Optimizations and improvements of Cometd - + grizzly fixed for posts - + Improved Bayeux API - + Improved Cometd timeout handling - + JSON unquotes / - + Long cache for JSON - + Optimizations and improvements of Cometd, more pooled objects - + Optimized QuotedStringTokenizer.quote() - + Remove duplicate commons-logging jars and include sslengine in jboss sar + + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn + jetty:stop" + + added bayeuxservice added bayeuxservice added bayeuxservice Added + BayeuxService + + added json.convertor and non static json instances added json.converto added + json.convertor and non static json instances Added JSON.Convertor and non + static JSON instances + + added queuedthreadpool added queuedthreadpool added queuedthreadpool Added + QueuedThreadPool + + add removehandler(handler) method to handlercontainer interface add add + removehandler(handler) method to handlercontainer interface add + removeHandler(Handler) method to HandlerContainer interface + + ajp handles bad mod_jk methods ajp handles bad mod_jk methods ajp handles + bad mod_jk methods AJP handles bad mod_jk methods + + allow code ranges on errorpageerrorhandler allow code ranges on allow code + ranges on errorpageerrorhandler Allow code ranges on ErrorPageErrorHandler + + allow sessions to be periodically persisted to disk allow sessions to allow + sessions to be periodically persisted to disk allow sessions to be + periodically persisted to disk + + cookie support in bayeuxclient cookie support in bayeuxclient cookie support + in bayeuxclient Cookie support in BayeuxClient + + fixed json negative numbers fixed json negative numbers fixed json negative + numbers Fixed JSON negative numbers + + further optimizations and improvements of cometd further optimizations + further optimizations and improvements of cometd further Optimizations and + improvements of Cometd + + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts + grizzly fixed for posts + + improved bayeux api improved bayeux api improved bayeux api Improved Bayeux + API + + improved cometd timeout handling improved cometd timeout handling improved + cometd timeout handling Improved Cometd timeout handling + + json unquotes / json unquotes / json unquotes / JSON unquotes / + + long cache for json long cache for json long cache for json Long cache for + JSON + + optimizations and improvements of cometd, more pooled objects optimiza + optimizations and improvements of cometd, more pooled objects Optimizations + and improvements of Cometd, more pooled objects + + optimized quotedstringtokenizer.quote() optimized optimized + quotedstringtokenizer.quote() Optimized QuotedStringTokenizer.quote() + + remove duplicate commons-logging jars and include sslengine in jboss s + remove duplicate commons-logging jars and include sslengine in jboss s + Remove duplicate commons-logging jars and include sslengine in jboss sar jetty-6.1.7 - 22 December 2007 + JETTY-386 CERT-553235 backout fix and replaced with @@ -6032,15 +6250,27 @@ jetty-6.1.7 - 22 December 2007 + JETTY-474 Fixed case sensitivity issue with HttpFields + JETTY-486 Improved jetty.sh script + JETTY-487 Handle empty chunked request - + Add "mvn jetty:stop" - + Added BayeuxService - + Added JSON.Convertor and non static JSON instances - + allow sessions to be periodically persisted to disk - + Cookie support in BayeuxClient - + grizzly fixed for posts + + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn + jetty:stop" + + added bayeuxservice added bayeuxservice added bayeuxservice Added + BayeuxService + + added json.convertor and non static json instances added json.converto added + json.convertor and non static json instances Added JSON.Convertor and non + static JSON instances + + allow sessions to be periodically persisted to disk allow sessions to allow + sessions to be periodically persisted to disk allow sessions to be + periodically persisted to disk + + cookie support in bayeuxclient cookie support in bayeuxclient cookie support + in bayeuxclient Cookie support in BayeuxClient + + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts + grizzly fixed for posts + jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk - + Optimizations and improvements of Cometd, more pooled objects - + Update java5 patch + jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk + jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk + + optimizations and improvements of cometd, more pooled objects optimiza + optimizations and improvements of cometd, more pooled objects Optimizations + and improvements of Cometd, more pooled objects + + update java5 patch update java5 patch update java5 patch Update java5 patch jetty-6.1.6 - 18 November 2007 + JETTY-455 Optional cometd id @@ -6048,8 +6278,10 @@ jetty-6.1.6 - 18 November 2007 + JETTY-461 fixed cometd unknown channel + JETTY-464 typo in ErrorHandler + JETTY-465 System.exit() in constructor exception for MultiPartOutputStream - + rudimentary debian packaging - + updated grizzly connector to 1.6.1 + + rudimentary debian packaging rudimentary debian packaging rudimentary debian + packaging rudimentary debian packaging + + updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 + updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 jetty-6.1.6rc1 - 05 November 2007 + JETTY-388 Handle utf-16 and other multibyte non-utf-8 form content @@ -6066,16 +6298,29 @@ jetty-6.1.6rc1 - 05 November 2007 + JETTY-454 handle exceptions with themselves as root cause + JETTY-456 allow null keystore for osX + JETTY-457 AJP certificate chains - + Added configuration file for capturing stderr and stdout - + CERT VU#38616 handle single quotes in cookie names. - + Give bayeux timer name - + Give Terracotta session scavenger a name - + Housekeeping on poms - + Improved JSON parsing from Readers - + Jetty Eclipse Plugin 1.0.1: force copy of context file on redeploy - + Moved some impl classes from jsp-api-2.1 to jsp-2.1 - + Updated for dojo 1.0(rc) cometd - + Upgrade jsp 2.1 to SJSAS-9_1-B58G-FCS-08_Sept_2007 + + added configuration file for capturing stderr and stdout added configu added + configuration file for capturing stderr and stdout Added configuration file + for capturing stderr and stdout + + 38616 CERT VU#38616 handle single quotes in cookie names + + give bayeux timer name give bayeux timer name give bayeux timer name Give + bayeux timer name + + give terracotta session scavenger a name give terracotta session scave give + terracotta session scavenger a name Give Terracotta session scavenger a name + + housekeeping on poms housekeeping on poms housekeeping on poms Housekeeping + on poms + + improved json parsing from readers improved json parsing from readers + improved json parsing from readers Improved JSON parsing from Readers + + jetty eclipse plugin 1.0.1: force copy of context file on redeploy jet jetty + eclipse plugin 1.0.1: force copy of context file on redeploy Jetty Eclipse + Plugin 1.0.1: force copy of context file on redeploy + + moved some impl classes from jsp-api-2.1 to jsp-2.1 moved some impl cl moved + some impl classes from jsp-api-2.1 to jsp-2.1 Moved some impl classes from + jsp-api-2.1 to jsp-2.1 + + updated for dojo 1.0(rc) cometd updated for dojo 1.0(rc) cometd updated for + dojo 1.0(rc) cometd Updated for dojo 1.0(rc) cometd + + upgrade jsp 2.1 to sjsas-9_1-b58g-fcs-08_sept_2007 upgrade jsp 2.1 to + upgrade jsp 2.1 to sjsas-9_1-b58g-fcs-08_sept_2007 Upgrade jsp 2.1 to + SJSAS-9_1-B58G-FCS-08_Sept_2007 jetty-6.1.6rc0 - 03 October 2007 + JETTY-259 SystemRoot set for windows CGI @@ -6096,44 +6341,102 @@ jetty-6.1.6rc0 - 03 October 2007 + JETTY-425 Handle duplicate stop calls better + JETTY-430 improved cometd logging + JETTY-431 HttpClient soTimeout - + Add ability to persist sessions with HashSessionManager - + Added ConcatServlet to combine javascript and css - + Added jetty.lib system property to start.config - + Added JPackage RPM support - + Added JSON.Convertable - + Adding setUsername,setGroupname to setuid and mavenizing native build - + Add jetty.host system property - + AJP13 Fix on chunked post - + Allow properties files on the XmlConfiguration command line. - + Allow scan interval to be set after Scanner started - + Avoid FULL exception in window between blockForOutput and remote close - + Cached user agents strings in the /org/mortbay/jetty/useragents resource - + CVE-2007-5615 Added protection for response splitting with bad headers. - + Ensure session is completed only when leaving context. - + Fix cached header optimization for extra characters - + Fix Host header for async client - + Fix patch for java5 to include cometd module - + Fix typo in async client onResponsetHeader method name - + Give deployment file Scanner threads a unique name - + Make default time format for RequestLog match NCSA default - + Make mx4j used only if runtime uses jdk<1.5 - + Moved Grizzly to contrib - + Prevent infinite loop on stopping with temp dir - + Removal of unneeded dependencies from management, maven-plugin, naming & + + add ability to persist sessions with hashsessionmanager add ability to add + ability to persist sessions with hashsessionmanager Add ability to persist + sessions with HashSessionManager + + added concatservlet to combine javascript and css added concatservlet added + concatservlet to combine javascript and css Added ConcatServlet to combine + javascript and css + + added jetty.lib system property to start.config added jetty.lib system added + jetty.lib system property to start.config Added jetty.lib system property to + start.config + + added jpackage rpm support added jpackage rpm support added jpackage rpm + support Added JPackage RPM support + + added json.convertable added json.convertable added json.convertable Added + JSON.Convertable + + adding setusername,setgroupname to setuid and mavenizing native build + adding setusername,setgroupname to setuid and mavenizing native build Adding + setUsername,setGroupname to setuid and mavenizing native build + + add jetty.host system property add jetty.host system property add jetty.host + system property Add jetty.host system property + + ajp13 fix on chunked post ajp13 fix on chunked post ajp13 fix on chunked + post AJP13 Fix on chunked post + + allow properties files on the xmlconfiguration command line. allow allow + properties files on the xmlconfiguration command line. Allow properties + files on the XmlConfiguration command line. + + allow scan interval to be set after scanner started allow scan interva allow + scan interval to be set after scanner started Allow scan interval to be set + after Scanner started + + avoid full exception in window between blockforoutput and remote close avoid + full exception in window between blockforoutput and remote close Avoid FULL + exception in window between blockForOutput and remote close + + cached user agents strings in the /org/mortbay/jetty/useragents resour + cached user agents strings in the /org/mortbay/jetty/useragents resour + Cached user agents strings in the /org/mortbay/jetty/useragents resource + + cve-2007-5615 added protection for response splitting with bad headers + cve-2007-5615 added protection for response splitting with bad headers + CVE-2007-5615 Added protection for response splitting with bad headers. + + ensure session is completed only when leaving context. ensure session + ensure session is completed only when leaving context. Ensure session is + completed only when leaving context. + + fix cached header optimization for extra characters fix cached header fix + cached header optimization for extra characters Fix cached header + optimization for extra characters + + fix host header for async client fix host header for async client fix host + header for async client Fix Host header for async client + + fix patch for java5 to include cometd module fix patch for java5 to in fix + patch for java5 to include cometd module Fix patch for java5 to include + cometd module + + fix typo in async client onresponsetheader method name fix typo in asy fix + typo in async client onresponsetheader method name Fix typo in async client + onResponsetHeader method name + + give deployment file scanner threads a unique name give deployment fil give + deployment file scanner threads a unique name Give deployment file Scanner + threads a unique name + + make default time format for requestlog match ncsa default make defaul make + default time format for requestlog match ncsa default Make default time + format for RequestLog match NCSA default + + make mx4j used only if runtime uses jdk<1.5 make mx4j used only if run make + mx4j used only if runtime uses jdk<1.5 Make mx4j used only if runtime uses + jdk<1.5 + + moved grizzly to contrib moved grizzly to contrib moved grizzly to contrib + Moved Grizzly to contrib + + prevent infinite loop on stopping with temp dir prevent infinite loop + prevent infinite loop on stopping with temp dir Prevent infinite loop on + stopping with temp dir + + removal of unneeded dependencies from management, maven-plugin, naming + removal of unneeded dependencies from management, maven-plugin, naming + Removal of unneeded dependencies from management, maven-plugin, naming & plus poms - + SetUID option to support setgid - + Tweak OSGi manifests to remove unneeded imports - + Updated README, test index.html file and jetty-plus.xml file - + Update jasper2.1 to tag SJSAS-9_1-B58C-FCS-22_Aug_2007 - + Update terracotta to 2.4.1 and exclude ssl classes - + Use terracotta repo for build; make jetty a terracotta module - + UTF-8 for bayeux client + + setuid option to support setgid setuid option to support setgid setuid + option to support setgid SetUID option to support setgid + + tweak osgi manifests to remove unneeded imports tweak osgi manifests t tweak + osgi manifests to remove unneeded imports Tweak OSGi manifests to remove + unneeded imports + + updated readme, test index.html file and jetty-plus.xml file updated r + updated readme, test index.html file and jetty-plus.xml file Updated README, + test index.html file and jetty-plus.xml file + + update jasper2.1 to tag sjsas-9_1-b58c-fcs-22_aug_2007 update jasper2. + update jasper2.1 to tag sjsas-9_1-b58c-fcs-22_aug_2007 Update jasper2.1 to + tag SJSAS-9_1-B58C-FCS-22_Aug_2007 + + update terracotta to 2.4.1 and exclude ssl classes update terracotta t + update terracotta to 2.4.1 and exclude ssl classes Update terracotta to + 2.4.1 and exclude ssl classes + + use terracotta repo for build; make jetty a terracotta module use terr use + terracotta repo for build; make jetty a terracotta module Use terracotta + repo for build; make jetty a terracotta module + + utf-8 for bayeux client utf-8 for bayeux client utf-8 for bayeux client + UTF-8 for bayeux client jetty-6.1.5 - 19 July 2007 + JETTY-392 updated LikeJettyXml example - + Fixed GzipFilter for dispatchers - + Fixed reset of reason - + Upgrade to Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 + + fixed gzipfilter for dispatchers fixed gzipfilter for dispatchers fixed + gzipfilter for dispatchers Fixed GzipFilter for dispatchers + + fixed reset of reason fixed reset of reason fixed reset of reason Fixed + reset of reason + + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 Upgrade to + Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 jetty-6.1.5rc0 - 15 July 0200 + JETTY-253 Improved graceful shutdown @@ -6147,26 +6450,52 @@ jetty-6.1.5rc0 - 15 July 0200 + JETTY-380 handle pipelines of more than 4 requests + JETTY-385 EncodeURL for new sessions from dispatch + JETTY-386 Allow // in file resources - + Added GzipFilter and UserAgentFilter - + Dispatch SslEngine expiry (non atomic) - + Improved Request log configuration options - + make jetty plus example webapps use ContextDeployer - + make OSGi manifests for jetty jars - + Make SLF4JLog impl public, add mbean descriptors - + Protect SslSelectChannelConnector from exceptions during close - + remove call to open connectors in jetty.xml - + SetUID option to only open connectors before setUID. - + SPR-3682 - dont hide forward attr in include. - + update links on website - + update terracotta configs for tc 2.4 stable1 - + update terracotta session clustering to terracotta 2.4 - + Upgrade to Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 + + added gzipfilter and useragentfilter added gzipfilter and useragentfil added + gzipfilter and useragentfilter Added GzipFilter and UserAgentFilter + + dispatch sslengine expiry (non atomic) dispatch sslengine expiry (non + dispatch sslengine expiry (non atomic) Dispatch SslEngine expiry (non + atomic) + + improved request log configuration options improved request log improved + request log configuration options Improved Request log configuration options + + make jetty plus example webapps use contextdeployer make jetty plus ex make + jetty plus example webapps use contextdeployer make jetty plus example + webapps use ContextDeployer + + make osgi manifests for jetty jars make osgi manifests for jetty jars make + osgi manifests for jetty jars make OSGi manifests for jetty jars + + make slf4jlog impl public, add mbean descriptors make slf4jlog impl pu make + slf4jlog impl public, add mbean descriptors Make SLF4JLog impl public, add + mbean descriptors + + protect sslselectchannelconnector from exceptions during close protect + protect sslselectchannelconnector from exceptions during close Protect + SslSelectChannelConnector from exceptions during close + + remove call to open connectors in jetty.xml remove call to open connec + remove call to open connectors in jetty.xml remove call to open connectors + in jetty.xml + + setuid option to only open connectors before setuid. setuid option to + setuid option to only open connectors before setuid. SetUID option to only + open connectors before setUID. + + spr-3682 - dont hide forward attr in include. spr-3682 - dont hide for + spr-3682 - dont hide forward attr in include. SPR-3682 - dont hide forward + attr in include. + + update links on website update links on website update links on website + update links on website + + update terracotta configs for tc 2.4 stable1 update terracotta configs + update terracotta configs for tc 2.4 stable1 update terracotta configs for + tc 2.4 stable1 + + update terracotta session clustering to terracotta 2.4 update terracot + update terracotta session clustering to terracotta 2.4 update terracotta + session clustering to terracotta 2.4 + + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 Upgrade to + Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 jetty-6.1.4 - 15 June 2007 + JETTY-370 ensure idleTimeout<=0 means connections never expire + JETTY-371 Fixed chunked HEAD response + JETTY-372 make test for cookie caching more rigorous - + fixed early open() call in NIO connectors + + fixed early open() call in nio connectors fixed early open() call in n fixed + early open() call in nio connectors fixed early open() call in NIO + connectors jetty-6.1.4rc1 - 10 June 2007 + JETTY-310 better exception when no filter file for cometd servlet @@ -6180,12 +6509,20 @@ jetty-6.1.4rc1 - 10 June 2007 + JETTY-362 More object locks + JETTY-365 make needClientAuth work on SslSelectChannelConnector + JETTY-366 JETTY-368 Improved bayeux disconnect - + async client improvements - + fixed handling of large streamed files - + Fixed synchronization conflict SslSelectChannel and SelectChannel - + moved documentation for jetty and jspc maven plugins to wiki - + Optional static content cache - + Work around IBM JVM socket close issue + + async client improvements async client improvements async client + improvements async client improvements + + fixed handling of large streamed files fixed handling of large streame fixed + handling of large streamed files fixed handling of large streamed files + + fixed synchronization conflict sslselectchannel and selectchannel fixe fixed + synchronization conflict sslselectchannel and selectchannel Fixed + synchronization conflict SslSelectChannel and SelectChannel + + moved documentation for jetty and jspc maven plugins to wiki moved moved + documentation for jetty and jspc maven plugins to wiki moved documentation + for jetty and jspc maven plugins to wiki + + optional static content cache optional static content cache optional static + content cache Optional static content cache + + work around ibm jvm socket close issue work around ibm jvm socket clos work + around ibm jvm socket close issue Work around IBM JVM socket close issue jetty-6.1.4rc0 - 01 June 2007 + JETTY-257 fixed comet cross domain @@ -6203,46 +6540,82 @@ jetty-6.1.4rc0 - 01 June 2007 + JETTY-345 fixed lost content with blocked NIO + JETTY-347 Fixed type util init + JETTY-352 Object locks - + Add (commented out) jspc precompile to test-webapp - + Add ability to run cometd webapps to maven plugin - + Add slf4j-api for upgraded version - + Allow XmlConfiguration properties to be configured - + Change scope of fields for Session - + Delay ssl handshake until after dispatch in sslSocketConnector - + fixed JSP close handling - + fixed waiting continuation reset - + improved date header handling - + Optional send Date header. Server.setSendDateHeader(boolean) - + Reorganized import of contrib modules - + Set so_timeout during ssl handshake as an option on SslSocketConnector - + Unified JMX configuration - + Updated junit to 3.8.2 - + Updated slf4j version to 1.3.1 - + update etc/jetty-ssl.xml with new handshake timeout setting + + add (commented out) jspc precompile to test-webapp add (commented out) add + (commented out) jspc precompile to test-webapp Add (commented out) jspc + precompile to test-webapp + + add ability to run cometd webapps to maven plugin add ability to run c add + ability to run cometd webapps to maven plugin Add ability to run cometd + webapps to maven plugin + + add slf4j-api for upgraded version add slf4j-api for upgraded version add + slf4j-api for upgraded version Add slf4j-api for upgraded version + + allow xmlconfiguration properties to be configured allow xmlconfigurat allow + xmlconfiguration properties to be configured Allow XmlConfiguration + properties to be configured + + change scope of fields for session change scope of fields for session change + scope of fields for session Change scope of fields for Session + + delay ssl handshake until after dispatch in sslsocketconnector delay s delay + ssl handshake until after dispatch in sslsocketconnector Delay ssl handshake + until after dispatch in sslSocketConnector + + fixed jsp close handling fixed jsp close handling fixed jsp close handling + fixed JSP close handling + + fixed waiting continuation reset fixed waiting continuation reset fixed + waiting continuation reset fixed waiting continuation reset + + improved date header handling improved date header handling improved date + header handling improved date header handling + + optional send date header. server.setsenddateheader(boolean) optional + optional send date header. server.setsenddateheader(boolean) Optional send + Date header. Server.setSendDateHeader(boolean) + + reorganized import of contrib modules reorganized import of contrib mo + reorganized import of contrib modules Reorganized import of contrib modules + + set so_timeout during ssl handshake as an option on sslsocketconnector set + so_timeout during ssl handshake as an option on sslsocketconnector Set + so_timeout during ssl handshake as an option on SslSocketConnector + + unified jmx configuration unified jmx configuration unified jmx + configuration Unified JMX configuration + + updated junit to 3.8.2 updated junit to 3.8.2 updated junit to 3.8.2 Updated + junit to 3.8.2 + + updated slf4j version to 1.3.1 updated slf4j version to 1.3.1 updated slf4j + version to 1.3.1 Updated slf4j version to 1.3.1 + + update etc/jetty-ssl.xml with new handshake timeout setting update update + etc/jetty-ssl.xml with new handshake timeout setting update + etc/jetty-ssl.xml with new handshake timeout setting jetty-6.1.3 - 04 May 2007 + JETTY-309 don't clear writable status until dispatch + JETTY-315 suppressed warning + JETTY-322 AJP13 cping and keep alive - + Handle CRLF for content in header optimization + + handle crlf for content in header optimization handle crlf for content + handle crlf for content in header optimization Handle CRLF for content in + header optimization jetty-6.1.2 - 01 May 2007 + JETTY-322 fix ajp cpong response and close handling + JETTY-324 fix ant plugin + JETTY-328 updated jboss - + Added static member definition in WadiSessionManager - + Fixed session invalidation error in WadiSessionManager - + Improved unavailabile handling - + sendError resets output state - + Updated Wadi to version 2.0-M3 + + added static member definition in wadisessionmanager added static memb added + static member definition in wadisessionmanager Added static member + definition in WadiSessionManager + + fixed session invalidation error in wadisessionmanager fixed session fixed + session invalidation error in wadisessionmanager Fixed session invalidation + error in WadiSessionManager + + improved unavailabile handling improved unavailabile handling improved + unavailabile handling Improved unavailabile handling + + senderror resets output state senderror resets output state senderror resets + output state sendError resets output state + + updated wadi to version 2.0-m3 updated wadi to version 2.0-m3 updated wadi + to version 2.0-m3 Updated Wadi to version 2.0-M3 jetty-6.1.2rc5 - 24 April 2007 + JETTY-305 delayed connection destroy + JETTY-309 handle close in multivalue connection fields + JETTY-314 fix for possible NPE in Request.isRequestedSessionIdValid - + Allow jsp-file to be / or /* - + removed some compile warnings - + set default keystore for SslSocketConnector + + allow jsp-file to be / or /* allow jsp-file to be / or /* allow jsp-file to + be / or /* Allow jsp-file to be / or /* + + removed some compile warnings removed some compile warnings removed some + compile warnings removed some compile warnings + + set default keystore for sslsocketconnector set default keystore for set + default keystore for sslsocketconnector set default keystore for + SslSocketConnector jetty-6.1.2rc4 - 19 April 2007 + JETTY-294 Fixed authentication reset @@ -6263,12 +6636,22 @@ jetty-6.1.2rc3 - 16 April 2007 + JETTY-296 Close direct content inputstreams + JETTY-297 Recreate tmp dir on stop/start + JETTY-298 Names in JMX ObjectNames for context, servlets and filters - + AJP redirects https requests correctly - + Fixed writes of unencoded char arrays. - + Improved performance and exclusions for TLD scanning - + Improvements to allow simple setting of Cache-Control headers - + MBean properties assume writeable unless marked RO - + refactor of SessionManager and SessionIdManager for clustering + + ajp redirects https requests correctly ajp redirects https requests ajp + redirects https requests correctly AJP redirects https requests correctly + + fixed writes of unencoded char arrays. fixed writes of unencoded char fixed + writes of unencoded char arrays. Fixed writes of unencoded char arrays. + + improved performance and exclusions for tld scanning improved performa + improved performance and exclusions for tld scanning Improved performance + and exclusions for TLD scanning + + improvements to allow simple setting of cache-control headers improvem + improvements to allow simple setting of cache-control headers Improvements + to allow simple setting of Cache-Control headers + + mbean properties assume writeable unless marked ro mbean properties as mbean + properties assume writeable unless marked ro MBean properties assume + writeable unless marked RO + + refactor of sessionmanager and sessionidmanager for clustering refacto + refactor of sessionmanager and sessionidmanager for clustering refactor of + SessionManager and SessionIdManager for clustering jetty-6.1.2rc2 - 27 March 2007 + JETTY-125 maven plugin: ensure test dependencies on classpath for @@ -6292,18 +6675,39 @@ jetty-6.1.2rc2 - 27 March 2007 + JETTY-284 Fixed stop connector race + JETTY-286 isIntegral and isConfidential methods overridden in SslSelectChannelConnector - + Added RestFilter for PUT and DELETE from Aleksi Kallio - + AJP13 CPING request and CPONG response implemented - + AJP13 remoteUser, contextPath, servletPath requests implemented - + AJP13 Shutdown Request from peer implemented - + Change some JNDI logging to debug level instead of info - + Enable the SharedStoreContextualiser for the WadiSessionManager(Database + + added restfilter for put and delete from aleksi kallio added restfilte added + restfilter for put and delete from aleksi kallio Added RestFilter for PUT + and DELETE from Aleksi Kallio + + ajp13 cping request and cpong response implemented ajp13 cping request ajp13 + cping request and cpong response implemented AJP13 CPING request and CPONG + response implemented + + ajp13 remoteuser, contextpath, servletpath requests implemented ajp13 ajp13 + remoteuser, contextpath, servletpath requests implemented AJP13 remoteUser, + contextPath, servletPath requests implemented + + ajp13 shutdown request from peer implemented ajp13 shutdown request fr ajp13 + shutdown request from peer implemented AJP13 Shutdown Request from peer + implemented + + change some jndi logging to debug level instead of info change some jn + change some jndi logging to debug level instead of info Change some JNDI + logging to debug level instead of info + + enable the sharedstorecontextualiser for the wadisessionmanager(databa + enable the sharedstorecontextualiser for the wadisessionmanager(databa + Enable the SharedStoreContextualiser for the WadiSessionManager(Database store for clustering) - + Make annotations work for maven plugin - + Optimized multi threaded init on startup servlets - + Refactor Scanner to increase code reuse with maven/ant plugins - + Removed unneeded specialized TagLibConfiguration class from maven plugin - + Update jasper to glassfish tag SJSAS-9_1-B39-RC-14_Mar_2007 + + make annotations work for maven plugin make annotations work for maven make + annotations work for maven plugin Make annotations work for maven plugin + + optimized multi threaded init on startup servlets optimized multi thre + optimized multi threaded init on startup servlets Optimized multi threaded + init on startup servlets + + refactor scanner to increase code reuse with maven/ant plugins refacto + refactor scanner to increase code reuse with maven/ant plugins Refactor + Scanner to increase code reuse with maven/ant plugins + + removed unneeded specialized taglibconfiguration class from maven plug + removed unneeded specialized taglibconfiguration class from maven plug + Removed unneeded specialized TagLibConfiguration class from maven plugin + + update jasper to glassfish tag sjsas-9_1-b39-rc-14_mar_2007 update jas + update jasper to glassfish tag sjsas-9_1-b39-rc-14_mar_2007 Update jasper to + glassfish tag SJSAS-9_1-B39-RC-14_Mar_2007 jetty-6.1.2rc1 - 08 March 2007 + JETTY-157 make CGI handle binary data @@ -6319,20 +6723,47 @@ jetty-6.1.2rc1 - 08 March 2007 + JETTY-250 protect attribute enumerations from modification + JETTY-252 Fixed stats handling of close connection + JETTY-254 prevent close of jar file by bad JVMs - + add ajp connector jar to jetty-jboss sar - + Added option to allow null pathInfo within context - + Added support for lowResourcesIdleTime to SelectChannelConnector - + BoundedThreadPool queues rather than blocks excess jobs. - + call preDestroy() after servlet/filter destroy() - + Ensure jetty/jboss uses servlet-spec classloading order - + Fix constructor for Constraint to detect wildcard role - + fix Dump servlet to handle primitive array types - + handle comma separated values for the Connection: header - + Improved Context setters for wadi support - + Improved handling of early close in AJP - + Support null pathInfo option for webservices deployed to jetty/jboss - + TagLibConfiguration uses resource input stream - + Workaround to call SecurityAssocation.clear() for jboss webservices calls to + + add ajp connector jar to jetty-jboss sar add ajp connector jar to add ajp + connector jar to jetty-jboss sar add ajp connector jar to jetty-jboss sar + + added option to allow null pathinfo within context added option to all added + option to allow null pathinfo within context Added option to allow null + pathInfo within context + + added support for lowresourcesidletime to selectchannelconnector added added + support for lowresourcesidletime to selectchannelconnector Added support for + lowResourcesIdleTime to SelectChannelConnector + + boundedthreadpool queues rather than blocks excess jobs. boundedthread + boundedthreadpool queues rather than blocks excess jobs. BoundedThreadPool + queues rather than blocks excess jobs. + + call predestroy() after servlet/filter destroy() call predestroy() aft call + predestroy() after servlet/filter destroy() call preDestroy() after + servlet/filter destroy() + + ensure jetty/jboss uses servlet-spec classloading order ensure jetty/j + ensure jetty/jboss uses servlet-spec classloading order Ensure jetty/jboss + uses servlet-spec classloading order + + fix constructor for constraint to detect wildcard role fix constructor fix + constructor for constraint to detect wildcard role Fix constructor for + Constraint to detect wildcard role + + fix dump servlet to handle primitive array types fix dump servlet to h fix + dump servlet to handle primitive array types fix Dump servlet to handle + primitive array types + + handle comma separated values for the connection: header handle comma handle + comma separated values for the connection: header handle comma separated + values for the Connection: header + + improved context setters for wadi support improved context setters for + improved context setters for wadi support Improved Context setters for wadi + support + + improved handling of early close in ajp improved handling of early clo + improved handling of early close in ajp Improved handling of early close in + AJP + + support null pathinfo option for webservices deployed to jetty/jboss s + support null pathinfo option for webservices deployed to jetty/jboss Support + null pathInfo option for webservices deployed to jetty/jboss + + taglibconfiguration uses resource input stream taglibconfiguration use + taglibconfiguration uses resource input stream TagLibConfiguration uses + resource input stream + + workaround to call securityassocation.clear() for jboss webservices ca + workaround to call securityassocation.clear() for jboss webservices ca + Workaround to call SecurityAssocation.clear() for jboss webservices calls to ejbs jetty-6.1.2rc0 - 15 February 2007 @@ -6342,18 +6773,31 @@ jetty-6.1.2rc0 - 15 February 2007 + JETTY-236 Buffer leak + JETTY-237 AJPParser Buffer Data Handling + JETTY-238 prevent form truncation - + Coma separated cookies - + Cometd timeout clients - + Patches from sybase for ClientCertAuthenticator + + coma separated cookies coma separated cookies coma separated cookies Coma + separated cookies + + cometd timeout clients cometd timeout clients cometd timeout clients Cometd + timeout clients + + patches from sybase for clientcertauthenticator patches from sybase fo + patches from sybase for clientcertauthenticator Patches from sybase for + ClientCertAuthenticator jetty-6.1.2pre1 - 05 February 2007 + JETTY-224 run build up to process-test before invoking jetty:run - + Added error handling for incorrect keystore/truststore password in + + added error handling for incorrect keystore/truststore password in add added + error handling for incorrect keystore/truststore password in Added error + handling for incorrect keystore/truststore password in SslSelectChannelConnector - + added win32service to standard build - + allow ResourceHandler to use resource base from an enclosing ContextHandler - + fixed bug with virtual host handling in ContextHandlerCollection - + refactored cometd to be continuation independent + + added win32service to standard build added win32service to standard bu added + win32service to standard build added win32service to standard build + + allow resourcehandler to use resource base from an enclosing contextha allow + resourcehandler to use resource base from an enclosing contextha allow + ResourceHandler to use resource base from an enclosing ContextHandler + + fixed bug with virtual host handling in contexthandlercollection fixed fixed + bug with virtual host handling in contexthandlercollection fixed bug with + virtual host handling in ContextHandlerCollection + + refactored cometd to be continuation independent refactored cometd to + refactored cometd to be continuation independent refactored cometd to be + continuation independent jetty-6.1.2pre0 - 01 February 2007 + JETTY-213 request.isUserInRole(String) fixed @@ -6363,77 +6807,139 @@ jetty-6.1.2pre0 - 01 February 2007 + JETTY-219 fixed trailing encoded chars in cookies + JETTY-220 fixed AJP content + JETTY-222 fix problem parsing faces-config.xml - + Added cometd jsonp transport from aabeling - + Added terracotta cluster support for cometd - + add support for Annotations in servlet, filter and listener sources - + enable SslSelectChannelConnector to modify the SslEngine's client - authentication settings - + Fixed 1.4 method in jetty plus - + Fixed generation of errors during jsp compilation for jsp-2.1 - + handle virtual hosts in ContextHandlerCollection - + improved writer buffering - + moved JSON parser to util to support reuse + + added cometd jsonp transport from aabeling added cometd jsonp transpor added + cometd jsonp transport from aabeling Added cometd jsonp transport from + aabeling + + added terracotta cluster support for cometd added terracotta cluster s added + terracotta cluster support for cometd Added terracotta cluster support for + cometd + + add support for annotations in servlet, filter and listener sources ad add + support for annotations in servlet, filter and listener sources add support + for Annotations in servlet, filter and listener sources + + enable sslselectchannelconnector to modify the sslengine's client enab + enable sslselectchannelconnector to modify the sslengine's client enable + SslSelectChannelConnector to modify the SslEngine's client authentication + settings + + fixed 1.4 method in jetty plus fixed 1.4 method in jetty plus fixed 1.4 + method in jetty plus Fixed 1.4 method in jetty plus + + fixed generation of errors during jsp compilation for jsp-2.1 fixed fixed + generation of errors during jsp compilation for jsp-2.1 Fixed generation of + errors during jsp compilation for jsp-2.1 + + handle virtual hosts in contexthandlercollection handle virtual hosts + handle virtual hosts in contexthandlercollection handle virtual hosts in + ContextHandlerCollection + + improved writer buffering improved writer buffering improved writer + buffering improved writer buffering + + moved json parser to util to support reuse moved json parser to util t moved + json parser to util to support reuse moved JSON parser to util to support + reuse jetty-6.1.1 - 15 January 2007 jetty-6.1.1rc1 - 12 January 2007 + JETTY-210 Build jsp-api-2.0 for java 1.4 - + Use timers for Rollover logs and scanner + + use timers for rollover logs and scanner use timers for rollover logs use + timers for rollover logs and scanner Use timers for Rollover logs and + scanner jetty-6.1.1rc0 - 10 January 2007 + JETTY-209 Added ServletTester.createSocketConnector + JETTY-210 Build servlet-api-2.5 for java 1.4 + JETTY-211 fixed jboss build - + CGI servlet fails without exception - + ensure response headers on AjaxFilter messsages turn off caching - + extras/win32service download only if no JavaServiceWrapper exist - + Fixed unpacking WAR - + MultiPartFilter deleteFiles option - + simplified chat demo - + start webapps on deployment with jboss, use isDistributed() method from + + cgi servlet fails without exception cgi servlet fails without exceptio cgi + servlet fails without exception CGI servlet fails without exception + + ensure response headers on ajaxfilter messsages turn off caching ensur + ensure response headers on ajaxfilter messsages turn off caching ensure + response headers on AjaxFilter messsages turn off caching + + extras/win32service download only if no javaservicewrapper exist + extras/win32service download only if no javaservicewrapper exist + extras/win32service download only if no JavaServiceWrapper exist + + fixed unpacking war fixed unpacking war fixed unpacking war Fixed unpacking + WAR + + multipartfilter deletefiles option multipartfilter deletefiles option + multipartfilter deletefiles option MultiPartFilter deleteFiles option + + simplified chat demo simplified chat demo simplified chat demo simplified + chat demo + + start webapps on deployment with jboss, use isdistributed() method fro start + webapps on deployment with jboss, use isdistributed() method fro start + webapps on deployment with jboss, use isDistributed() method from WebAppContext jetty-6.1.0 - 09 January 2007 - + Fixed unpacking WAR + + fixed unpacking war fixed unpacking war fixed unpacking war Fixed unpacking + WAR jetty-6.1.0 - 05 January 2007 + JETTY-206 fixed AJP getServerPort and getRemotePort - + Added extras/win32service - + Added WebAppContext.setCopyWebDir to avoid JVM jar caching issues. - + GERONIMO-2677 refactor of session id handling for clustering - + Improved config of java5 threadpool - + Protect context deployer from Errors - + ServletTester sets content length + + added extras/win32service added extras/win32service added + extras/win32service Added extras/win32service + + added webappcontext.setcopywebdir to avoid jvm jar caching issues. add added + webappcontext.setcopywebdir to avoid jvm jar caching issues. Added + WebAppContext.setCopyWebDir to avoid JVM jar caching issues. + + geronimo-2677 refactor of session id handling for clustering geronimo- + geronimo-2677 refactor of session id handling for clustering GERONIMO-2677 + refactor of session id handling for clustering + + improved config of java5 threadpool improved config of java5 threadpoo + improved config of java5 threadpool Improved config of java5 threadpool + + protect context deployer from errors protect context deployer from err + protect context deployer from errors Protect context deployer from Errors + + servlettester sets content length servlettester sets content length + servlettester sets content length ServletTester sets content length jetty-6.1.0rc3 - 02 January 2007 + JETTY-195 fixed ajp ssl_cert handling + JETTY-197 fixed getRemoteHost + JETTY-203 initialize ServletHandler if no Context instance + JETTY-204 setuid fix - + extras/servlet-tester - + implement resource injection and lifecycle callbacks declared in web.xml - + setLocale does not use default content type - + Use standard releases of servlet and jsp APIs. + + extras/servlet-tester extras/servlet-tester extras/servlet-tester + extras/servlet-tester + + implement resource injection and lifecycle callbacks declared in web.x + implement resource injection and lifecycle callbacks declared in web.x + implement resource injection and lifecycle callbacks declared in web.xml + + setlocale does not use default content type setlocale does not use def + setlocale does not use default content type setLocale does not use default + content type + + use standard releases of servlet and jsp apis. use standard releases o use + standard releases of servlet and jsp apis. Use standard releases of servlet + and jsp APIs. jetty-6.1.0rc2 - 20 December 2006 + JETTY-167 cometd refactor + JETTY-194 doubles slashes are significant in URIs + JETTY-201 make run-as work for both web container and ejb container in jboss - + AJP13Parser, throw IllegalStateException on unimplemented AJP13 Requests - + ContextHandlerCollection is noop with no handlers - + ensure classpath passed to jspc contains file paths not urls - + ensure com.sun.el.Messages.properties included in jsp-2.1 jar - + ensure servlets initialized if only using ServletHandler - + fixed Jetty-197 AJP13 getRemoteHost() - + Refactored AbstractSessionManager for ehcache - + remove code to remove SecurityHandler if no constraints present + + ajp13parser, throw illegalstateexception on unimplemented ajp13 reques + ajp13parser, throw illegalstateexception on unimplemented ajp13 reques + AJP13Parser, throw IllegalStateException on unimplemented AJP13 Requests + + contexthandlercollection is noop with no handlers contexthandlercollec + contexthandlercollection is noop with no handlers ContextHandlerCollection + is noop with no handlers + + ensure classpath passed to jspc contains file paths not urls ensure ensure + classpath passed to jspc contains file paths not urls ensure classpath + passed to jspc contains file paths not urls + + ensure com.sun.el.messages.properties included in jsp-2.1 jar ensure ensure + com.sun.el.messages.properties included in jsp-2.1 jar ensure + com.sun.el.Messages.properties included in jsp-2.1 jar + + ensure servlets initialized if only using servlethandler ensure servle + ensure servlets initialized if only using servlethandler ensure servlets + initialized if only using ServletHandler + + Jetty-197 AJP13 getRemoteHost() + + refactored abstractsessionmanager for ehcache refactored refactored + abstractsessionmanager for ehcache Refactored AbstractSessionManager for + ehcache + + remove code to remove securityhandler if no constraints present remove + remove code to remove securityhandler if no constraints present remove code + to remove SecurityHandler if no constraints present jetty-6.1.0rc1 - 14 December 2006 + JETTY-193 MailSessionReference without authentication + JETTY-199 newClassPathResource - + added cache session manager(pre-alpha) - + ensure unique name for ServletHolder instances - + simplified idle timeout handling + + added cache session manager(pre-alpha) added cache session added cache + session manager(pre-alpha) added cache session manager(pre-alpha) + + ensure unique name for servletholder instances ensure unique name for ensure + unique name for servletholder instances ensure unique name for ServletHolder + instances + + simplified idle timeout handling simplified idle timeout handling simplified + idle timeout handling simplified idle timeout handling jetty-6.1.0rc0 - 08 December 2006 + JETTY-123 fix improved @@ -6443,34 +6949,62 @@ jetty-6.1.0rc0 - 08 December 2006 + JETTY-185 tmp filename generation + JETTY-189 ProxyConnection + 403 for BASIC authorization failure - + Added extras/gwt - + Added org.mortbay.thread.concurrent.ThreadPool - + Added spring ejb3 demo example - + DefaultHandler links virtual hosts. - + Dispatcher does not protect javax.servlet attributes - + Fixed cachesize on invalidate - + Fixed idle timeout - + flush if content-length written - + forward query attribute fix - + Handle request content encodings - + null for unknown named dispatches - + Optimization of writers - + ServletHandler allows non REQUEST exceptions to propogate - + Servlet role ref - + session attribute listener - + Support for RFC2518 102-processing response - + TCK fixes from Sybase: - + update jasper to glassfish SJSAS-9_1-B27-EA-07_Dec_2006 + + added extras/gwt added extras/gwt added extras/gwt Added extras/gwt + + added org.mortbay.thread.concurrent.threadpool added added + org.mortbay.thread.concurrent.threadpool Added + org.mortbay.thread.concurrent.ThreadPool + + added spring ejb3 demo example added spring ejb3 demo example added spring + ejb3 demo example Added spring ejb3 demo example + + defaulthandler links virtual hosts. defaulthandler links virtual hosts + defaulthandler links virtual hosts. DefaultHandler links virtual hosts. + + dispatcher does not protect javax.servlet attributes dispatcher does n + dispatcher does not protect javax.servlet attributes Dispatcher does not + protect javax.servlet attributes + + fixed cachesize on invalidate fixed cachesize on invalidate fixed cachesize + on invalidate Fixed cachesize on invalidate + + fixed idle timeout fixed idle timeout fixed idle timeout Fixed idle timeout + + flush if content-length written flush if content-length written flush if + content-length written flush if content-length written + + forward query attribute fix forward query attribute fix forward query + attribute fix forward query attribute fix + + handle request content encodings handle request content encodings handle + request content encodings Handle request content encodings + + null for unknown named dispatches null for unknown named dispatches null for + unknown named dispatches null for unknown named dispatches + + optimization of writers optimization of writers optimization of writers + Optimization of writers + + servlethandler allows non request exceptions to propogate servlethandl + servlethandler allows non request exceptions to propogate ServletHandler + allows non REQUEST exceptions to propogate + + servlet role ref servlet role ref servlet role ref Servlet role ref + + session attribute listener session attribute listener session attribute + listener session attribute listener + + support for rfc2518 102-processing response support for rfc2518 support for + rfc2518 102-processing response Support for RFC2518 102-processing response + + tck fixes from sybase: tck fixes from sybase: tck fixes from sybase: TCK + fixes from Sybase: + + update jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper + update jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper to + glassfish SJSAS-9_1-B27-EA-07_Dec_2006 jetty-6.1.0pre3 - 22 November 2006 + JETTY-154 Cookies are double quotes only + JETTY-180 XBean support for context deploy - + CVE-2006-6969 Upgraded session ID generation to use SecureRandom - + Expose isResumed on Continuations - + fixed NIO endpoint flush. Avoid duplicate sends - + Refactored AJP generator - + Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA - + updated glassfish jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 + + cve-2006-6969 upgraded session id generation to use securerandom + cve-2006-6969 upgraded session id generation to use securerandom + CVE-2006-6969 Upgraded session ID generation to use SecureRandom + + expose isresumed on continuations expose isresumed on continuations expose + isresumed on continuations Expose isResumed on Continuations + + fixed nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed + nio endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid + duplicate sends + + refactored ajp generator refactored ajp generator refactored ajp generator + Refactored AJP generator + + support tls_dhe_rsa_with_aes_256_cbc_sha support support + tls_dhe_rsa_with_aes_256_cbc_sha Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA + + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated + glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated glassfish + jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 jetty-6.0.2 - 22 November 2006 + JETTY-118 ignore extra content after close @@ -6483,87 +7017,185 @@ jetty-6.0.2 - 22 November 2006 + JETTY-171 Fixed filter mapping + JETTY-172 use getName() instead of toString + JETTY-173 restore servletpath after dispatch - + (re)make JAAS classes available to webapp classloader - + add replacement in jetty xml config files - + Added concept of bufferred endpoint - + Added conversion Object -> ObjectName for the result of method calls made on + + (re)make jaas classes available to webapp classloader (re)make jaas cl + (re)make jaas classes available to webapp classloader (re)make JAAS classes + available to webapp classloader + + add replacement in jetty xml config files add add + replacement in jetty xml config files add replacement + in jetty xml config files + + added concept of bufferred endpoint added concept of bufferred endpoin added + concept of bufferred endpoint Added concept of bufferred endpoint + + added conversion object -> objectname for the result of method calls m added + conversion object -> objectname for the result of method calls m Added + conversion Object -> ObjectName for the result of method calls made on MBeans - + Added DataFilter configuration to cometd - + added examples/test-jaas-webapp - + Added extraClassPath to WebAppContext - + Added hierarchical destroy of mbeans - + Added ID constructor to AbstractSessionManager.Session - + added isStopped() in LifeCycle and AbstractLifeCycle - + Added override descriptor for deployment of RO webapps - + Allow session cookie to be refreshed - + alternate optimizations of writer (use -Dbuffer.writers=true) - + Apply queryEncoding to getQueryString - + CGI example in test webapp - + change examples/test-jndi-webapp so it can be regularly built - + Default soLinger is -1 (disabled) - + ensure "" returned for ServletContext.getContextPath() for root context - + ensure sessions nulled out on request recycle; ensure session null after + + added datafilter configuration to cometd added datafilter configuratio added + datafilter configuration to cometd Added DataFilter configuration to cometd + + added examples/test-jaas-webapp added examples/test-jaas-webapp added + examples/test-jaas-webapp added examples/test-jaas-webapp + + added extraclasspath to webappcontext added extraclasspath to webappco added + extraclasspath to webappcontext Added extraClassPath to WebAppContext + + added hierarchical destroy of mbeans added hierarchical destroy of mbe added + hierarchical destroy of mbeans Added hierarchical destroy of mbeans + + added id constructor to abstractsessionmanager.session added id constr added + id constructor to abstractsessionmanager.session Added ID constructor to + AbstractSessionManager.Session + + added isstopped() in lifecycle and abstractlifecycle added isstopped() added + isstopped() in lifecycle and abstractlifecycle added isStopped() in + LifeCycle and AbstractLifeCycle + + added override descriptor for deployment of ro webapps added override added + override descriptor for deployment of ro webapps Added override descriptor + for deployment of RO webapps + + allow session cookie to be refreshed allow session cookie to be refres allow + session cookie to be refreshed Allow session cookie to be refreshed + + alternate optimizations of writer (use -dbuffer.writers=true) alternat + alternate optimizations of writer (use -dbuffer.writers=true) alternate + optimizations of writer (use -Dbuffer.writers=true) + + apply queryencoding to getquerystring apply queryencoding to getquerys apply + queryencoding to getquerystring Apply queryEncoding to getQueryString + + cgi example in test webapp cgi example in test webapp cgi example in test + webapp CGI example in test webapp + + change examples/test-jndi-webapp so it can be regularly built change change + examples/test-jndi-webapp so it can be regularly built change + examples/test-jndi-webapp so it can be regularly built + + default solinger is -1 (disabled) default solinger is -1 (disabled) default + solinger is -1 (disabled) Default soLinger is -1 (disabled) + + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for ServletContext.getContextPath() for root context + + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null after invalidate - + ensure setContextPath() works when invoked from jetty-web.xml - + fixed NIO endpoint flush. Avoid duplicate sends - + Fixed NPE in bio.SocketEndPoint.getRemoteAddr() - + Fixed resource cache flushing - + Fixed tld parsing for maven plugin - + HttpGenerator can generate requests - + Improved *-mbean.properties files and specialized some MBean - + Major refactor of SelectChannel EndPoint for client selector - + make .tag files work in packed wars - + Moved all modules updates from 6.1pre2 to 6.0 - + Plugin shutdown context before stopping it. - + Refactored session lifecycle and additional tests - + release resource lookup in Default servlet - + Reverted UnixCrypt to use coersions (that effected results) - + Session IDs can change worker ID - + Simplified ResourceCache and Default servlet - + SocketConnector closes all connections in doStop - + Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA - + updated glassfish jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 - + Upgraded session ID generation to use SecureRandom + + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure + setcontextpath() works when invoked from jetty-web.xml ensure + setContextPath() works when invoked from jetty-web.xml + + fixed nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed + nio endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid + duplicate sends + + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in + bio.socketendpoint.getremoteaddr() Fixed NPE in + bio.SocketEndPoint.getRemoteAddr() + + fixed resource cache flushing fixed resource cache flushing fixed resource + cache flushing Fixed resource cache flushing + + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed + tld parsing for maven plugin Fixed tld parsing for maven plugin + + httpgenerator can generate requests httpgenerator can generate request + httpgenerator can generate requests HttpGenerator can generate requests + + improved *-mbean.properties files and specialized some mbean improved + improved *-mbean.properties files and specialized some mbean Improved + + *-mbean.properties files and specialized some MBean + + major refactor of selectchannel endpoint for client selector major ref major + refactor of selectchannel endpoint for client selector Major refactor of + SelectChannel EndPoint for client selector + + make .tag files work in packed wars make .tag files work in packed war make + .tag files work in packed wars make .tag files work in packed wars + + moved all modules updates from 6.1pre2 to 6.0 moved all modules update moved + all modules updates from 6.1pre2 to 6.0 Moved all modules updates from + 6.1pre2 to 6.0 + + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. Plugin shutdown context before + stopping it. + + refactored session lifecycle and additional tests refactored session + refactored session lifecycle and additional tests Refactored session + lifecycle and additional tests + + release resource lookup in default servlet release resource lookup in + release resource lookup in default servlet release resource lookup in + Default servlet + + reverted unixcrypt to use coersions (that effected results) reverted + reverted unixcrypt to use coersions (that effected results) Reverted + UnixCrypt to use coersions (that effected results) + + session ids can change worker id session ids can change worker id session + ids can change worker id Session IDs can change worker ID + + simplified resourcecache and default servlet simplified resourcecache + simplified resourcecache and default servlet Simplified ResourceCache and + Default servlet + + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop SocketConnector closes all + connections in doStop + + support tls_dhe_rsa_with_aes_256_cbc_sha support support + tls_dhe_rsa_with_aes_256_cbc_sha Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA + + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated + glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated glassfish + jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 + + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom Upgraded session ID + generation to use SecureRandom jetty-5.1.14 - 09 August 2007 + JETTY-155 force close with content length + JETTY-369 failed state in Container - + patched with correct version + + patched with correct version patched with correct version patched with + correct version patched with correct version jetty-5.1.13 - + Sourceforge 1648335: problem setting version for AJP13 + + sourceforge 1648335: problem setting version for ajp13 sourceforge 164 + sourceforge 1648335: problem setting version for ajp13 Sourceforge 1648335: + problem setting version for AJP13 jetty-5.1.12 - 22 November 2006 + JETTY-154 Cookies ignore single quotes - + Added support for TLS_DHE_RSA_WITH_AES_256_CBC_SHA - + AJP protected against bad requests from mod_jk - + Quote single quotes in cookies - + Upgraded session ID generation to use SecureRandom + + added support for tls_dhe_rsa_with_aes_256_cbc_sha added support for added + support for tls_dhe_rsa_with_aes_256_cbc_sha Added support for + TLS_DHE_RSA_WITH_AES_256_CBC_SHA + + ajp protected against bad requests from mod_jk ajp protected against b ajp + protected against bad requests from mod_jk AJP protected against bad + requests from mod_jk + + quote single quotes in cookies quote single quotes in cookies quote single + quotes in cookies Quote single quotes in cookies + + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom Upgraded session ID + generation to use SecureRandom jetty-4.2.27 - 22 November 2006 - + AJP protected against bad requests from mod_jk - + Upgraded session ID generation to use SecureRandom + + ajp protected against bad requests from mod_jk ajp protected against b ajp + protected against bad requests from mod_jk AJP protected against bad + requests from mod_jk + + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom Upgraded session ID + generation to use SecureRandom jetty-6.1.0pre2 - 20 November 2006 - + Added extraClassPath to WebAppContext - + Clean up jboss module licensing - + Fixed resource cache flushing + + added extraclasspath to webappcontext added extraclasspath to webappco added + extraclasspath to webappcontext Added extraClassPath to WebAppContext + + clean up jboss module licensing clean up jboss module licensing clean up + jboss module licensing Clean up jboss module licensing + + fixed resource cache flushing fixed resource cache flushing fixed resource + cache flushing Fixed resource cache flushing jetty-6.1.0pre1 - 19 November 2006 + JETTY-151 Idle timeout only applies to blocking operations + JETTY-171 Fixed filter mapping + JETTY-172 use getName() instead of toString + JETTY-173 restore servletpath after dispatch - + Added extras/jboss - + Added hierarchical destroy of mbeans - + Added override descriptor for deployment of RO webapps - + alternate optimizations of writer (use -Dbuffer.writers=true) - + Fixed NPE in bio.SocketEndPoint.getRemoteAddr() - + Major refactor of SelectChannel EndPoint for client selector - + release resource lookup in Default servlet - + Reverted UnixCrypt to use coersions (that effected results) - + Simplified ResourceCache and Default servlet - + Use ContextDeployer as main deployer in jetty.xml + + added extras/jboss added extras/jboss added extras/jboss Added extras/jboss + + added hierarchical destroy of mbeans added hierarchical destroy of mbe added + hierarchical destroy of mbeans Added hierarchical destroy of mbeans + + added override descriptor for deployment of ro webapps added override added + override descriptor for deployment of ro webapps Added override descriptor + for deployment of RO webapps + + alternate optimizations of writer (use -dbuffer.writers=true) alternat + alternate optimizations of writer (use -dbuffer.writers=true) alternate + optimizations of writer (use -Dbuffer.writers=true) + + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in + bio.socketendpoint.getremoteaddr() Fixed NPE in + bio.SocketEndPoint.getRemoteAddr() + + major refactor of selectchannel endpoint for client selector major ref major + refactor of selectchannel endpoint for client selector Major refactor of + SelectChannel EndPoint for client selector + + release resource lookup in default servlet release resource lookup in + release resource lookup in default servlet release resource lookup in + Default servlet + + reverted unixcrypt to use coersions (that effected results) reverted + reverted unixcrypt to use coersions (that effected results) Reverted + UnixCrypt to use coersions (that effected results) + + simplified resourcecache and default servlet simplified resourcecache + simplified resourcecache and default servlet Simplified ResourceCache and + Default servlet + + use contextdeployer as main deployer in jetty.xml use contextdeployer use + contextdeployer as main deployer in jetty.xml Use ContextDeployer as main + deployer in jetty.xml jetty-6.1.0pre0 - 21 October 2006 + JETTY-112 ContextHandler checks if started @@ -6577,58 +7209,129 @@ jetty-6.1.0pre0 - 21 October 2006 + JETTY-124 always initialize filter caches + JETTY-126 handle content > Integer.MAX_VALUE + JETTY-129 ServletContextListeners called after servlets are initialized - + (re)make JAAS classes available to webapp classloader - + add replacement in jetty xml config files - + add a maven-jetty-jspc-plugin to do jspc precompilation - + added cometd chat demo - + Added concept of bufferred endpoint - + Added conversion Object -> ObjectName for the result of method calls made on + + (re)make jaas classes available to webapp classloader (re)make jaas cl + (re)make jaas classes available to webapp classloader (re)make JAAS classes + available to webapp classloader + + add replacement in jetty xml config files add add + replacement in jetty xml config files add replacement + in jetty xml config files + + add a maven-jetty-jspc-plugin to do jspc precompilation add a add a + maven-jetty-jspc-plugin to do jspc precompilation add a + maven-jetty-jspc-plugin to do jspc precompilation + + added cometd chat demo added cometd chat demo added cometd chat demo added + cometd chat demo + + added concept of bufferred endpoint added concept of bufferred endpoin added + concept of bufferred endpoint Added concept of bufferred endpoint + + added conversion object -> objectname for the result of method calls m added + conversion object -> objectname for the result of method calls m Added + conversion Object -> ObjectName for the result of method calls made on MBeans - + Added DataFilter configuration to cometd - + added examples/test-jaas-webapp - + Added extras/setuid to support start as root - + Added ID constructor to AbstractSessionManager.Session - + added isStopped() in LifeCycle and AbstractLifeCycle - + add hot deployment capability - + AJP Connector - + Allow session cookie to be refreshed - + Apply queryEncoding to getQueryString - + CGI example in test webapp - + change examples/test-jndi-webapp so it can be regularly built - + Default soLinger is -1 (disabled) - + ensure "" returned for ServletContext.getContextPath() for root context - + ensure sessions nulled out on request recycle; ensure session null after + + added datafilter configuration to cometd added datafilter configuratio added + datafilter configuration to cometd Added DataFilter configuration to cometd + + added examples/test-jaas-webapp added examples/test-jaas-webapp added + examples/test-jaas-webapp added examples/test-jaas-webapp + + added extras/setuid to support start as root added extras/setuid to su added + extras/setuid to support start as root Added extras/setuid to support start + as root + + added id constructor to abstractsessionmanager.session added id constr added + id constructor to abstractsessionmanager.session Added ID constructor to + AbstractSessionManager.Session + + added isstopped() in lifecycle and abstractlifecycle added isstopped() added + isstopped() in lifecycle and abstractlifecycle added isStopped() in + LifeCycle and AbstractLifeCycle + + add hot deployment capability add hot deployment capability add hot + deployment capability add hot deployment capability + + ajp connector ajp connector ajp connector AJP Connector + + allow session cookie to be refreshed allow session cookie to be refres allow + session cookie to be refreshed Allow session cookie to be refreshed + + apply queryencoding to getquerystring apply queryencoding to getquerys apply + queryencoding to getquerystring Apply queryEncoding to getQueryString + + cgi example in test webapp cgi example in test webapp cgi example in test + webapp CGI example in test webapp + + change examples/test-jndi-webapp so it can be regularly built change change + examples/test-jndi-webapp so it can be regularly built change + examples/test-jndi-webapp so it can be regularly built + + default solinger is -1 (disabled) default solinger is -1 (disabled) default + solinger is -1 (disabled) Default soLinger is -1 (disabled) + + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for ServletContext.getContextPath() for root context + + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null after invalidate - + ensure setContextPath() works when invoked from jetty-web.xml - + Factored ErrorPageErrorHandler out of WebAppContext - + fixed ClassCastException in JAASUserRealm.setRoleClassNames(String[]) - + fixed isUserInRole checking for JAASUserRealm - + Fixed tld parsing for maven plugin - + HttpGenerator can generate requests - + Improved *-mbean.properties files and specialized some MBean - + Improved charset handling in URLs - + JETYY-120 SelectChannelConnector closes all connections on stop - + make .tag files work in packed wars - + minor optimization of bytes to UTF8 strings - + Plugin shutdown context before stopping it. - + Ported HtAccessHandler - + Refactored ErrorHandler to avoid statics - + Refactored session lifecycle and additional tests - + Session IDs can change worker ID - + SocketConnector closes all connections in doStop - + Start of a client API - + Transforming classloader does not transform resources. + + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure + setcontextpath() works when invoked from jetty-web.xml ensure + setContextPath() works when invoked from jetty-web.xml + + factored errorpageerrorhandler out of webappcontext factored factored + errorpageerrorhandler out of webappcontext Factored ErrorPageErrorHandler + out of WebAppContext + + fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + ClassCastException in JAASUserRealm.setRoleClassNames(String[]) + + fixed isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed + isuserinrole checking for jaasuserrealm fixed isUserInRole checking for + JAASUserRealm + + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed + tld parsing for maven plugin Fixed tld parsing for maven plugin + + httpgenerator can generate requests httpgenerator can generate request + httpgenerator can generate requests HttpGenerator can generate requests + + improved *-mbean.properties files and specialized some mbean improved + improved *-mbean.properties files and specialized some mbean Improved + + *-mbean.properties files and specialized some MBean + + improved charset handling in urls improved charset handling in urls improved + charset handling in urls Improved charset handling in URLs + + jetyy-120 selectchannelconnector closes all connections on stop jetyy- + jetyy-120 selectchannelconnector closes all connections on stop JETYY-120 + SelectChannelConnector closes all connections on stop + + make .tag files work in packed wars make .tag files work in packed war make + .tag files work in packed wars make .tag files work in packed wars + + minor optimization of bytes to utf8 strings minor optimization of byte minor + optimization of bytes to utf8 strings minor optimization of bytes to UTF8 + strings + + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. Plugin shutdown context before + stopping it. + + ported htaccesshandler ported htaccesshandler ported htaccesshandler Ported + HtAccessHandler + + refactored errorhandler to avoid statics refactored errorhandler to av + refactored errorhandler to avoid statics Refactored ErrorHandler to avoid + statics + + refactored session lifecycle and additional tests refactored session + refactored session lifecycle and additional tests Refactored session + lifecycle and additional tests + + session ids can change worker id session ids can change worker id session + ids can change worker id Session IDs can change worker ID + + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop SocketConnector closes all + connections in doStop + + start of a client api start of a client api start of a client api Start of a + client API + + transforming classloader does not transform resources. transforming + transforming classloader does not transform resources. Transforming + classloader does not transform resources. jetty-5.1.11 - 08 October 2006 - + Default servlet only uses setContentLength on wrapped responses - + Fixed AJP chunk header (1507377) - + Fixed AJP handling of certificate length (1494939) - + fixed ByteBufferOutputStream capacity calculation - + Fixed order of destruction event calls - + Fix to HttpOutputStream from M.Traverso + + default servlet only uses setcontentlength on wrapped responses defaul + default servlet only uses setcontentlength on wrapped responses Default + servlet only uses setContentLength on wrapped responses + + fixed ajp chunk header (1507377) fixed ajp chunk header (1507377) fixed ajp + chunk header (1507377) Fixed AJP chunk header (1507377) + + fixed ajp handling of certificate length (1494939) fixed ajp handling fixed + ajp handling of certificate length (1494939) Fixed AJP handling of + certificate length (1494939) + + fixed bytebufferoutputstream capacity calculation fixed fixed + bytebufferoutputstream capacity calculation fixed ByteBufferOutputStream + capacity calculation + + fixed order of destruction event calls fixed order of destruction even fixed + order of destruction event calls Fixed order of destruction event calls + + fix to httpoutputstream from m.traverso fix to httpoutputstream from fix to + httpoutputstream from m.traverso Fix to HttpOutputStream from M.Traverso jetty-4.2.26 - 08 October 2006 - + Backport of AJP fixes + + backport of ajp fixes backport of ajp fixes backport of ajp fixes Backport + of AJP fixes jetty-6.0.1 - 24 September 2006 + JETTY-112 ContextHandler checks if started @@ -6637,2776 +7340,5959 @@ jetty-6.0.1 - 24 September 2006 + JETTY-115 Fixed addHeader + JETTY-121 init not called on externally constructed servlets + JETTY-124 always initialize filter caches - + Factored ErrorPageErrorHandler out of WebAppContext - + fixed ClassCastException in JAASUserRealm.setRoleClassNames(String[]) - + fixed isUserInRole checking for JAASUserRealm - + Improved charset handling in URLs - + JETYY-120 SelectChannelConnector closes all connections on stop - + minor optimization of bytes to UTF8 strings - + Refactored ErrorHandler to avoid statics + + factored errorpageerrorhandler out of webappcontext factored factored + errorpageerrorhandler out of webappcontext Factored ErrorPageErrorHandler + out of WebAppContext + + fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + ClassCastException in JAASUserRealm.setRoleClassNames(String[]) + + fixed isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed + isuserinrole checking for jaasuserrealm fixed isUserInRole checking for + JAASUserRealm + + improved charset handling in urls improved charset handling in urls improved + charset handling in urls Improved charset handling in URLs + + jetyy-120 selectchannelconnector closes all connections on stop jetyy- + jetyy-120 selectchannelconnector closes all connections on stop JETYY-120 + SelectChannelConnector closes all connections on stop + + minor optimization of bytes to utf8 strings minor optimization of byte minor + optimization of bytes to utf8 strings minor optimization of bytes to UTF8 + strings + + refactored errorhandler to avoid statics refactored errorhandler to av + refactored errorhandler to avoid statics Refactored ErrorHandler to avoid + statics jetty-6.0.0 - 10 September 2006 - + Conveniance builder methods for listeners and filters - + Plugin shutdown context before stopping it. - + SocketConnector closes all connections in doStop - + Transforming classloader does not transform resources. + + conveniance builder methods for listeners and filters conveniance buil + conveniance builder methods for listeners and filters Conveniance builder + methods for listeners and filters + + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. Plugin shutdown context before + stopping it. + + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop SocketConnector closes all + connections in doStop + + transforming classloader does not transform resources. transforming + transforming classloader does not transform resources. Transforming + classloader does not transform resources. jetty-6.0.0rc4 - 05 September 2006 + JETTY-107 Poor cast in SessionDump demo - + bind jetty-env.xml entries to java:comp/env - + Set charset on error pages + + bind jetty-env.xml entries to java:comp/env bind jetty-env.xml entries bind + jetty-env.xml entries to java:comp/env bind jetty-env.xml entries to + java:comp/env + + set charset on error pages set charset on error pages set charset on error + pages Set charset on error pages jetty-6.0.0rc3 - 01 September 2006 + JETTY-68 Complete request after sendRedirect + JETTY-104 (raised glassfish ISSUE-1044) hide JSP forced path attribute - + Avoid double error handling of Bad requests - + don't warn for content length on head requests - + JETTY-103 - + Less verbose handling of BadResources from bad URLs - + Move MailSessionReference to org.mortbay.naming.factories - + pulled 6.0.0 branch - + Transferred the sslengine patch from the patches directory to extras + + avoid double error handling of bad requests avoid double error handlin avoid + double error handling of bad requests Avoid double error handling of Bad + requests + + don't warn for content length on head requests don't warn for content don't + warn for content length on head requests don't warn for content length on + head requests + + jetty-103 JETTY-103 + + less verbose handling of badresources from bad urls less verbose handl less + verbose handling of badresources from bad urls Less verbose handling of + BadResources from bad URLs + + move mailsessionreference to org.mortbay.naming.factories move move + mailsessionreference to org.mortbay.naming.factories Move + MailSessionReference to org.mortbay.naming.factories + + pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 + branch + + transferred the sslengine patch from the patches directory to extras + transferred the sslengine patch from the patches directory to extras + Transferred the sslengine patch from the patches directory to extras jetty-6.0.0rc2 - 25 August 2006 - + added org.apache.commons.logging package to system classes that can't be + + added org.apache.commons.logging package to system classes that can't added + org.apache.commons.logging package to system classes that can't added + org.apache.commons.logging package to system classes that can't be overridden by a webapp classloader - + Destroy HttpConnection to improve buffer pooling - + Direct buffer useage is optional - + Fixed NPE when no resource cache - + Moved more utility packagtes to the util jar - + mvn -Djetty.port=x jetty:run uses port number given for the default - connector - + Refactored WebXmlConfiguration to allow custom web.xml resource - + Timestamp in StdErrLog - + use mvn -Dslf4j=false jetty:run to disable use of slf4j logging with - jdk1.4/jsp2.0 + + destroy httpconnection to improve buffer pooling destroy httpconnectio + destroy httpconnection to improve buffer pooling Destroy HttpConnection to + improve buffer pooling + + direct buffer useage is optional direct buffer useage is optional direct + buffer useage is optional Direct buffer useage is optional + + fixed npe when no resource cache fixed npe when no resource cache fixed npe + when no resource cache Fixed NPE when no resource cache + + moved more utility packagtes to the util jar moved more utility packag moved + more utility packagtes to the util jar Moved more utility packagtes to the + util jar + + mvn -djetty.port=x jetty:run uses port number given for the default mv mvn + -djetty.port=x jetty:run uses port number given for the default mvn + -Djetty.port=x jetty:run uses port number given for the default connector + + refactored webxmlconfiguration to allow custom web.xml resource refact + refactored webxmlconfiguration to allow custom web.xml resource Refactored + WebXmlConfiguration to allow custom web.xml resource + + timestamp in stderrlog timestamp in stderrlog timestamp in stderrlog + Timestamp in StdErrLog + + use mvn -dslf4j=false jetty:run to disable use of slf4j logging with u use + mvn -dslf4j=false jetty:run to disable use of slf4j logging with use mvn + -Dslf4j=false jetty:run to disable use of slf4j logging with jdk1.4/jsp2.0 jetty-6.0.0rc1 - 16 August 2006 + JETTY-85 JETTY-86 (TrustManager and SecureRandom are now configurable; better handling of null/default values) - + add config param to jetty plugin - + added modules/spring with XmlBeanFactory configuration - + Added simple ResourceHandler and FileServer example - + added start of cometd implementation (JSON only) - + added start of grizzly connector - + Added TransformingWebAppClassLoader for spring 2.0 byte code modification - support - + Allow direct filling of buffers for uncached static content. - + Change path mapping so that a path spec of /foo/* does not match /foo.bar : + + add config param to jetty plugin add config add + config param to jetty plugin add config param to + jetty plugin + + added modules/spring with xmlbeanfactory configuration added modules/s added + modules/spring with xmlbeanfactory configuration added modules/spring with + XmlBeanFactory configuration + + added simple resourcehandler and fileserver example added simple added + simple resourcehandler and fileserver example Added simple ResourceHandler + and FileServer example + + added start of cometd implementation (json only) added start of cometd added + start of cometd implementation (json only) added start of cometd + implementation (JSON only) + + added start of grizzly connector added start of grizzly connector added + start of grizzly connector added start of grizzly connector + + added transformingwebappclassloader for spring 2.0 byte code modificat added + transformingwebappclassloader for spring 2.0 byte code modificat Added + TransformingWebAppClassLoader for spring 2.0 byte code modification support + + allow direct filling of buffers for uncached static content. allow dir allow + direct filling of buffers for uncached static content. Allow direct filling + of buffers for uncached static content. + + change path mapping so that a path spec of /foo/* does not match /foo. + change path mapping so that a path spec of /foo/* does not match /foo. + Change path mapping so that a path spec of /foo/* does not match /foo.bar : JETTY-88 - + -DSTOP.PORT must be specified. - + fixed bug that caused Response.setStatus to ignore the provided message - + Fixed FD leak for bad TCP acks. JETTY-63 - + JETTY-87 - + JETTY-90 - + JETTY-91 - + moved optional modules to extras - + parse jsp-property-group in web.xml for additional JSP servlet mappings - + protected setContentType from being set during include - + refactored resource cache - + removed org.mortbay. from context system classes configuration - + removed support for lowResources from SelectChannelConnector - + Support for binding References and Referenceables and javax.mail.Sessions in + + -dstop.port must be specified. -dstop.port must be specified. -dstop.port + must be specified. -DSTOP.PORT must be specified. + + fixed bug that caused response.setstatus to ignore the provided messag fixed + bug that caused response.setstatus to ignore the provided messag fixed bug + that caused Response.setStatus to ignore the provided message + + jetty-63 Fixed FD leak for bad TCP acks JETTY-63 + + jetty-87 JETTY-87 + + jetty-90 JETTY-90 + + jetty-91 JETTY-91 + + moved optional modules to extras moved optional modules to extras moved + optional modules to extras moved optional modules to extras + + parse jsp-property-group in web.xml for additional jsp servlet mapping parse + jsp-property-group in web.xml for additional jsp servlet mapping parse + jsp-property-group in web.xml for additional JSP servlet mappings + + protected setcontenttype from being set during include protected protected + setcontenttype from being set during include protected setContentType from + being set during include + + refactored resource cache refactored resource cache refactored resource + cache refactored resource cache + + removed org.mortbay. from context system classes configuration removed + removed org.mortbay. from context system classes configuration removed + org.mortbay. from context system classes configuration + + removed support for lowresources from selectchannelconnector removed s + removed support for lowresources from selectchannelconnector removed support + for lowResources from SelectChannelConnector + + support for binding references and referenceables and javax.mail.sessi + support for binding references and referenceables and javax.mail.sessi + Support for binding References and Referenceables and javax.mail.Sessions in JNDI jetty-6.0.0rc0 - 07 July 2006 - + add ability to have a lib/ext dir from which to recursively add all jars and + + add ability to have a lib/ext dir from which to recursively add all ja add + ability to have a lib/ext dir from which to recursively add all ja add + ability to have a lib/ext dir from which to recursively add all jars and zips to the classpath - + Added 8 random letters&digits to Jetty-generated tmp work dir name to ensure + + added 8 random letters&digits to jetty-generated tmp work dir name to added + 8 random letters&digits to jetty-generated tmp work dir name to Added 8 + random letters&digits to Jetty-generated tmp work dir name to ensure uniqueness - + added html module from jetty 5 - but deprecated until maintainer found - + Added maximum limit to filter chain cache. - + added setters and getters on SessionManager API for session related config: - cookie name, url parameter name, domain, max age and path. - + added StatisticsHandler and statistics on Connector. - + Added WebAppContextClassLoader.newInstance to better support exensible - loaders. - + allow or in for plugin - + changed ServletContext.getResourcePaths() to not return paths containing + + added html module from jetty 5 - but deprecated until maintainer found added + html module from jetty 5 - but deprecated until maintainer found added html + module from jetty 5 - but deprecated until maintainer found + + added maximum limit to filter chain cache. added maximum limit to filt added + maximum limit to filter chain cache. Added maximum limit to filter chain + cache. + + added setters and getters on sessionmanager api for session related co added + setters and getters on sessionmanager api for session related co added + setters and getters on SessionManager API for session related config: cookie + name, url parameter name, domain, max age and path. + + added statisticshandler and statistics on connector. added statisticsh added + statisticshandler and statistics on connector. added StatisticsHandler and + statistics on Connector. + + added webappcontextclassloader.newinstance to better support exensible added + webappcontextclassloader.newinstance to better support exensible Added + WebAppContextClassLoader.newInstance to better support exensible loaders. + + allow or in for plugin allow or or in for plugin allow or in + for plugin + + changed servletcontext.getresourcepaths() to not return paths contain + changed servletcontext.getresourcepaths() to not return paths contain + changed ServletContext.getResourcePaths() to not return paths containing double slashes - + change name of generated tmp directory to be - "Jetty_"+host+"_"+port+"_"+contextpath+"_"+virtualhost - + change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn - jetty:run - + Cleaned up idle expiry. - + ContextHandlerCollection addContext and setContextClass - + Discard excess bytes in header buffer if connection is closing - + Do not wrap EofException with EofException - + ensure explicitly set tmp directory called "work" is not deleted on exit - + Ensure mvn clean cleans the build - + ensure war is only unpacked if war is newer than "work" directory - + fixed classesDirectory param for maven plugin to be configurable - + fixed HttpGenerator convertion of non UTF-8: JETTY-82 - + immutable getParameterMap() - + patch to allow Jetty to use JSP2.1 from Glassfish instead of Jasper from - Tomcat - + refactor HttpChannelEndPoint in preparation for SslEngine - + reverse order for destroy event listeners - + simplified jetty.xml with new constructor injections - + Simplified Servlet Context API - + Simplify runtime resolution of JSP library for plugin - + Ssl algorithm taken from system property - + support for SingleThreadModel - + support graceful shutdown - + Threadpool does not need to be a LifeCycle - + Updated javax code from + + change name of generated tmp directory to be change name of generated + change name of generated tmp directory to be change name of generated tmp + directory to be "Jetty_"+host+"_"+port+"_"+contextpath+"_"+virtualhost + + change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn + change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn change + prefix from "jetty6" to just "jetty" for plugin: eg is now mvn jetty:run + + cleaned up idle expiry. cleaned up idle expiry. cleaned up idle expiry. + Cleaned up idle expiry. + + contexthandlercollection addcontext and setcontextclass + contexthandlercollection addcontext and setcontextclass + ContextHandlerCollection addContext and setContextClass + + discard excess bytes in header buffer if connection is closing discard + discard excess bytes in header buffer if connection is closing Discard + excess bytes in header buffer if connection is closing + + do not wrap eofexception with eofexception do not wrap eofexception wi do + not wrap eofexception with eofexception Do not wrap EofException with + EofException + + ensure explicitly set tmp directory called "work" is not deleted on ex + ensure explicitly set tmp directory called "work" is not deleted on ex + ensure explicitly set tmp directory called "work" is not deleted on exit + + ensure mvn clean cleans the build ensure mvn clean cleans the build ensure + mvn clean cleans the build Ensure mvn clean cleans the build + + ensure war is only unpacked if war is newer than "work" directory ensu + ensure war is only unpacked if war is newer than "work" directory ensure war + is only unpacked if war is newer than "work" directory + + fixed classesdirectory param for maven plugin to be configurable fixed fixed + classesdirectory param for maven plugin to be configurable fixed + classesDirectory param for maven plugin to be configurable + + jetty-82 fixed HttpGenerator convertion of non UTF-8: JETTY-82 + + immutable getparametermap() immutable getparametermap() immutable + getparametermap() immutable getParameterMap() + + patch to allow jetty to use jsp2.1 from glassfish instead of jasper fr patch + to allow jetty to use jsp2.1 from glassfish instead of jasper fr patch to + allow Jetty to use JSP2.1 from Glassfish instead of Jasper from Tomcat + + refactor httpchannelendpoint in preparation for sslengine refactor refactor + httpchannelendpoint in preparation for sslengine refactor + HttpChannelEndPoint in preparation for SslEngine + + reverse order for destroy event listeners reverse order for destroy ev + reverse order for destroy event listeners reverse order for destroy event + listeners + + simplified jetty.xml with new constructor injections simplified jetty. + simplified jetty.xml with new constructor injections simplified jetty.xml + with new constructor injections + + simplified servlet context api simplified servlet context api simplified + servlet context api Simplified Servlet Context API + + simplify runtime resolution of jsp library for plugin simplify runtime + simplify runtime resolution of jsp library for plugin Simplify runtime + resolution of JSP library for plugin + + ssl algorithm taken from system property ssl algorithm taken from syst ssl + algorithm taken from system property Ssl algorithm taken from system + property + + support for singlethreadmodel support for singlethreadmodel support + for SingleThreadModel + + support graceful shutdown support graceful shutdown support graceful + shutdown support graceful shutdown + + threadpool does not need to be a lifecycle threadpool does not need to + threadpool does not need to be a lifecycle Threadpool does not need to be a + LifeCycle + + updated javax code from updated javax code from updated javax code from + Updated javax code from http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/javax@417727 jetty-6.0.0beta17 - 01 June 2006 - + Added clover reports and enough tests to get >50% coverage - + Added config to disable file memory mapped buffers for windows - + Added Request.isHandled() - + BoundedThreadPool.doStop waits for threads to complete - + Connector lowResourceMaxIdleTime implemented. - + ContextHandler.setConnectors replace setHosts - + Default servlet checks for aliases resources - + don't reset headers during forward - + Fixed IE SSL issue. - + Flush will flush all bytes rather than just some. - + Implemented runAs on servlets - + Protected WEB-INF and META-INF - + Recovered repository from Codehaus crash - + Refactored Synchronization of SelectChannelConnector + + added clover reports and enough tests to get >50% coverage added clove added + clover reports and enough tests to get >50% coverage Added clover reports + and enough tests to get >50% coverage + + added config to disable file memory mapped buffers for windows added c added + config to disable file memory mapped buffers for windows Added config to + disable file memory mapped buffers for windows + + added request.ishandled() added request.ishandled() added + request.ishandled() Added Request.isHandled() + + boundedthreadpool.dostop waits for threads to complete + boundedthreadpool.dostop waits for threads to complete + BoundedThreadPool.doStop waits for threads to complete + + connector lowresourcemaxidletime implemented. connector connector + lowresourcemaxidletime implemented. Connector lowResourceMaxIdleTime + implemented. + + contexthandler.setconnectors replace sethosts contexthandler.setconnec + contexthandler.setconnectors replace sethosts ContextHandler.setConnectors + replace setHosts + + default servlet checks for aliases resources default servlet checks fo + default servlet checks for aliases resources Default servlet checks for + aliases resources + + don't reset headers during forward don't reset headers during forward don't + reset headers during forward don't reset headers during forward + + fixed ie ssl issue. fixed ie ssl issue. fixed ie ssl issue. Fixed IE SSL + issue. + + flush will flush all bytes rather than just some. flush will flush all flush + will flush all bytes rather than just some. Flush will flush all bytes + rather than just some. + + implemented runas on servlets implemented runas on servlets implemented + runas on servlets Implemented runAs on servlets + + protected web-inf and meta-inf protected web-inf and meta-inf protected + web-inf and meta-inf Protected WEB-INF and META-INF + + recovered repository from codehaus crash recovered repository from cod + recovered repository from codehaus crash Recovered repository from Codehaus + crash + + refactored synchronization of selectchannelconnector refactored refactored + synchronization of selectchannelconnector Refactored Synchronization of + SelectChannelConnector jetty-6.0.0beta16 - 12 May 2006 - + remove a couple of System.err.printlns - + replace backwards compativle API in UrlEncoded + + remove a couple of system.err.printlns remove a couple of remove a couple of + system.err.printlns remove a couple of System.err.printlns + + replace backwards compativle api in urlencoded replace backwards compa + replace backwards compativle api in urlencoded replace backwards compativle + API in UrlEncoded jetty-6.0.0beta15 - 11 May 2006 - + Added parameter to allow other locations to scan for plugin - + Added automatic scan of all WEB-INF/jetty-*.xml files for plugin - + Added embedded examples - + Added Server attribute org.mortbay.jetty.Request.maxFormContentSize - + Added taglib resources to 2.1 jsp api jar - + Added ThrottlingFilter and fixed race in Continuations - + Added --version to start.jar - + ContextHandler.setContextPath can be called after start. - + don't accept partial authority in request line. - + enforce 204 and 304 have no content - + Fixed handling of params after forward - + Improved HttpException - + improved MBeanContainer object removal - + improved MBean names - + improved support for java5 jconsole - + Major refactor to simplify Server and handler hierarchy - + Moved more resources to resources - + readded BoundedThreadPool shrinking (and then fixed resulting deadlock) - + removed SelectBlockingChannelConnector (unmaintained) - + Renamed NotFoundHandler to DefaultHandler - + Reset of timer task clears expiry - + Session scavenger threads from threadpool - + setSendServerVersion method added to Server to control sending of Server: + + added parameter to allow other locations to scan for plu added + parameter to allow other locations to scan for plu Added + parameter to allow other locations to scan for plugin + + added automatic scan of all web-inf/jetty-*.xml files for plugin added added + automatic scan of all web-inf/jetty-*.xml files for plugin Added automatic + scan of all WEB-INF/jetty-*.xml files for plugin + + added embedded examples added embedded examples added embedded examples + Added embedded examples + + added server attribute org.mortbay.jetty.request.maxformcontentsize ad added + server attribute org.mortbay.jetty.request.maxformcontentsize Added Server + attribute org.mortbay.jetty.Request.maxFormContentSize + + added taglib resources to 2.1 jsp api jar added taglib resources to 2. added + taglib resources to 2.1 jsp api jar Added taglib resources to 2.1 jsp api + jar + + added throttlingfilter and fixed race in continuations added added + throttlingfilter and fixed race in continuations Added ThrottlingFilter and + fixed race in Continuations + + added --version to start.jar added --version to start.jar added --version to + start.jar Added --version to start.jar + + contexthandler.setcontextpath can be called after start. + contexthandler.setcontextpath can be called after start. + ContextHandler.setContextPath can be called after start. + + don't accept partial authority in request line. don't accept partial don't + accept partial authority in request line. don't accept partial authority in + request line. + + enforce 204 and 304 have no content enforce 204 and 304 have no conten + enforce 204 and 304 have no content enforce 204 and 304 have no content + + fixed handling of params after forward fixed handling of params after fixed + handling of params after forward Fixed handling of params after forward + + improved httpexception improved httpexception improved httpexception + Improved HttpException + + improved mbeancontainer object removal improved mbeancontainer object + improved mbeancontainer object removal improved MBeanContainer object + removal + + improved mbean names improved mbean names improved mbean names improved + MBean names + + improved support for java5 jconsole improved support for java5 jconsol + improved support for java5 jconsole improved support for java5 jconsole + + major refactor to simplify server and handler hierarchy major refactor major + refactor to simplify server and handler hierarchy Major refactor to simplify + Server and handler hierarchy + + moved more resources to resources moved more resources to resources moved + more resources to resources Moved more resources to resources + + readded boundedthreadpool shrinking (and then fixed resulting deadlock + readded boundedthreadpool shrinking (and then fixed resulting deadlock + readded BoundedThreadPool shrinking (and then fixed resulting deadlock) + + removed selectblockingchannelconnector (unmaintained) removed removed + selectblockingchannelconnector (unmaintained) removed + SelectBlockingChannelConnector (unmaintained) + + renamed notfoundhandler to defaulthandler renamed notfoundhandler to renamed + notfoundhandler to defaulthandler Renamed NotFoundHandler to DefaultHandler + + reset of timer task clears expiry reset of timer task clears expiry reset of + timer task clears expiry Reset of timer task clears expiry + + session scavenger threads from threadpool session scavenger threads fr + session scavenger threads from threadpool Session scavenger threads from + threadpool + + setsendserverversion method added to server to control sending of serv + setsendserverversion method added to server to control sending of serv + setSendServerVersion method added to Server to control sending of Server: http header - + Simplified DefaultServlet static content buffering - + Thread names include URI if debug set + + simplified defaultservlet static content buffering simplified defaults + simplified defaultservlet static content buffering Simplified DefaultServlet + static content buffering + + thread names include uri if debug set thread names include uri if debu + thread names include uri if debug set Thread names include URI if debug set jetty-6.0.0beta14 - 09 April 2006 - + added configurability for webdefault.xml in maven plugin - + Added Jasper 2.1 as jesper (jasper without JCL) - + added jetty-util.jar module - + Added JSP 2.1 APIs from apache - + added ProxyServlet - + added reset to Continuation - + added support for stopping jetty using "java -jar start.jar --stop" - + adding InvokerServlet - + Change tmp dir of plugin to work to be in line with jetty convention - + fixed forward bug (treated as include) - + fixed HttpField iterator - + fixed priority of port from url over host header - + ignore dirs and files that don't exist in plugin scanner - + implemented request.isUserInRole - + improved contentType handling and test harness - + Modify plugin to select JSP impl at runtime - + moved test webapps to examples directory - + securityHandler removed if not used. - + Started readding logging to jesper using jdk logging - + stop JDBCUserRealm coercing all credentials to String - + Use start.config to select which JSP impl at runtime based on jdk version + + added configurability for webdefault.xml in maven plugin added added + configurability for webdefault.xml in maven plugin added configurability for + webdefault.xml in maven plugin + + added jasper 2.1 as jesper (jasper without jcl) added jasper 2.1 as je added + jasper 2.1 as jesper (jasper without jcl) Added Jasper 2.1 as jesper (jasper + without JCL) + + added jetty-util.jar module added jetty-util.jar module added jetty-util.jar + module added jetty-util.jar module + + added jsp 2.1 apis from apache added jsp 2.1 apis from apache added jsp 2.1 + apis from apache Added JSP 2.1 APIs from apache + + added proxyservlet added proxyservlet added proxyservlet added ProxyServlet + + added reset to continuation added reset to continuation added reset to + continuation added reset to Continuation + + added support for stopping jetty using "java -jar start.jar --stop" ad added + support for stopping jetty using "java -jar start.jar --stop" added support + for stopping jetty using "java -jar start.jar --stop" + + adding invokerservlet adding invokerservlet adding invokerservlet adding + InvokerServlet + + change tmp dir of plugin to work to be in line with jetty convention c + change tmp dir of plugin to work to be in line with jetty convention Change + tmp dir of plugin to work to be in line with jetty convention + + fixed forward bug (treated as include) fixed forward bug (treated as fixed + forward bug (treated as include) fixed forward bug (treated as include) + + fixed httpfield iterator fixed httpfield iterator fixed httpfield iterator + fixed HttpField iterator + + fixed priority of port from url over host header fixed priority of por fixed + priority of port from url over host header fixed priority of port from url + over host header + + ignore dirs and files that don't exist in plugin scanner ignore dirs a + ignore dirs and files that don't exist in plugin scanner ignore dirs and + files that don't exist in plugin scanner + + implemented request.isuserinrole implemented request.isuserinrole + implemented request.isuserinrole implemented request.isUserInRole + + improved contenttype handling and test harness improved contenttype ha + improved contenttype handling and test harness improved contentType handling + and test harness + + modify plugin to select jsp impl at runtime modify plugin to select js + modify plugin to select jsp impl at runtime Modify plugin to select JSP impl + at runtime + + moved test webapps to examples directory moved test webapps to example moved + test webapps to examples directory moved test webapps to examples directory + + securityhandler removed if not used. securityhandler removed if not us + securityhandler removed if not used. securityHandler removed if not used. + + started readding logging to jesper using jdk logging started readding + started readding logging to jesper using jdk logging Started readding + logging to jesper using jdk logging + + stop jdbcuserrealm coercing all credentials to string stop jdbcuserrea stop + jdbcuserrealm coercing all credentials to string stop JDBCUserRealm coercing + all credentials to String + + use start.config to select which jsp impl at runtime based on jdk vers use + start.config to select which jsp impl at runtime based on jdk vers Use + start.config to select which JSP impl at runtime based on jdk version jetty-6.0.0beta12 - 16 March 2006 - + Added JSP2.0 demos to test webapp - + Added provider support to SslListener - + Fixed error handling in error page - + Fixed JettyPlus for root contexts - + Fixed maven plugin JNDI for redeploys - + Fixed tld discovery for plugin (search dependencies) - + Log ERROR for runtimeExceptions - + Upgraded jasper to 5.5.15 + + added jsp2.0 demos to test webapp added jsp2.0 demos to test webapp added + jsp2.0 demos to test webapp Added JSP2.0 demos to test webapp + + added provider support to ssllistener added provider support to ssllis added + provider support to ssllistener Added provider support to SslListener + + fixed error handling in error page fixed error handling in error page fixed + error handling in error page Fixed error handling in error page + + fixed jettyplus for root contexts fixed jettyplus for root contexts fixed + jettyplus for root contexts Fixed JettyPlus for root contexts + + fixed maven plugin jndi for redeploys fixed maven plugin jndi for rede fixed + maven plugin jndi for redeploys Fixed maven plugin JNDI for redeploys + + fixed tld discovery for plugin (search dependencies) fixed tld discove fixed + tld discovery for plugin (search dependencies) Fixed tld discovery for + plugin (search dependencies) + + log error for runtimeexceptions log error for runtimeexceptions log error + for runtimeexceptions Log ERROR for runtimeExceptions + + upgraded jasper to 5.5.15 upgraded jasper to 5.5.15 upgraded jasper to + 5.5.15 Upgraded jasper to 5.5.15 jetty-6.0.0beta11 - 14 March 2006 - + Added HttpURI and improved UTF-8 parsing. - + added JAAS - + added missing Configurations for maven plugin - + added patch to use joda-time - + added webapp-specific JNDI entries - + fixed ; decoding in URIs - + fixed FORM authentication - + moved dtd and xsd to standard javax location - + refactored configuration files and start() - + refactored session ID management - + refactored writers and improved UTF-8 generation. + + added httpuri and improved utf-8 parsing. added httpuri and improved u added + httpuri and improved utf-8 parsing. Added HttpURI and improved UTF-8 + parsing. + + added jaas added jaas added jaas added JAAS + + added missing configurations for maven plugin added missing configurat added + missing configurations for maven plugin added missing Configurations for + maven plugin + + added patch to use joda-time added patch to use joda-time added patch to use + joda-time added patch to use joda-time + + added webapp-specific jndi entries added webapp-specific jndi entries added + webapp-specific jndi entries added webapp-specific JNDI entries + + fixed ; decoding in uris fixed ; decoding in uris fixed ; decoding in uris + fixed ; decoding in URIs + + fixed form authentication fixed form authentication fixed form + authentication fixed FORM authentication + + moved dtd and xsd to standard javax location moved dtd and xsd to stan moved + dtd and xsd to standard javax location moved dtd and xsd to standard javax + location + + refactored configuration files and start() refactored configuration fi + refactored configuration files and start() refactored configuration files + and start() + + refactored session id management refactored session id management refactored + session id management refactored session ID management + + refactored writers and improved utf-8 generation. refactored writers a + refactored writers and improved utf-8 generation. refactored writers and + improved UTF-8 generation. jetty-6.0.0beta10 - 25 February 2006 - + added getLocalPort() to connector - + Added support for java:comp/env - + Added support for pluggable transaction manager - + Additional accessors for request logging - + Fixed content-type for range requests - + Fixed default servlet handling of includes - + Fix for myfaces and include with close - + Fix for sf1435795 30sec delay from c taylor - + Fix http://jira.codehaus.org/browse/JETTY-6. hi byte reader - + Fix sf1431936 don't chunk the chunk - + Forward masks include attributes and vice versa - + Updates javax to MR2 release + + added getlocalport() to connector added getlocalport() to connector added + getlocalport() to connector added getLocalPort() to connector + + added support for java:comp/env added support for java:comp/env added + support for java:comp/env Added support for java:comp/env + + added support for pluggable transaction manager added support for plug added + support for pluggable transaction manager Added support for pluggable + transaction manager + + additional accessors for request logging additional accessors for requ + additional accessors for request logging Additional accessors for request + logging + + fixed content-type for range requests fixed content-type for range req fixed + content-type for range requests Fixed content-type for range requests + + fixed default servlet handling of includes fixed default servlet handl fixed + default servlet handling of includes Fixed default servlet handling of + includes + + fix for myfaces and include with close fix for myfaces and include wit fix + for myfaces and include with close Fix for myfaces and include with close + + fix for sf1435795 30sec delay from c taylor fix for sf1435795 30sec de fix + for sf1435795 30sec delay from c taylor Fix for sf1435795 30sec delay from c + taylor + + fix http://jira.codehaus.org/browse/jetty-6. hi byte reader fix fix + http://jira.codehaus.org/browse/jetty-6. hi byte reader Fix + http://jira.codehaus.org/browse/JETTY-6. hi byte reader + + fix sf1431936 don't chunk the chunk fix sf1431936 don't chunk the chun fix + sf1431936 don't chunk the chunk Fix sf1431936 don't chunk the chunk + + forward masks include attributes and vice versa forward masks include + forward masks include attributes and vice versa Forward masks include + attributes and vice versa + + updates javax to mr2 release updates javax to mr2 release updates javax to + mr2 release Updates javax to MR2 release jetty-6.0.0beta9 - 09 February 2006 - + Added CGI servlet. - + Added request log. - + Added TLD tag listener handling. - + Continuation cleanup - + Fixed dispatch of wrapped requests. - + Fixed double flush of short content. - + fixed setLocale bug sf1426940 - + Fixed unraw decoding of query string - + Force a tempdir to be set. - + Force jasper scratch dir. - + PathMap for direct context mapping. - + Refactored chat demo and upgraded prototype.js + + added cgi servlet. added cgi servlet. added cgi servlet. Added CGI servlet. + + added request log. added request log. added request log. Added request log. + + added tld tag listener handling. added tld tag listener handling. added tld + tag listener handling. Added TLD tag listener handling. + + continuation cleanup continuation cleanup continuation cleanup Continuation + cleanup + + fixed dispatch of wrapped requests. fixed dispatch of wrapped requests fixed + dispatch of wrapped requests. Fixed dispatch of wrapped requests. + + fixed double flush of short content. fixed double flush of short conte fixed + double flush of short content. Fixed double flush of short content. + + fixed setlocale bug sf1426940 fixed setlocale bug sf1426940 fixed setlocale + bug sf1426940 fixed setLocale bug sf1426940 + + fixed unraw decoding of query string fixed unraw decoding of query str fixed + unraw decoding of query string Fixed unraw decoding of query string + + force a tempdir to be set. force a tempdir to be set. force a tempdir to be + set. Force a tempdir to be set. + + force jasper scratch dir. force jasper scratch dir. force jasper scratch + dir. Force jasper scratch dir. + + pathmap for direct context mapping. pathmap for direct context mapping + pathmap for direct context mapping. PathMap for direct context mapping. + + refactored chat demo and upgraded prototype.js refactored chat demo an + refactored chat demo and upgraded prototype.js Refactored chat demo and + upgraded prototype.js jetty-6.0.0beta8 - 24 January 2006 - + conveniance addHandler removeHandler methods - + fixed bug in overloaded write method on HttpConnection (reported against - Tapestry4.0) - + fixed dispatch of new session problem. sf:1407090 - + Handle pipeline requests without hangs - + hid org.apache.commons.logging and org.slf4j packages from webapp - + improve buffer return mechanism. - + improved caching of content types + + conveniance addhandler removehandler methods conveniance addhandler + conveniance addhandler removehandler methods conveniance addHandler + removeHandler methods + + fixed bug in overloaded write method on httpconnection (reported again fixed + bug in overloaded write method on httpconnection (reported again fixed bug + in overloaded write method on HttpConnection (reported against Tapestry4.0) + + fixed dispatch of new session problem. sf:1407090 fixed dispatch of ne fixed + dispatch of new session problem. sf:1407090 fixed dispatch of new session + problem. sf:1407090 + + handle pipeline requests without hangs handle pipeline requests withou + handle pipeline requests without hangs Handle pipeline requests without + hangs + + hid org.apache.commons.logging and org.slf4j packages from webapp hid hid + org.apache.commons.logging and org.slf4j packages from webapp hid + org.apache.commons.logging and org.slf4j packages from webapp + + improve buffer return mechanism. improve buffer return mechanism. improve + buffer return mechanism. improve buffer return mechanism. + + improved caching of content types improved caching of content types improved + caching of content types improved caching of content types + maven-jetty6-plugin: ensure compile is done before invoking jetty + maven-jetty6-plugin: ensure compile is done before invoking jetty + maven-jetty6-plugin: ensure compile is done before invoking jetty + maven-jetty6-plugin: support all types of artifact dependencies + maven-jetty6-plugin: support all types of artifact dependencies + maven-jetty6-plugin: support all types of artifact dependencies + maven-jetty6-plugin stopped transitive inclusion of log4j and + maven-jetty6-plugin stopped transitive inclusion of log4j and + maven-jetty6-plugin stopped transitive inclusion of log4j and commons-logging from commons-el for jasper - + patch to remove spurious ; in HttpFields - + reinstated rfc2616 test harness - + Removed queue from thread pool. + + patch to remove spurious ; in httpfields patch to remove spurious ; in patch + to remove spurious ; in httpfields patch to remove spurious ; in HttpFields + + reinstated rfc2616 test harness reinstated rfc2616 test harness reinstated + rfc2616 test harness reinstated rfc2616 test harness + + removed queue from thread pool. removed queue from thread pool. removed + queue from thread pool. Removed queue from thread pool. jetty-6.0.0Beta7 - + Faster header name lookup - + Fixed infinite loop with chunk handling - + maven-jetty6-plugin added tmpDirectory property - + maven-jetty6-plugin stopped throwing an error if there is no target/classes + + faster header name lookup faster header name lookup faster header name + lookup Faster header name lookup + + fixed infinite loop with chunk handling fixed infinite loop with chunk fixed + infinite loop with chunk handling Fixed infinite loop with chunk handling + + maven-jetty6-plugin added tmpdirectory property maven-jetty6-plugin ad + maven-jetty6-plugin added tmpdirectory property maven-jetty6-plugin added + tmpDirectory property + + maven-jetty6-plugin stopped throwing an error if there is no target/cl + maven-jetty6-plugin stopped throwing an error if there is no target/cl + maven-jetty6-plugin stopped throwing an error if there is no target/classes directory - + null dispatch attributes not in names - + reduced info verbosity - + removed singleton Container + + null dispatch attributes not in names null dispatch attributes not in null + dispatch attributes not in names null dispatch attributes not in names + + reduced info verbosity reduced info verbosity reduced info verbosity reduced + info verbosity + + removed singleton container removed singleton container removed singleton + container removed singleton Container jetty-6.0.0Beta6 - + Fixed issue with blocking reads - + Fixed issue with unknown headers - + optimizations + + fixed issue with blocking reads fixed issue with blocking reads fixed issue + with blocking reads Fixed issue with blocking reads + + fixed issue with unknown headers fixed issue with unknown headers fixed + issue with unknown headers Fixed issue with unknown headers + + optimizations optimizations optimizations optimizations jetty-6.0.0Beta5 - + Added management module for mbeans - + Fixed writer char[] creations - + Moved to SVN + + added management module for mbeans added management module for mbeans added + management module for mbeans Added management module for mbeans + + fixed writer char[] creations fixed writer char[] creations fixed writer + char[] creations Fixed writer char[] creations + + moved to svn moved to svn moved to svn Moved to SVN jetty-6.0.0Beta4 - + CVE-2006-2758 Fixed JSP visibility security issue. - + Improved jetty-web.xml access to org.mortbay classes. - + Jasper 5.5.12 - + System property support in plugin + + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed + cve-2006-2758 fixed jsp visibility security issue. CVE-2006-2758 Fixed JSP + visibility security issue. + + improved jetty-web.xml access to org.mortbay classes. improved jetty-w + improved jetty-web.xml access to org.mortbay classes. Improved jetty-web.xml + access to org.mortbay classes. + + jasper 5.5.12 jasper 5.5.12 jasper 5.5.12 Jasper 5.5.12 + + system property support in plugin system property support in plugin system + property support in plugin System property support in plugin jetty-6.0.0Beta3 - + Fixed classloader issue with server classes - + Fixed error in block read - + Named dispatch. + + fixed classloader issue with server classes fixed classloader issue wi fixed + classloader issue with server classes Fixed classloader issue with server + classes + + fixed error in block read fixed error in block read fixed error in block + read Fixed error in block read + + named dispatch. named dispatch. named dispatch. Named dispatch. jetty-6.0.0Beta2 - + Improved buffer return - + Improved reuse of HttpField values and cookies. - + loosely coupled with JSP servlet - + loosely coupled with SLF4J - + merged util jar back into jetty jar - + Simpler continuation API + + improved buffer return improved buffer return improved buffer return + Improved buffer return + + improved reuse of httpfield values and cookies. improved reuse of http + improved reuse of httpfield values and cookies. Improved reuse of HttpField + values and cookies. + + loosely coupled with jsp servlet loosely coupled with jsp servlet loosely + coupled with jsp servlet loosely coupled with JSP servlet + + loosely coupled with slf4j loosely coupled with slf4j loosely coupled with + slf4j loosely coupled with SLF4J + + merged util jar back into jetty jar merged util jar back into jetty ja + merged util jar back into jetty jar merged util jar back into jetty jar + + simpler continuation api simpler continuation api simpler continuation api + Simpler continuation API jetty-6.0.0Beta1 - + Error pages - + Implemented all listeners - + maven2 plugin - + Multiple select sets - + refactored start/stop - + Servlet 2.5 API - + shutdown hook - + SSL connector - + Virtual hosts + + error pages error pages error pages Error pages + + implemented all listeners implemented all listeners implemented all + listeners Implemented all listeners + + maven2 plugin maven2 plugin maven2 plugin maven2 plugin + + multiple select sets multiple select sets multiple select sets Multiple + select sets + + refactored start/stop refactored start/stop refactored start/stop refactored + start/stop + + servlet 2.5 api servlet 2.5 api servlet 2.5 api Servlet 2.5 API + + shutdown hook shutdown hook shutdown hook shutdown hook + + ssl connector ssl connector ssl connector SSL connector + + virtual hosts virtual hosts virtual hosts Virtual hosts jetty-6.0.0Beta0 - + Dispatcher parameters - + Fixed blocking read - + Maven 2 build - + UTF-8 encoding for URLs + + dispatcher parameters dispatcher parameters dispatcher parameters Dispatcher + parameters + + fixed blocking read fixed blocking read fixed blocking read Fixed blocking + read + + maven 2 build maven 2 build maven 2 build Maven 2 build + + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for urls + UTF-8 encoding for URLs jetty-6.0.0APLPA3 - + Added demo for Continuations - + Jasper and associated libraries. + + added demo for continuations added demo for continuations added demo for + continuations Added demo for Continuations + + jasper and associated libraries. jasper and associated libraries. jasper and + associated libraries. Jasper and associated libraries. jetty-6.0.0ALPHA2 - + Continuations - way cool way to suspend a request and retry later. - + Dispatchers - + Security + + continuations - way cool way to suspend a request and retry later. + continuations - way cool way to suspend a request and retry later. + Continuations - way cool way to suspend a request and retry later. + + dispatchers dispatchers dispatchers Dispatchers + + security security security Security jetty-6.0.0ALPHA1 - + Filters - + web.xml handling + + filters filters filters Filters + + web.xml handling web.xml handling web.xml handling web.xml handling jetty-6.0.0ALPHA0 - + file may be sent as sent is a single operation. - + Improved "dependancy injection" and "inversion of control" design of + + file may be sent as sent is a single operation. file may be sent as se file + may be sent as sent is a single operation. file may be sent as sent is a + single operation. + + improved "dependancy injection" and "inversion of control" design of + improved "dependancy injection" and "inversion of control" design of + Improved "dependancy injection" and "inversion of control" design of components - + Improved "interceptor" design of handlers - + Missing Request Dispatchers - + Missing Security - + Missing war support - + Missing web.xml based configuration - + Optional use of NIO Buffering so that efficient direct buffers and memory + + improved "interceptor" design of handlers improved "interceptor" desig + improved "interceptor" design of handlers Improved "interceptor" design of + handlers + + missing request dispatchers missing request dispatchers missing request + dispatchers Missing Request Dispatchers + + missing security missing security missing security Missing Security + + missing war support missing war support missing war support Missing war + support + + missing web.xml based configuration missing web.xml based configuratio + missing web.xml based configuration Missing web.xml based configuration + + optional use of nio buffering so that efficient direct buffers and mem + optional use of nio buffering so that efficient direct buffers and mem + Optional use of NIO Buffering so that efficient direct buffers and memory mapped files can be used. - + Optional use of NIO gather writes, so that for example a HTTP header and a + + optional use of nio gather writes, so that for example a http header a + optional use of nio gather writes, so that for example a http header a + Optional use of NIO gather writes, so that for example a HTTP header and a memory mapped - + Optional use of NIO non-blocking scheduling so that threads are not - allocated per connection. - + Smart split buffer design allows large buffers to only be allocated to - active connections. The resulting memory savings allow very large buffers to - be used, which increases the chance of efficient asynchronous flushing and - of avoiding chunking. - + Totally rearchitected and rebuilt, so 10 years of cruft could be removed! + + optional use of nio non-blocking scheduling so that threads are not op + optional use of nio non-blocking scheduling so that threads are not Optional + use of NIO non-blocking scheduling so that threads are not allocated per + connection. + + smart split buffer design allows large buffers to only be allocated to smart + split buffer design allows large buffers to only be allocated to Smart split + buffer design allows large buffers to only be allocated to active + connections. The resulting memory savings allow very large buffers to be + used, which increases the chance of efficient asynchronous flushing and of + avoiding chunking. + + totally rearchitected and rebuilt, so 10 years of cruft could be remov + totally rearchitected and rebuilt, so 10 years of cruft could be remov + Totally rearchitected and rebuilt, so 10 years of cruft could be removed! jetty-5.1.11RC0 - 05 April 2006 - + Added provider support to SslListener - + Fixed AJP handling of ;jsessionid. - + force close with shutdownOutput for win32 - + improved contentType param handling - + logging improvements for servlet and runtime exceptions - + NPE protection if desirable client certificates - + stop JDBCUserRealm forcing all credentials to be String + + added provider support to ssllistener added provider support to ssllis added + provider support to ssllistener Added provider support to SslListener + + fixed ajp handling of ;jsessionid. fixed ajp handling of ;jsessionid. fixed + ajp handling of ;jsessionid. Fixed AJP handling of ;jsessionid. + + force close with shutdownoutput for win32 force close with shutdownout force + close with shutdownoutput for win32 force close with shutdownOutput for + win32 + + improved contenttype param handling improved contenttype param handlin + improved contenttype param handling improved contentType param handling + + logging improvements for servlet and runtime exceptions logging improv + logging improvements for servlet and runtime exceptions logging improvements + for servlet and runtime exceptions + + npe protection if desirable client certificates npe protection if desi npe + protection if desirable client certificates NPE protection if desirable + client certificates + + stop jdbcuserrealm forcing all credentials to be string stop jdbcuserr stop + jdbcuserrealm forcing all credentials to be string stop JDBCUserRealm + forcing all credentials to be String jetty-5.1.10 - 05 January 2006 - + Fixed path aliasing with // on windows. - + Fix for AJP13 with encoded path - + Fix for AJP13 with multiple headers - + Put POST content default back to iso_8859_1. GET is UTF-8 still - + Remove null dispatch attributes from getAttributeNames + + fixed path aliasing with // on windows. fixed path aliasing with // on fixed + path aliasing with // on windows. Fixed path aliasing with // on windows. + + fix for ajp13 with encoded path fix for ajp13 with encoded path fix for + ajp13 with encoded path Fix for AJP13 with encoded path + + fix for ajp13 with multiple headers fix for ajp13 with multiple header fix + for ajp13 with multiple headers Fix for AJP13 with multiple headers + + put post content default back to iso_8859_1. get is utf-8 still put po put + post content default back to iso_8859_1. get is utf-8 still Put POST content + default back to iso_8859_1. GET is UTF-8 still + + remove null dispatch attributes from getattributenames remove null dis + remove null dispatch attributes from getattributenames Remove null dispatch + attributes from getAttributeNames jetty-4.2.25 - 04 January 2006 - + Fixed aliasing of // for win32 + + fixed aliasing of // for win32 fixed aliasing of // for win32 fixed aliasing + of // for win32 Fixed aliasing of // for win32 jetty-5.1.9 - 07 December 2005 - + Fixed wantClientAuth(false) overriding netClientAuth(true) + + fixed wantclientauth(false) overriding netclientauth(true) fixed fixed + wantclientauth(false) overriding netclientauth(true) Fixed + wantClientAuth(false) overriding netClientAuth(true) jetty-6.0.0betaX - + See http://jetty.mortbay.org/jetty6 for 6.0 releases + + see http://jetty.mortbay.org/jetty6 for 6.0 releases see see + http://jetty.mortbay.org/jetty6 for 6.0 releases See + http://jetty.mortbay.org/jetty6 for 6.0 releases jetty-5.1.8 - 07 December 2005 - + Fixed space in URL issued created in 5.1.6 + + fixed space in url issued created in 5.1.6 fixed space in url issued c fixed + space in url issued created in 5.1.6 Fixed space in URL issued created in + 5.1.6 jetty-5.1.7 - 07 December 2005 jetty-5.1.7rc0 - 06 December 2005 - + better support for URI character encodings - + char encoding for MultiPartRequest - + fixed merging of POST params in dispatch query string. - + improved server stats - + JSP file servlet mappings copy JspServlet init params. - + Prefix servlet context logs with org.mortbay.jetty.context - + protect from NPE in dispatcher getValues - + Updated to 2.6.2 xerces - + use commons logging jar instead of api jar. + + better support for uri character encodings better support for uri char + better support for uri character encodings better support for URI character + encodings + + char encoding for multipartrequest char encoding for multipartrequest char + encoding for multipartrequest char encoding for MultiPartRequest + + fixed merging of post params in dispatch query string. fixed merging o fixed + merging of post params in dispatch query string. fixed merging of POST + params in dispatch query string. + + improved server stats improved server stats improved server stats improved + server stats + + jsp file servlet mappings copy jspservlet init params. jsp file servle jsp + file servlet mappings copy jspservlet init params. JSP file servlet mappings + copy JspServlet init params. + + prefix servlet context logs with org.mortbay.jetty.context prefix serv + prefix servlet context logs with org.mortbay.jetty.context Prefix servlet + context logs with org.mortbay.jetty.context + + protect from npe in dispatcher getvalues protect from npe in dispatche + protect from npe in dispatcher getvalues protect from NPE in dispatcher + getValues + + updated to 2.6.2 xerces updated to 2.6.2 xerces updated to 2.6.2 xerces + Updated to 2.6.2 xerces + + use commons logging jar instead of api jar. use commons logging jar in use + commons logging jar instead of api jar. use commons logging jar instead of + api jar. jetty-5.1.6 - 18 November 2005 - + CVE-2006-2758 Fixed JSP visibility security issue. - + Improved jetty-web.xml access to org.mortbay classes. + + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed + cve-2006-2758 fixed jsp visibility security issue. CVE-2006-2758 Fixed JSP + visibility security issue. + + improved jetty-web.xml access to org.mortbay classes. improved jetty-w + improved jetty-web.xml access to org.mortbay classes. Improved jetty-web.xml + access to org.mortbay classes. jetty-5.1.5 - 10 November 2005 - + Improved mapping of JSP files. - + Improved shutdown hook - + Improved URL Decoding + + improved mapping of jsp files. improved mapping of jsp files. improved + mapping of jsp files. Improved mapping of JSP files. + + improved shutdown hook improved shutdown hook improved shutdown hook + Improved shutdown hook + + improved url decoding improved url decoding improved url decoding Improved + URL Decoding jetty-5.1.5rc2 - 07 October 2005 - + ProxyHandler can handle chained proxies - + public ServerMBean constructor - + ReFixed merge of Dispatcher params - + Response.setLocale will set locale even if getWriter called. - + Reverted dispatcher params to RI rather than spec behaviour. - + unsynchronized ContextLoader - + UTF-8 encoding for URLs + + proxyhandler can handle chained proxies proxyhandler can handle chaine + proxyhandler can handle chained proxies ProxyHandler can handle chained + proxies + + public servermbean constructor public servermbean constructor public + servermbean constructor public ServerMBean constructor + + refixed merge of dispatcher params refixed merge of dispatcher params + refixed merge of dispatcher params ReFixed merge of Dispatcher params + + response.setlocale will set locale even if getwriter called. + response.setlocale will set locale even if getwriter called. + Response.setLocale will set locale even if getWriter called. + + reverted dispatcher params to ri rather than spec behaviour. reverted + reverted dispatcher params to ri rather than spec behaviour. Reverted + dispatcher params to RI rather than spec behaviour. + + unsynchronized contextloader unsynchronized contextloader unsynchronized + contextloader unsynchronized ContextLoader + + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for urls + UTF-8 encoding for URLs jetty-5.1.5rc1 - 23 August 2005 - + Encoded full path in ResourceHandler directory listing - + Fixed 100-continues with chunking and early commit - + Fixed illegal state with chunks and 100 continue - Tony Seebregts - + Fixed merge of Dispatcher parameters - + Fixed PKCS12Import input string method - + handle extra params after charset in header - + Release commons logging factories when stopping context. - + upgraded to commons logging 1.0.4 + + encoded full path in resourcehandler directory listing encoded full pa + encoded full path in resourcehandler directory listing Encoded full path in + ResourceHandler directory listing + + fixed 100-continues with chunking and early commit fixed 100-continues fixed + 100-continues with chunking and early commit Fixed 100-continues with + chunking and early commit + + fixed illegal state with chunks and 100 continue - tony seebregts fixe fixed + illegal state with chunks and 100 continue - tony seebregts Fixed illegal + state with chunks and 100 continue - Tony Seebregts + + fixed merge of dispatcher parameters fixed merge of dispatcher paramet fixed + merge of dispatcher parameters Fixed merge of Dispatcher parameters + + fixed pkcs12import input string method fixed pkcs12import input string fixed + pkcs12import input string method Fixed PKCS12Import input string method + + handle extra params after charset in header handle extra params after handle + extra params after charset in header handle extra params after charset in + header + + release commons logging factories when stopping context. release commo + release commons logging factories when stopping context. Release commons + logging factories when stopping context. + + upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 upgraded + to commons logging 1.0.4 upgraded to commons logging 1.0.4 jetty-5.1.5rc0 - 16 August 2005 - + Applied ciphersuite patch from tonyj - + Authenticators use servlet sendError - + CGI sets SCRIPT_FILENAME - + Expect continues only sent if input is read. - + Facade over commons LogFactory so that discovery may be avoided. - + Fixed component remove memory leak for stop/start cycles - + HttpTunnel timeout - + NPE protection for double stop in ThreadedServer + + applied ciphersuite patch from tonyj applied ciphersuite patch from to + applied ciphersuite patch from tonyj Applied ciphersuite patch from tonyj + + authenticators use servlet senderror authenticators use servlet sender + authenticators use servlet senderror Authenticators use servlet sendError + + cgi sets script_filename cgi sets script_filename cgi sets script_filename + CGI sets SCRIPT_FILENAME + + expect continues only sent if input is read. expect continues only sen + expect continues only sent if input is read. Expect continues only sent if + input is read. + + facade over commons logfactory so that discovery may be avoided. facad + facade over commons logfactory so that discovery may be avoided. Facade over + commons LogFactory so that discovery may be avoided. + + fixed component remove memory leak for stop/start cycles fixed compone fixed + component remove memory leak for stop/start cycles Fixed component remove + memory leak for stop/start cycles + + httptunnel timeout httptunnel timeout httptunnel timeout HttpTunnel timeout + + npe protection for double stop in threadedserver npe protection for do npe + protection for double stop in threadedserver NPE protection for double stop + in ThreadedServer jetty-5.1.4 - 05 June 2005 - + Change JAAS impl to be more flexible on finding roles - + Fixed FTP close issue. - + ModelMBean handles null signatures - + NPE protection in ThreadedServer - + set classloader during webapp doStop - + setup MX4J with JDK1.5 in start.config + + change jaas impl to be more flexible on finding roles change jaas impl + change jaas impl to be more flexible on finding roles Change JAAS impl to be + more flexible on finding roles + + fixed ftp close issue. fixed ftp close issue. fixed ftp close issue. Fixed + FTP close issue. + + modelmbean handles null signatures modelmbean handles null signatures + modelmbean handles null signatures ModelMBean handles null signatures + + npe protection in threadedserver npe protection in threadedserver npe + protection in threadedserver NPE protection in ThreadedServer + + set classloader during webapp dostop set classloader during webapp dos set + classloader during webapp dostop set classloader during webapp doStop + + setup mx4j with jdk1.5 in start.config setup mx4j with jdk1.5 in setup mx4j + with jdk1.5 in start.config setup MX4J with JDK1.5 in start.config jetty-5.1.4rc0 - 19 April 2005 - + Allow ServletHandler in normal HttpContext again. - + HttpServer delegates component handling to Container. - + More protection from null classloaders. - + ServletHttpContext correctly calls super.doStop. - + Stop start.jar putting current directory on classpath. - + Turn off web.xml validation for JBoss. + + allow servlethandler in normal httpcontext again. allow servlethandler allow + servlethandler in normal httpcontext again. Allow ServletHandler in normal + HttpContext again. + + httpserver delegates component handling to container. httpserver deleg + httpserver delegates component handling to container. HttpServer delegates + component handling to Container. + + more protection from null classloaders. more protection from null more + protection from null classloaders. More protection from null classloaders. + + servlethttpcontext correctly calls super.dostop. servlethttpcontext + servlethttpcontext correctly calls super.dostop. ServletHttpContext + correctly calls super.doStop. + + stop start.jar putting current directory on classpath. stop start.jar stop + start.jar putting current directory on classpath. Stop start.jar putting + current directory on classpath. + + turn off web.xml validation for jboss. turn off web.xml validation for turn + off web.xml validation for jboss. Turn off web.xml validation for JBoss. jetty-5.1.3 - 07 April 2005 - + Some minor code janitorial services + + some minor code janitorial services some minor code janitorial service some + minor code janitorial services Some minor code janitorial services jetty-4.2.24 - 07 April 2005 jetty-5.1.3rc4 - 31 March 2005 - + Allow XmlConfiguration to start with no object. - + make java:comp/env immutable for webapps as per J2EE spec - + Moved servlet request wrapping to enterContextScope for geronimo security - + refixed / mapping for filters - + rework InitialContextFactory to use static 'default' namespace - + updated to mx4j 3.0.1 + + allow xmlconfiguration to start with no object. allow xmlconfiguration allow + xmlconfiguration to start with no object. Allow XmlConfiguration to start + with no object. + + make java:comp/env immutable for webapps as per j2ee spec make java:co make + java:comp/env immutable for webapps as per j2ee spec make java:comp/env + immutable for webapps as per J2EE spec + + moved servlet request wrapping to entercontextscope for geronimo secur moved + servlet request wrapping to entercontextscope for geronimo secur Moved + servlet request wrapping to enterContextScope for geronimo security + + refixed / mapping for filters refixed / mapping for filters refixed / + mapping for filters refixed / mapping for filters + + rework initialcontextfactory to use static 'default' namespace rework rework + initialcontextfactory to use static 'default' namespace rework + InitialContextFactory to use static 'default' namespace + + updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to + mx4j 3.0.1 jetty-5.1.3rc3 - 20 March 2005 - + fixed "No getter or setter found" mbean errors - + removed accidental enablement of DEBUG for JettyPlus jndi in - log4j.properties + + fixed "no getter or setter found" mbean errors fixed "no getter or set fixed + "no getter or setter found" mbean errors fixed "No getter or setter found" + mbean errors + + removed accidental enablement of debug for jettyplus jndi in removed removed + accidental enablement of debug for jettyplus jndi in removed accidental + enablement of DEBUG for JettyPlus jndi in log4j.properties jetty-5.1.3rc2 - 16 March 2005 - + Fixed context to _context refactory error - + Updated JSR154Filter for ERROR dispatch + + fixed context to _context refactory error fixed context to _context fixed + context to _context refactory error Fixed context to _context refactory + error + + updated jsr154filter for error dispatch updated jsr154filter for error + updated jsr154filter for error dispatch Updated JSR154Filter for ERROR + dispatch jetty-5.1.3rc1 - 13 March 2005 - + Fixed principal naming in FormAuthenticator - + Fixed typo in context-param handling. - + JettyPlus updated to JOTM 2.0.5, XAPool 1.4.2 - + update to demo site look and feel. + + fixed principal naming in formauthenticator fixed principal naming in fixed + principal naming in formauthenticator Fixed principal naming in + FormAuthenticator + + fixed typo in context-param handling. fixed typo in context-param hand fixed + typo in context-param handling. Fixed typo in context-param handling. + + jettyplus updated to jotm 2.0.5, xapool 1.4.2 jettyplus updated to jot + jettyplus updated to jotm 2.0.5, xapool 1.4.2 JettyPlus updated to JOTM + 2.0.5, XAPool 1.4.2 + + update to demo site look and feel. update to demo site look and feel. update + to demo site look and feel. update to demo site look and feel. jetty-4.2.24rc1 - + Fixed principal naming in FormAuthenticator + + fixed principal naming in formauthenticator fixed principal naming in fixed + principal naming in formauthenticator Fixed principal naming in + FormAuthenticator jetty-5.1.3rc0 - 08 March 2005 - + Added logCookie and logLatency support to NCSARequestLog - + Added new JAAS callback to allow extra login form fields in authentication - + Added simple xpath support to XmlParser - + Added SslListener for 1.4 JSSE API. - + Added TagLibConfiguration to search for listeners in TLDs. - + Allow system and server classes to be configured for context loader. - + Fixed HTAccess crypt salt handling. - + Fixed JSR154 error dispatch with explicit pass of type. - + Fixed moderate load preventing ThreadPool shrinking. - + Fixed rollover filename format bug - + Flush filter chain caches on servlet/filter change - + IOException if EOF read during chunk. + + added logcookie and loglatency support to ncsarequestlog added logcook added + logcookie and loglatency support to ncsarequestlog Added logCookie and + logLatency support to NCSARequestLog + + added new jaas callback to allow extra login form fields in authentica added + new jaas callback to allow extra login form fields in authentica Added new + JAAS callback to allow extra login form fields in authentication + + added simple xpath support to xmlparser added simple xpath support to added + simple xpath support to xmlparser Added simple xpath support to XmlParser + + added ssllistener for 1.4 jsse api. added ssllistener for 1.4 jsse api added + ssllistener for 1.4 jsse api. Added SslListener for 1.4 JSSE API. + + added taglibconfiguration to search for listeners in tlds. added added + taglibconfiguration to search for listeners in tlds. Added + TagLibConfiguration to search for listeners in TLDs. + + allow system and server classes to be configured for context loader. a allow + system and server classes to be configured for context loader. Allow system + and server classes to be configured for context loader. + + fixed htaccess crypt salt handling. fixed htaccess crypt salt handling fixed + htaccess crypt salt handling. Fixed HTAccess crypt salt handling. + + fixed jsr154 error dispatch with explicit pass of type. fixed jsr154 e fixed + jsr154 error dispatch with explicit pass of type. Fixed JSR154 error + dispatch with explicit pass of type. + + fixed moderate load preventing threadpool shrinking. fixed moderate lo fixed + moderate load preventing threadpool shrinking. Fixed moderate load + preventing ThreadPool shrinking. + + fixed rollover filename format bug fixed rollover filename format bug fixed + rollover filename format bug Fixed rollover filename format bug + + flush filter chain caches on servlet/filter change flush filter chain flush + filter chain caches on servlet/filter change Flush filter chain caches on + servlet/filter change + + ioexception if eof read during chunk. ioexception if eof read during c + ioexception if eof read during chunk. IOException if EOF read during chunk. jetty-4.2.24rc0 - 08 March 2005 - + Added logCookie and logLatency support to NCSARequestLog - + Back ported Jetty 5 ThreadedServer and ThreadPool + + added logcookie and loglatency support to ncsarequestlog added logcook added + logcookie and loglatency support to ncsarequestlog Added logCookie and + logLatency support to NCSARequestLog + + back ported jetty 5 threadedserver and threadpool back ported jetty 5 back + ported jetty 5 threadedserver and threadpool Back ported Jetty 5 + ThreadedServer and ThreadPool jetty-5.1.2 - 18 January 2005 - + Added id and ref support to XmlConfiguration - + Apply patch #1103953 - + Cleaned up AbstractSessionManager synchronization. - + Fixed potential concurrent login problem with JAAS + + added id and ref support to xmlconfiguration added id and ref support added + id and ref support to xmlconfiguration Added id and ref support to + XmlConfiguration + + 1103953 Apply patch #1103953 + + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up + abstractsessionmanager synchronization. Cleaned up AbstractSessionManager + synchronization. + + fixed potential concurrent login problem with jaas fixed potential fixed + potential concurrent login problem with jaas Fixed potential concurrent + login problem with JAAS jetty-4.2.23 - 16 January 2005 - + Cleaned up AbstractSessionManager synchronization. - + Fixed potential concurrent login problem with JAAS + + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up + abstractsessionmanager synchronization. Cleaned up AbstractSessionManager + synchronization. + + fixed potential concurrent login problem with jaas fixed potential fixed + potential concurrent login problem with jaas Fixed potential concurrent + login problem with JAAS jetty-5.1.2pre0 - 22 December 2004 - + Added global invalidation to AbstractSessionManager - + Fixed case of Cookie parameters - + Fixed suffix filters - + Modified useRequestedID handling to only use IDs from other contexts - + Support Secure and HttpOnly in session cookies - + UnavailableException handling from handle + + added global invalidation to abstractsessionmanager added global added + global invalidation to abstractsessionmanager Added global invalidation to + AbstractSessionManager + + fixed case of cookie parameters fixed case of cookie parameters fixed case + of cookie parameters Fixed case of Cookie parameters + + fixed suffix filters fixed suffix filters fixed suffix filters Fixed suffix + filters + + modified userequestedid handling to only use ids from other contexts + modified userequestedid handling to only use ids from other contexts + Modified useRequestedID handling to only use IDs from other contexts + + support secure and httponly in session cookies support secure and http + support secure and httponly in session cookies Support Secure and HttpOnly + in session cookies + + unavailableexception handling from handle unavailableexception handlin + unavailableexception handling from handle UnavailableException handling from + handle jetty-4.2.23RC0 - 17 December 2004 - + Added LogStream to capture stderr and stdout to logging - + Build unsealed jars - + LineInput handles readers with small internal buffer - + Support Secure and HttpOnly in session cookies + + added logstream to capture stderr and stdout to logging added logstrea added + logstream to capture stderr and stdout to logging Added LogStream to capture + stderr and stdout to logging + + build unsealed jars build unsealed jars build unsealed jars Build unsealed + jars + + lineinput handles readers with small internal buffer lineinput handles + lineinput handles readers with small internal buffer LineInput handles + readers with small internal buffer + + support secure and httponly in session cookies support secure and http + support secure and httponly in session cookies Support Secure and HttpOnly + in session cookies jetty-5.1.1 - 01 December 2004 jetty-5.1.1RC1 - + Allow double // within URIs - + Applied patch for MD5 hashed credentials for MD5 - + Fixed ordering of filters with multiple interleaved mappings. - + Made more WebApplicationHandle configuration methods public. - + Some minor findbugs code cleanups + + allow double // within uris allow double // within uris allow double // + within uris Allow double // within URIs + + applied patch for md5 hashed credentials for md5 applied patch for md5 + applied patch for md5 hashed credentials for md5 Applied patch for MD5 + hashed credentials for MD5 + + fixed ordering of filters with multiple interleaved mappings. fixed or fixed + ordering of filters with multiple interleaved mappings. Fixed ordering of + filters with multiple interleaved mappings. + + made more webapplicationhandle configuration methods public. made more made + more webapplicationhandle configuration methods public. Made more + WebApplicationHandle configuration methods public. + + some minor findbugs code cleanups some minor findbugs code cleanups some + minor findbugs code cleanups Some minor findbugs code cleanups jetty-5.1.1RC0 - 17 November 2004 - + added new contributed shell start/stop script - + excluded ErrorPageHandler from standard build in extra/jdk1.2 build - + fix commons logging imports to IbmJsseListener - + fix for adding recognized EventListeners + + added new contributed shell start/stop script added new contributed sh added + new contributed shell start/stop script added new contributed shell + start/stop script + + excluded errorpagehandler from standard build in extra/jdk1.2 build ex + excluded errorpagehandler from standard build in extra/jdk1.2 build excluded + ErrorPageHandler from standard build in extra/jdk1.2 build + + fix commons logging imports to ibmjsselistener fix commons logging imp fix + commons logging imports to ibmjsselistener fix commons logging imports to + IbmJsseListener + + fix for adding recognized eventlisteners fix for adding recognized fix for + adding recognized eventlisteners fix for adding recognized EventListeners jetty-5.1.0 - 14 November 2004 jetty-5.1.RC1 - 24 October 2004 - + Allow JSSE listener to be just confidential or just integral. - + Allow multiple accepting threads - + Build unsealed jars - + default / mapping does not apply to Filters - + Fixed NPE for null contenttype - + improved clean targets - + many minor cleanups suggested from figbug utility - + Partially flush writers on every write so content length can be detected. - + when committed setHeader is a noop rather than IllegalStateException + + allow jsse listener to be just confidential or just integral. allow js allow + jsse listener to be just confidential or just integral. Allow JSSE listener + to be just confidential or just integral. + + allow multiple accepting threads allow multiple accepting threads allow + multiple accepting threads Allow multiple accepting threads + + build unsealed jars build unsealed jars build unsealed jars Build unsealed + jars + + default / mapping does not apply to filters default / mapping does not + default / mapping does not apply to filters default / mapping does not apply + to Filters + + fixed npe for null contenttype fixed npe for null contenttype fixed npe for + null contenttype Fixed NPE for null contenttype + + improved clean targets improved clean targets improved clean targets + improved clean targets + + many minor cleanups suggested from figbug utility many minor cleanups many + minor cleanups suggested from figbug utility many minor cleanups suggested + from figbug utility + + partially flush writers on every write so content length can be detect + partially flush writers on every write so content length can be detect + Partially flush writers on every write so content length can be detected. + + when committed setheader is a noop rather than illegalstateexception w when + committed setheader is a noop rather than illegalstateexception when + committed setHeader is a noop rather than IllegalStateException jetty-5.1.RC0 - 11 October 2004 - + Added filter chain cache - + Added JSR77 servlet statistic support - + Added LifeCycle events and generic container. - + Added LogStream to capture stderr and stdout to logging - + Fixed HTAccessHandler - + Fixed many minor issues from J2EE 1.4 TCK testing See sf.net bugs 1031520 - - 1032205 - + JBoss 4.0.0 support - + LineInput handles readers with small internal buffer - + Refactored, simplified and optimized HttpOutputStream - + Refactored webapp context configurations - + Upgraded to ant-1.6 for jasper + + added filter chain cache added filter chain cache added filter chain cache + Added filter chain cache + + added jsr77 servlet statistic support added jsr77 servlet statistic su added + jsr77 servlet statistic support Added JSR77 servlet statistic support + + added lifecycle events and generic container. added lifecycle events a added + lifecycle events and generic container. Added LifeCycle events and generic + container. + + added logstream to capture stderr and stdout to logging added logstrea added + logstream to capture stderr and stdout to logging Added LogStream to capture + stderr and stdout to logging + + fixed htaccesshandler fixed htaccesshandler fixed htaccesshandler Fixed + HTAccessHandler + + fixed many minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 fixed + many minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 Fixed many + minor issues from J2EE 1.4 TCK testing See sf.net bugs 1031520 - 1032205 + + jboss 4.0.0 support jboss 4.0.0 support jboss 4.0.0 support JBoss 4.0.0 + support + + lineinput handles readers with small internal buffer lineinput handles + lineinput handles readers with small internal buffer LineInput handles + readers with small internal buffer + + refactored, simplified and optimized httpoutputstream refactored, simp + refactored, simplified and optimized httpoutputstream Refactored, simplified + and optimized HttpOutputStream + + refactored webapp context configurations refactored webapp context + refactored webapp context configurations Refactored webapp context + configurations + + upgraded to ant-1.6 for jasper upgraded to ant-1.6 for jasper upgraded to + ant-1.6 for jasper Upgraded to ant-1.6 for jasper jetty-5.0.0 - 10 September 2004 jetty-5.0.RC4 - 05 September 2004 - + Fixed configuration of URL alias checking - + JettyJBoss: Use realm-name from web.xml if present, otherwise use + + fixed configuration of url alias checking fixed configuration of url a fixed + configuration of url alias checking Fixed configuration of URL alias + checking + + jettyjboss: use realm-name from web.xml if present, otherwise use + jettyjboss: use realm-name from web.xml if present, otherwise use + JettyJBoss: Use realm-name from web.xml if present, otherwise use security-domain from jboss-web.xml jetty-5.0.RC3 - 28 August 2004 - + Added parameters for acceptQueueSize and lowResources level. - + Always say close for HTTP/1.0 non keep alive. - + Changed default URI encoding to UTF-8 - + DIGEST auth handles qop, stale and maxNonceAge. - + fixed deployment of ejb-link elements in web.xml with jboss - + fixed jaas logout for jetty-jboss - + Fixes to work with java 1.5 - + JettyPlus addition of pluggable DataSources - + JettyPlus upgrade to XAPool 1.3.3. and HSQLDB 1.7.2 - + Less verbose warning for non validating xml parser. - + Update to jasper 5.0.27 + + added parameters for acceptqueuesize and lowresources level. added added + parameters for acceptqueuesize and lowresources level. Added parameters for + acceptQueueSize and lowResources level. + + always say close for http/1.0 non keep alive. always say close for htt + always say close for http/1.0 non keep alive. Always say close for HTTP/1.0 + non keep alive. + + changed default uri encoding to utf-8 changed default uri encoding to + changed default uri encoding to utf-8 Changed default URI encoding to UTF-8 + + digest auth handles qop, stale and maxnonceage. digest auth handles qo + digest auth handles qop, stale and maxnonceage. DIGEST auth handles qop, + stale and maxNonceAge. + + fixed deployment of ejb-link elements in web.xml with jboss fixed depl fixed + deployment of ejb-link elements in web.xml with jboss fixed deployment of + ejb-link elements in web.xml with jboss + + fixed jaas logout for jetty-jboss fixed jaas logout for jetty-jboss fixed + jaas logout for jetty-jboss fixed jaas logout for jetty-jboss + + fixes to work with java 1.5 fixes to work with java 1.5 fixes to work with + java 1.5 Fixes to work with java 1.5 + + jettyplus addition of pluggable datasources jettyplus addition of plug + jettyplus addition of pluggable datasources JettyPlus addition of pluggable + DataSources + + jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 jettyplus upgrade + jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 JettyPlus upgrade to + XAPool 1.3.3. and HSQLDB 1.7.2 + + less verbose warning for non validating xml parser. less verbose warni less + verbose warning for non validating xml parser. Less verbose warning for non + validating xml parser. + + update to jasper 5.0.27 update to jasper 5.0.27 update to jasper 5.0.27 + Update to jasper 5.0.27 jetty-4.2.22 - + Added parameters for acceptQueueSize and lowResources level. - + fixed deployment of ejb-link elements in web.xml for jboss - + fixed jaas logout for jetty-jboss integration + + added parameters for acceptqueuesize and lowresources level. added added + parameters for acceptqueuesize and lowresources level. Added parameters for + acceptQueueSize and lowResources level. + + fixed deployment of ejb-link elements in web.xml for jboss fixed deplo fixed + deployment of ejb-link elements in web.xml for jboss fixed deployment of + ejb-link elements in web.xml for jboss + + fixed jaas logout for jetty-jboss integration fixed jaas logout for fixed + jaas logout for jetty-jboss integration fixed jaas logout for jetty-jboss + integration jetty-5.0.RC2 - 02 July 2004 - + add JMX support for JettyPlus - + add listing of java:comp/env for webapp with JMX - + Default servlet may use only pathInfo for resource - + Error dispatchers are always GET requests. - + Fixed DIGEST challenge delimiters - + Fixed JAAS logout - + Fixed no-role security constraint combination. - + Fixed session leak in j2ee - + Fix to use runas roles during servlet init and destroy - + HTAccess calls UnixCrypt correctly - + HttpContext sendError for authentication errors - + integrated jetty-jboss with jboss-3.2.4 - + make choice of override of JNDI ENC entries: config.xml or web.xml - + OPTIONS works for all URLs on default servlet + + add jmx support for jettyplus add jmx support for jettyplus add jmx support + for jettyplus add JMX support for JettyPlus + + add listing of java:comp/env for webapp with jmx add listing of add listing + of java:comp/env for webapp with jmx add listing of java:comp/env for webapp + with JMX + + default servlet may use only pathinfo for resource default servlet may + default servlet may use only pathinfo for resource Default servlet may use + only pathInfo for resource + + error dispatchers are always get requests. error dispatchers are alway error + dispatchers are always get requests. Error dispatchers are always GET + requests. + + fixed digest challenge delimiters fixed digest challenge delimiters fixed + digest challenge delimiters Fixed DIGEST challenge delimiters + + fixed jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout + + fixed no-role security constraint combination. fixed no-role security fixed + no-role security constraint combination. Fixed no-role security constraint + combination. + + fixed session leak in j2ee fixed session leak in j2ee fixed session leak in + j2ee Fixed session leak in j2ee + + fix to use runas roles during servlet init and destroy fix to use runa fix + to use runas roles during servlet init and destroy Fix to use runas roles + during servlet init and destroy + + htaccess calls unixcrypt correctly htaccess calls unixcrypt correctly + htaccess calls unixcrypt correctly HTAccess calls UnixCrypt correctly + + httpcontext senderror for authentication errors httpcontext senderror + httpcontext senderror for authentication errors HttpContext sendError for + authentication errors + + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + jboss-3.2.4 + + make choice of override of jndi enc entries: config.xml or web.xml mak make + choice of override of jndi enc entries: config.xml or web.xml make choice of + override of JNDI ENC entries: config.xml or web.xml + + options works for all urls on default servlet options works for all ur + options works for all urls on default servlet OPTIONS works for all URLs on + default servlet jetty-4.2.21 - 02 July 2004 - + add JMX support for JettyPlus - + add listing of java:comp/env for webapp with JMX - + Fixed JAAS logout - + integrated jetty-jboss with jboss-3.2.4 - + make choice of override of JNDI ENC entries: config.xml or web.xml + + add jmx support for jettyplus add jmx support for jettyplus add jmx support + for jettyplus add JMX support for JettyPlus + + add listing of java:comp/env for webapp with jmx add listing of add listing + of java:comp/env for webapp with jmx add listing of java:comp/env for webapp + with JMX + + fixed jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout + + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + jboss-3.2.4 + + make choice of override of jndi enc entries: config.xml or web.xml mak make + choice of override of jndi enc entries: config.xml or web.xml make choice of + override of JNDI ENC entries: config.xml or web.xml jetty-5.0.RC1 - 24 May 2004 - + added extra/etc/start-plus.config to set up main.class for jettyplus - + Changed to apache 2.0 license - + Fixed HTTP tunnel timeout setting. - + FORM auth redirects to context on a re-auth - + Handle multiple virutal hosts from JBoss 3.2.4RC2 - + Improved handling of exception from servlet init. - + maxFormContentLength may be unlimited with <0 value + + added extra/etc/start-plus.config to set up main.class for jettyplus a added + extra/etc/start-plus.config to set up main.class for jettyplus added + extra/etc/start-plus.config to set up main.class for jettyplus + + changed to apache 2.0 license changed to apache 2.0 license changed to + apache 2.0 license Changed to apache 2.0 license + + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed + http tunnel timeout setting. Fixed HTTP tunnel timeout setting. + + form auth redirects to context on a re-auth form auth redirects to con form + auth redirects to context on a re-auth FORM auth redirects to context on a + re-auth + + handle multiple virutal hosts from jboss 3.2.4rc2 handle multiple viru + handle multiple virutal hosts from jboss 3.2.4rc2 Handle multiple virutal + hosts from JBoss 3.2.4RC2 + + improved handling of exception from servlet init. improved handling of + improved handling of exception from servlet init. Improved handling of + exception from servlet init. + + maxformcontentlength may be unlimited with <0 value maxformcontentleng + maxformcontentlength may be unlimited with <0 value maxFormContentLength may + be unlimited with <0 value jetty-4.2.20 - 22 May 2004 - + Fixed HTTP tunnel timeout setting. - + FORM auth redirects to context on a re-auth - + Improved handling of exception from servlet init. - + maxFormContentLength may be unlimited with <0 value + + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed + http tunnel timeout setting. Fixed HTTP tunnel timeout setting. + + form auth redirects to context on a re-auth form auth redirects to con form + auth redirects to context on a re-auth FORM auth redirects to context on a + re-auth + + improved handling of exception from servlet init. improved handling of + improved handling of exception from servlet init. Improved handling of + exception from servlet init. + + maxformcontentlength may be unlimited with <0 value maxformcontentleng + maxformcontentlength may be unlimited with <0 value maxFormContentLength may + be unlimited with <0 value jetty-5.0.0RC0 - 07 April 2004 - + Changed dist naming convention to lowercase - + Default servlet respectes servlet path - + Factored out XML based config from WebApplicationContext - + Fixed Default servlet for non empty servlet paths - + Fixed DOS problem - + Fixed j2se 1.3 problem with HttpFields - + Fixed setCharacterEncoding for parameters. - + Forced close of connections over stop/start - + Improved RequestLog performance - + ProxiedFor field support added to NCSARequestLog - + ServletContext attributes wrap HttpContext attributes. - + Updated jasper to 5.0.19 - + Updated JettyPlus to JOTM 1.4.3 (carol-1.5.2, xapool-1.3.1) - + Updated mx4j to V2 - + Worked around bad jboss URL handler in XMLParser + + changed dist naming convention to lowercase changed dist naming conven + changed dist naming convention to lowercase Changed dist naming convention + to lowercase + + default servlet respectes servlet path default servlet respectes servl + default servlet respectes servlet path Default servlet respectes servlet + path + + factored out xml based config from webapplicationcontext factored out + factored out xml based config from webapplicationcontext Factored out XML + based config from WebApplicationContext + + fixed default servlet for non empty servlet paths fixed default servle fixed + default servlet for non empty servlet paths Fixed Default servlet for non + empty servlet paths + + fixed dos problem fixed dos problem fixed dos problem Fixed DOS problem + + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed + j2se 1.3 problem with httpfields Fixed j2se 1.3 problem with HttpFields + + fixed setcharacterencoding for parameters. fixed setcharacterencoding fixed + setcharacterencoding for parameters. Fixed setCharacterEncoding for + parameters. + + forced close of connections over stop/start forced close of connection + forced close of connections over stop/start Forced close of connections over + stop/start + + improved requestlog performance improved requestlog performance improved + requestlog performance Improved RequestLog performance + + proxiedfor field support added to ncsarequestlog proxiedfor field supp + proxiedfor field support added to ncsarequestlog ProxiedFor field support + added to NCSARequestLog + + servletcontext attributes wrap httpcontext attributes. servletcontext + servletcontext attributes wrap httpcontext attributes. ServletContext + attributes wrap HttpContext attributes. + + updated jasper to 5.0.19 updated jasper to 5.0.19 updated jasper to 5.0.19 + Updated jasper to 5.0.19 + + updated jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) updated updated + jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) Updated JettyPlus to + JOTM 1.4.3 (carol-1.5.2, xapool-1.3.1) + + updated mx4j to v2 updated mx4j to v2 updated mx4j to v2 Updated mx4j to V2 + + worked around bad jboss url handler in xmlparser worked around bad jbo + worked around bad jboss url handler in xmlparser Worked around bad jboss URL + handler in XMLParser jetty-4.2.20RC0 - 07 April 2004 - + Changed dist naming convention to lowercase - + Fixed Default servlet for non empty servlet paths - + Forced close of connections over stop/start - + HttpFields protected headers - + ProxiedFor field support added to NCSARequestLog - + Worked around bad jboss URL handler in XMLParser + + changed dist naming convention to lowercase changed dist naming conven + changed dist naming convention to lowercase Changed dist naming convention + to lowercase + + fixed default servlet for non empty servlet paths fixed default servle fixed + default servlet for non empty servlet paths Fixed Default servlet for non + empty servlet paths + + forced close of connections over stop/start forced close of connection + forced close of connections over stop/start Forced close of connections over + stop/start + + httpfields protected headers httpfields protected headers httpfields + protected headers HttpFields protected headers + + proxiedfor field support added to ncsarequestlog proxiedfor field supp + proxiedfor field support added to ncsarequestlog ProxiedFor field support + added to NCSARequestLog + + worked around bad jboss url handler in xmlparser worked around bad jbo + worked around bad jboss url handler in xmlparser Worked around bad jboss URL + handler in XMLParser jetty-4.2.19 - 19 March 2004 - + Fixed DOS attack problem + + fixed dos attack problem fixed dos attack problem fixed dos attack problem + Fixed DOS attack problem jetty-5.0.beta2 - 12 February 2004 - + Added experimental NIO listeners again. - + Added log4j context repository to jettyplus - + Added skeleton JMX MBean for jetty plus - + FileResource better handles non sun JVM - + Fixed busy loop in threadpool run - + fixed filter dispatch configuration. - + Fixed HEAD with empty chunk bug. - + Fixed jetty.home/work handling - + fixed lazy authentication with FORMs - + Fixed SessionManager init - + Fixed setDate thread safety - + Improved low thread handling - + Monitor closes socket before exit - + NPE guard for no-listener junit deployment - + Reorganized ServletHolder init - + RequestDispatcher uses request encoding for query params - + Updated to Japser 5.0.16 + + added experimental nio listeners again. added experimental nio listene added + experimental nio listeners again. Added experimental NIO listeners again. + + added log4j context repository to jettyplus added log4j context reposi added + log4j context repository to jettyplus Added log4j context repository to + jettyplus + + added skeleton jmx mbean for jetty plus added skeleton jmx mbean for j added + skeleton jmx mbean for jetty plus Added skeleton JMX MBean for jetty plus + + fileresource better handles non sun jvm fileresource better handles no + fileresource better handles non sun jvm FileResource better handles non sun + JVM + + fixed busy loop in threadpool run fixed busy loop in threadpool run fixed + busy loop in threadpool run Fixed busy loop in threadpool run + + fixed filter dispatch configuration. fixed filter dispatch configurati fixed + filter dispatch configuration. fixed filter dispatch configuration. + + fixed head with empty chunk bug. fixed head with empty chunk bug. fixed head + with empty chunk bug. Fixed HEAD with empty chunk bug. + + fixed jetty.home/work handling fixed jetty.home/work handling fixed + jetty.home/work handling Fixed jetty.home/work handling + + fixed lazy authentication with forms fixed lazy authentication with fo fixed + lazy authentication with forms fixed lazy authentication with FORMs + + fixed sessionmanager init fixed sessionmanager init fixed sessionmanager + init Fixed SessionManager init + + fixed setdate thread safety fixed setdate thread safety fixed setdate thread + safety Fixed setDate thread safety + + improved low thread handling improved low thread handling improved low + thread handling Improved low thread handling + + monitor closes socket before exit monitor closes socket before exit monitor + closes socket before exit Monitor closes socket before exit + + npe guard for no-listener junit deployment npe guard for no-listener j npe + guard for no-listener junit deployment NPE guard for no-listener junit + deployment + + reorganized servletholder init reorganized servletholder init reorganized + servletholder init Reorganized ServletHolder init + + requestdispatcher uses request encoding for query params requestdispat + requestdispatcher uses request encoding for query params RequestDispatcher + uses request encoding for query params + + updated to japser 5.0.16 updated to japser 5.0.16 updated to japser 5.0.16 + Updated to Japser 5.0.16 jetty-4.2.18 - 01 March 2004 - + Added log4j context repository to jettyplus - + Default servlet respectes servlet path - + Fixed j2se 1.3 problem with HttpFields - + Improved log performance - + NPE guard for no-listener junit deployment - + Suppress some more IOExceptions + + added log4j context repository to jettyplus added log4j context reposi added + log4j context repository to jettyplus Added log4j context repository to + jettyplus + + default servlet respectes servlet path default servlet respectes servl + default servlet respectes servlet path Default servlet respectes servlet + path + + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed + j2se 1.3 problem with httpfields Fixed j2se 1.3 problem with HttpFields + + improved log performance improved log performance improved log performance + Improved log performance + + npe guard for no-listener junit deployment npe guard for no-listener j npe + guard for no-listener junit deployment NPE guard for no-listener junit + deployment + + suppress some more ioexceptions suppress some more ioexceptions suppress + some more ioexceptions Suppress some more IOExceptions jetty-4.2.17 - 01 February 2004 - + Fixed busy loop in threadpool run - + Reorganized ServletHolder init + + fixed busy loop in threadpool run fixed busy loop in threadpool run fixed + busy loop in threadpool run Fixed busy loop in threadpool run + + reorganized servletholder init reorganized servletholder init reorganized + servletholder init Reorganized ServletHolder init jetty-4.2.16 - 30 January 2004 - + FileResource better handles non sun JVM - + Fixed HttpTunnel for JDK 1.2 - + Fixed setDate multi-cpu race - + Improved low thread handling - + Monitor closes socket before exit - + RequestDispatcher uses request encoding for query params - + Update jasper to 4.1.29 + + fileresource better handles non sun jvm fileresource better handles no + fileresource better handles non sun jvm FileResource better handles non sun + JVM + + fixed httptunnel for jdk 1.2 fixed httptunnel for jdk 1.2 fixed httptunnel + for jdk 1.2 Fixed HttpTunnel for JDK 1.2 + + fixed setdate multi-cpu race fixed setdate multi-cpu race fixed setdate + multi-cpu race Fixed setDate multi-cpu race + + improved low thread handling improved low thread handling improved low + thread handling Improved low thread handling + + monitor closes socket before exit monitor closes socket before exit monitor + closes socket before exit Monitor closes socket before exit + + requestdispatcher uses request encoding for query params requestdispat + requestdispatcher uses request encoding for query params RequestDispatcher + uses request encoding for query params + + update jasper to 4.1.29 update jasper to 4.1.29 update jasper to 4.1.29 + Update jasper to 4.1.29 jetty-5.0.beta1 - 24 December 2003 - + Added patch for JBoss realm single sign on - + Env variables for CGI - + Fixed UnixCrypt handling in HTAccessHandler - + Removed support for old JBoss clustering - + Reorganized FAQ - + SecurityConstraints not reset by stop() on custom context + + added patch for jboss realm single sign on added patch for jboss realm added + patch for jboss realm single sign on Added patch for JBoss realm single sign + on + + env variables for cgi env variables for cgi env variables for cgi Env + variables for CGI + + fixed unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed + unixcrypt handling in htaccesshandler Fixed UnixCrypt handling in + HTAccessHandler + + removed support for old jboss clustering removed support for old jboss + removed support for old jboss clustering Removed support for old JBoss + clustering + + reorganized faq reorganized faq reorganized faq Reorganized FAQ + + securityconstraints not reset by stop() on custom context + securityconstraints not reset by stop() on custom context + SecurityConstraints not reset by stop() on custom context jetty-4.2.15 - 24 December 2003 - + Added patch for JBoss realm single sign on - + Environment variables for CGI - + Fixed UnixCrypt handling in HTAccessHandler - + Removed support for old JBoss clustering - + SecurityConstraints not reset by stop() on custom context + + added patch for jboss realm single sign on added patch for jboss realm added + patch for jboss realm single sign on Added patch for JBoss realm single sign + on + + environment variables for cgi environment variables for cgi environment + variables for cgi Environment variables for CGI + + fixed unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed + unixcrypt handling in htaccesshandler Fixed UnixCrypt handling in + HTAccessHandler + + removed support for old jboss clustering removed support for old jboss + removed support for old jboss clustering Removed support for old JBoss + clustering + + securityconstraints not reset by stop() on custom context + securityconstraints not reset by stop() on custom context + SecurityConstraints not reset by stop() on custom context jetty-5.0.beta0 - 22 November 2003 - + Added MsieSslHandler to handle browsers that don't grok persistent SSL (msie - 5) - + Added org.mortbay.http.ErrorHandler for error pages. - + Allow per listener handlers - + Expire pages that contain set-cookie as per RFC2109 recommendation - + Fixed init race in HttpFields cache - + JBoss integration uses writer rather than stream for XML config handling - + PathMap uses own Map.Entry impl for IBM JVMs - + Protect ThreadPool.run() from interrupted exceptions - + Removed support for HTTP trailers - + Removed the CMR/CMP distributed session implementation - + Respect content length when decoding form content. - + Updated jasper to 5.0.14beta - + Use ${jetty.home}/work or WEB-INF/work for temp directories if present + + added msiesslhandler to handle browsers that don't grok persistent ssl added + msiesslhandler to handle browsers that don't grok persistent ssl Added + MsieSslHandler to handle browsers that don't grok persistent SSL (msie 5) + + added org.mortbay.http.errorhandler for error pages. added added + org.mortbay.http.errorhandler for error pages. Added + org.mortbay.http.ErrorHandler for error pages. + + allow per listener handlers allow per listener handlers allow per listener + handlers Allow per listener handlers + + expire pages that contain set-cookie as per rfc2109 recommendation exp + expire pages that contain set-cookie as per rfc2109 recommendation Expire + pages that contain set-cookie as per RFC2109 recommendation + + fixed init race in httpfields cache fixed init race in httpfields cach fixed + init race in httpfields cache Fixed init race in HttpFields cache + + jboss integration uses writer rather than stream for xml config handli jboss + integration uses writer rather than stream for xml config handli JBoss + integration uses writer rather than stream for XML config handling + + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr + pathmap uses own map.entry impl for ibm jvms PathMap uses own Map.Entry impl + for IBM JVMs + + protect threadpool.run() from interrupted exceptions protect protect + threadpool.run() from interrupted exceptions Protect ThreadPool.run() from + interrupted exceptions + + removed support for http trailers removed support for http trailers removed + support for http trailers Removed support for HTTP trailers + + removed the cmr/cmp distributed session implementation removed the cmr + removed the cmr/cmp distributed session implementation Removed the CMR/CMP + distributed session implementation + + respect content length when decoding form content. respect content len + respect content length when decoding form content. Respect content length + when decoding form content. + + updated jasper to 5.0.14beta updated jasper to 5.0.14beta updated jasper to + 5.0.14beta Updated jasper to 5.0.14beta + + use ${jetty.home}/work or web-inf/work for temp directories if present use + ${jetty.home}/work or web-inf/work for temp directories if present Use + ${jetty.home}/work or WEB-INF/work for temp directories if present jetty-4.2.15rc0 - 22 November 2003 - + Added org.mortbay.http.ErrorHandler for error pages. - + JsseListener checks UserAgent for browsers that can't grok persistent SSL + + added org.mortbay.http.errorhandler for error pages. added added + org.mortbay.http.errorhandler for error pages. Added + org.mortbay.http.ErrorHandler for error pages. + + jsselistener checks useragent for browsers that can't grok persistent + jsselistener checks useragent for browsers that can't grok persistent + JsseListener checks UserAgent for browsers that can't grok persistent SSL (msie5) - + PathMap uses own Map.Entry impl for IBM JVMs - + Protect ThreadPool.run() from interrupted exceptions - + Race in HttpFields cache - + Removed the CMR/CMP distributed session implementation - + Use ${jetty.home}/work or WEB-INF/work for temp directories if present + + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr + pathmap uses own map.entry impl for ibm jvms PathMap uses own Map.Entry impl + for IBM JVMs + + protect threadpool.run() from interrupted exceptions protect protect + threadpool.run() from interrupted exceptions Protect ThreadPool.run() from + interrupted exceptions + + race in httpfields cache race in httpfields cache race in httpfields cache + Race in HttpFields cache + + removed the cmr/cmp distributed session implementation removed the cmr + removed the cmr/cmp distributed session implementation Removed the CMR/CMP + distributed session implementation + + use ${jetty.home}/work or web-inf/work for temp directories if present use + ${jetty.home}/work or web-inf/work for temp directories if present Use + ${jetty.home}/work or WEB-INF/work for temp directories if present jetty-4.2.14 - 04 November 2003 - + Expire pages that contain set-cookie as per RFC2109 recommendation - + Fixed NPE in SSO - + JBoss integration uses writer rather than stream for XML config handling - + respect content length when decoding form content. + + expire pages that contain set-cookie as per rfc2109 recommendation exp + expire pages that contain set-cookie as per rfc2109 recommendation Expire + pages that contain set-cookie as per RFC2109 recommendation + + fixed npe in sso fixed npe in sso fixed npe in sso Fixed NPE in SSO + + jboss integration uses writer rather than stream for xml config handli jboss + integration uses writer rather than stream for xml config handli JBoss + integration uses writer rather than stream for XML config handling + + respect content length when decoding form content. respect content len + respect content length when decoding form content. respect content length + when decoding form content. jetty-5.0.alpha3 - 19 October 2003 - + Allow customization of HttpConnections - + Failed requests excluded from duration stats - + FileClassPath derived from walk of classloader hierarchy. - + Fixed null pointer if no sevices configured for JettyPlus - + Implemented security constraint combinations - + Lazy authentication if no auth constraint. - + Priority added to ThreadPool - + replaced win32 service with http://wrapper.tanukisoftware.org - + Restore servlet handler after dispatch - + Reworked Dispatcher to better support cross context sessions. - + Set TransactionManager on JettyPlus datasources and pools - + Updated jasper and examples to 5.0.12 - + Use File.toURI().toURL() when jdk 1.2 alternative is available. + + allow customization of httpconnections allow customization of allow + customization of httpconnections Allow customization of HttpConnections + + failed requests excluded from duration stats failed requests excluded + failed requests excluded from duration stats Failed requests excluded from + duration stats + + fileclasspath derived from walk of classloader hierarchy. fileclasspat + fileclasspath derived from walk of classloader hierarchy. FileClassPath + derived from walk of classloader hierarchy. + + fixed null pointer if no sevices configured for jettyplus fixed null p fixed + null pointer if no sevices configured for jettyplus Fixed null pointer if no + sevices configured for JettyPlus + + implemented security constraint combinations implemented security cons + implemented security constraint combinations Implemented security constraint + combinations + + lazy authentication if no auth constraint. lazy authentication if no a lazy + authentication if no auth constraint. Lazy authentication if no auth + constraint. + + priority added to threadpool priority added to threadpool priority added to + threadpool Priority added to ThreadPool + + replaced win32 service with http://wrapper.tanukisoftware.org replaced + replaced win32 service with http://wrapper.tanukisoftware.org replaced win32 + service with http://wrapper.tanukisoftware.org + + restore servlet handler after dispatch restore servlet handler after restore + servlet handler after dispatch Restore servlet handler after dispatch + + reworked dispatcher to better support cross context sessions. reworked + reworked dispatcher to better support cross context sessions. Reworked + Dispatcher to better support cross context sessions. + + set transactionmanager on jettyplus datasources and pools set set + transactionmanager on jettyplus datasources and pools Set TransactionManager + on JettyPlus datasources and pools + + updated jasper and examples to 5.0.12 updated jasper and examples to 5 + updated jasper and examples to 5.0.12 Updated jasper and examples to 5.0.12 + + use file.touri().tourl() when jdk 1.2 alternative is available. use use + file.touri().tourl() when jdk 1.2 alternative is available. Use + File.toURI().toURL() when jdk 1.2 alternative is available. jetty-4.2.14RC1 - 19 October 2003 - + Added UserRealm.logout and arrange for form auth - + Allow customization of HttpConnections - + Failed requests excluded from - + Reworked Dispatcher to better support cross context sessions. + + added userrealm.logout and arrange for form auth added userrealm.logou added + userrealm.logout and arrange for form auth Added UserRealm.logout and + arrange for form auth + + allow customization of httpconnections allow customization of allow + customization of httpconnections Allow customization of HttpConnections + + failed requests excluded from failed requests excluded from failed requests + excluded from Failed requests excluded from + + reworked dispatcher to better support cross context sessions. reworked + reworked dispatcher to better support cross context sessions. Reworked + Dispatcher to better support cross context sessions. jetty-4.2.14RC0 - 07 October 2003 - + Build fileclasspath from a walk of the classloaders - + cookie timestamps are in GMT - + Correctly setup context classloader in cross context dispatch. - + Fixed comments with embedded double dashes on jettyplus.xml file - + Fixed handling of error pages for IO and Servlet exceptions - + Fixed null pointer if no sevices configured for JettyPlus - + Priority on ThreadedServer - + Put a semi busy loop into proxy tunnels for IE problems - + replaced win32 service with http://wrapper.tanukisoftware.org - + Set TransactionManager on JettyPlus datasources and pools - + updated extra/j2ee to jboss 3.2.1+ - + Use File.toURI().toURL() when jdk 1.2 alternative is available. + + build fileclasspath from a walk of the classloaders build fileclasspat build + fileclasspath from a walk of the classloaders Build fileclasspath from a + walk of the classloaders + + cookie timestamps are in gmt cookie timestamps are in gmt cookie timestamps + are in gmt cookie timestamps are in GMT + + correctly setup context classloader in cross context dispatch. correct + correctly setup context classloader in cross context dispatch. Correctly + setup context classloader in cross context dispatch. + + fixed comments with embedded double dashes on jettyplus.xml file fixed fixed + comments with embedded double dashes on jettyplus.xml file Fixed comments + with embedded double dashes on jettyplus.xml file + + fixed handling of error pages for io and servlet exceptions fixed hand fixed + handling of error pages for io and servlet exceptions Fixed handling of + error pages for IO and Servlet exceptions + + fixed null pointer if no sevices configured for jettyplus fixed null p fixed + null pointer if no sevices configured for jettyplus Fixed null pointer if no + sevices configured for JettyPlus + + priority on threadedserver priority on threadedserver priority on + threadedserver Priority on ThreadedServer + + put a semi busy loop into proxy tunnels for ie problems put a semi bus put a + semi busy loop into proxy tunnels for ie problems Put a semi busy loop into + proxy tunnels for IE problems + + replaced win32 service with http://wrapper.tanukisoftware.org replaced + replaced win32 service with http://wrapper.tanukisoftware.org replaced win32 + service with http://wrapper.tanukisoftware.org + + set transactionmanager on jettyplus datasources and pools set set + transactionmanager on jettyplus datasources and pools Set TransactionManager + on JettyPlus datasources and pools + + updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ + updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ + + use file.touri().tourl() when jdk 1.2 alternative is available. use use + file.touri().tourl() when jdk 1.2 alternative is available. Use + File.toURI().toURL() when jdk 1.2 alternative is available. jetty-5.0.alpha2 - 19 September 2003 - + Correctly setup context classloader in cross context dispatch. - + Fixed error page handling of IO and Servlet exceptions. - + Implemented ServletRequestListeners as optional filter. - + Improved JMX start. - + minor doco updates. - + Moved error page mechanism to be webapp only. - + moved mailing lists to sourceforge. - + MultipartRequest supports multi value headers. - + Put a semi busy loop into proxy tunnels for IE problems - + Turn off validation without non-xerces errors - + Update jakarta examples - + Use commons logging. - + Use log4j if extra is present. - + XML entity resolution uses URLs not Resources + + correctly setup context classloader in cross context dispatch. correct + correctly setup context classloader in cross context dispatch. Correctly + setup context classloader in cross context dispatch. + + fixed error page handling of io and servlet exceptions. fixed error pa fixed + error page handling of io and servlet exceptions. Fixed error page handling + of IO and Servlet exceptions. + + implemented servletrequestlisteners as optional filter. implemented + implemented servletrequestlisteners as optional filter. Implemented + ServletRequestListeners as optional filter. + + improved jmx start. improved jmx start. improved jmx start. Improved JMX + start. + + minor doco updates. minor doco updates. minor doco updates. minor doco + updates. + + moved error page mechanism to be webapp only. moved error page mechani moved + error page mechanism to be webapp only. Moved error page mechanism to be + webapp only. + + moved mailing lists to sourceforge. moved mailing lists to sourceforge moved + mailing lists to sourceforge. moved mailing lists to sourceforge. + + multipartrequest supports multi value headers. multipartrequest suppor + multipartrequest supports multi value headers. MultipartRequest supports + multi value headers. + + put a semi busy loop into proxy tunnels for ie problems put a semi bus put a + semi busy loop into proxy tunnels for ie problems Put a semi busy loop into + proxy tunnels for IE problems + + turn off validation without non-xerces errors turn off validation with turn + off validation without non-xerces errors Turn off validation without + non-xerces errors + + update jakarta examples update jakarta examples update jakarta examples + Update jakarta examples + + use commons logging. use commons logging. use commons logging. Use commons + logging. + + use log4j if extra is present. use log4j if extra is present. use log4j if + extra is present. Use log4j if extra is present. + + xml entity resolution uses urls not resources xml entity resolution us xml + entity resolution uses urls not resources XML entity resolution uses URLs + not Resources jetty-5.0.alpha1 - 12 August 2003 - + Implemented locale encoding mapping. - + Improve combinations of Security Constraints - + Server javadoc from war - + Switched to mx4j - + Synced with 4.2.12 - + Updated to Jasper 5.0.7 + + implemented locale encoding mapping. implemented locale encoding mappi + implemented locale encoding mapping. Implemented locale encoding mapping. + + improve combinations of security constraints improve combinations of improve + combinations of security constraints Improve combinations of Security + Constraints + + server javadoc from war server javadoc from war server javadoc from war + Server javadoc from war + + switched to mx4j switched to mx4j switched to mx4j Switched to mx4j + + synced with 4.2.12 synced with 4.2.12 synced with 4.2.12 Synced with 4.2.12 + + updated to jasper 5.0.7 updated to jasper 5.0.7 updated to jasper 5.0.7 + Updated to Jasper 5.0.7 jetty-5.0.alpha0 - 16 July 2003 - + Compiled against 2.4 servlet spec. - + Implemented Dispatcher forward attributes. - + Implemented filter-mapping element - + Implemented remote/local addr/port methods - + Implemented setCharaterEncoding - + Updated authentication so that a normal Principal is used. - + updated to jasper 5.0.3 + + compiled against 2.4 servlet spec. compiled against 2.4 servlet spec. + compiled against 2.4 servlet spec. Compiled against 2.4 servlet spec. + + implemented dispatcher forward attributes. implemented dispatcher forw + implemented dispatcher forward attributes. Implemented Dispatcher forward + attributes. + + implemented filter-mapping element implemented filter-map + implemented filter-mapping element Implemented filter-mapping + element + + implemented remote/local addr/port methods implemented remote/local + implemented remote/local addr/port methods Implemented remote/local + addr/port methods + + implemented setcharaterencoding implemented setcharaterencoding implemented + setcharaterencoding Implemented setCharaterEncoding + + updated authentication so that a normal principal is used. updated updated + authentication so that a normal principal is used. Updated authentication so + that a normal Principal is used. + + updated to jasper 5.0.3 updated to jasper 5.0.3 updated to jasper 5.0.3 + updated to jasper 5.0.3 jetty-4.2.12 - 12 August 2003 - + Added missing S to some OPTIONS strings - + Added open method to threaded server. - + Fixed MIME types for chemicals - + Fixed parameter ordering for a forward request. - + Fixed up HTAccessHandler - + FORMAuthenticator does 403 with empty error page. - + Improved error messages from ProxyHandler - + Padding for IE in RootNotFoundHandler - + Removed protection of org.mortbay.http attributes - + Restore max inactive interval for session manager + + added missing s to some options strings added missing s to some option added + missing s to some options strings Added missing S to some OPTIONS strings + + added open method to threaded server. added open method to threaded se added + open method to threaded server. Added open method to threaded server. + + fixed mime types for chemicals fixed mime types for chemicals fixed mime + types for chemicals Fixed MIME types for chemicals + + fixed parameter ordering for a forward request. fixed parameter orderi fixed + parameter ordering for a forward request. Fixed parameter ordering for a + forward request. + + fixed up htaccesshandler fixed up htaccesshandler fixed up htaccesshandler + Fixed up HTAccessHandler + + formauthenticator does 403 with empty error page. formauthenticator do + formauthenticator does 403 with empty error page. FORMAuthenticator does 403 + with empty error page. + + improved error messages from proxyhandler improved error messages from + improved error messages from proxyhandler Improved error messages from + ProxyHandler + + padding for ie in rootnotfoundhandler padding for ie in rootnotfoundha + padding for ie in rootnotfoundhandler Padding for IE in RootNotFoundHandler + + removed protection of org.mortbay.http attributes removed protection o + removed protection of org.mortbay.http attributes Removed protection of + org.mortbay.http attributes + + restore max inactive interval for session manager restore max inactive + restore max inactive interval for session manager Restore max inactive + interval for session manager jetty-4.2.11 - 12 July 2003 - + Branched for Jetty 5 development. - + Cookie params all in lower case. - + Fixed race in servlet initialization code. - + Prevent AJP13 from reordering query. - + Simplified AJP13 connection handling. - + Support separate Monitor class for start + + branched for jetty 5 development. branched for jetty 5 development. branched + for jetty 5 development. Branched for Jetty 5 development. + + cookie params all in lower case. cookie params all in lower case. cookie + params all in lower case. Cookie params all in lower case. + + fixed race in servlet initialization code. fixed race in servlet fixed race + in servlet initialization code. Fixed race in servlet initialization code. + + prevent ajp13 from reordering query. prevent ajp13 from reordering que + prevent ajp13 from reordering query. Prevent AJP13 from reordering query. + + simplified ajp13 connection handling. simplified ajp13 connection hand + simplified ajp13 connection handling. Simplified AJP13 connection handling. + + support separate monitor class for start support separate monitor clas + support separate monitor class for start Support separate Monitor class for + start jetty-4.2.10 - 07 July 2003 - + Updates to JettyPlus documentation - + Updates to Jetty tutorial for start.jar, jmx etc + + updates to jettyplus documentation updates to jettyplus documentation + updates to jettyplus documentation Updates to JettyPlus documentation + + updates to jetty tutorial for start.jar, jmx etc updates to jetty tuto + updates to jetty tutorial for start.jar, jmx etc Updates to Jetty tutorial + for start.jar, jmx etc jetty-4.2.10pre2 - 04 July 2003 - + Addition of mail service for JettyPlus - + Allow multiple security-role-ref elements per servlet. - + Cleaned up alias handling. - + Confidential redirection includes query - + Fixed cookie handling for old cookies and safari - + handle multiple security role references - + Handle Proxy-Connection better - + Improvement to JettyPlus config of datasources and connection pools - + Many improvements in JettyPlus java:comp handling - + Move to Service-based architecture for JettyPlus features - + Re-implementation of JNDI - + Restricted ports in ProxyHandler. - + Session statistics - + URI always encodes % - + XmlConfiguration can get/set fields. + + addition of mail service for jettyplus addition of mail service for addition + of mail service for jettyplus Addition of mail service for JettyPlus + + allow multiple security-role-ref elements per servlet. allow multiple allow + multiple security-role-ref elements per servlet. Allow multiple + security-role-ref elements per servlet. + + cleaned up alias handling. cleaned up alias handling. cleaned up alias + handling. Cleaned up alias handling. + + confidential redirection includes query confidential redirection inclu + confidential redirection includes query Confidential redirection includes + query + + fixed cookie handling for old cookies and safari fixed cookie handling fixed + cookie handling for old cookies and safari Fixed cookie handling for old + cookies and safari + + handle multiple security role references handle multiple security role + handle multiple security role references handle multiple security role + references + + handle proxy-connection better handle proxy-connection better handle + proxy-connection better Handle Proxy-Connection better + + improvement to jettyplus config of datasources and connection pools + improvement to jettyplus config of datasources and connection pools + Improvement to JettyPlus config of datasources and connection pools + + many improvements in jettyplus java:comp handling many improvements in many + improvements in jettyplus java:comp handling Many improvements in JettyPlus + java:comp handling + + move to service-based architecture for jettyplus features move to move to + service-based architecture for jettyplus features Move to Service-based + architecture for JettyPlus features + + re-implementation of jndi re-implementation of jndi re-implementation of + jndi Re-implementation of JNDI + + restricted ports in proxyhandler. restricted ports in proxyhandler. + restricted ports in proxyhandler. Restricted ports in ProxyHandler. + + session statistics session statistics session statistics Session statistics + + uri always encodes % uri always encodes % uri always encodes % URI always + encodes % + + xmlconfiguration can get/set fields. xmlconfiguration can get/set fiel + xmlconfiguration can get/set fields. XmlConfiguration can get/set fields. jetty-4.2.10pre1 - 02 June 2003 - + Added SSO implementation for FORM authentication. - + Added stop.jar - + Deprecated forced chunking. - + Fixed AJP13 protocol so that request/response header enums are correct. - + Fixed form auth success redirect after retry, introduced in 4.2.9rc1 - + Fixed JSP code visibility problem introduced in Jetty-4.2.10pre0 - + Fixed problem with shared session for inter context dispatching. - + Form authentication remembers URL over 403 - + ProxyHandler has improved test for request content - + Removed support of org.mortbay.http.User role. - + Trace support is now optional (in AbstractHttpHandler). - + WebApplicationContext does not reassign defaults descriptor value. + + added sso implementation for form authentication. added sso implementa added + sso implementation for form authentication. Added SSO implementation for + FORM authentication. + + added stop.jar added stop.jar added stop.jar Added stop.jar + + deprecated forced chunking. deprecated forced chunking. deprecated forced + chunking. Deprecated forced chunking. + + fixed ajp13 protocol so that request/response header enums are correct fixed + ajp13 protocol so that request/response header enums are correct Fixed AJP13 + protocol so that request/response header enums are correct. + + fixed form auth success redirect after retry, introduced in 4.2.9rc1 f fixed + form auth success redirect after retry, introduced in 4.2.9rc1 Fixed form + auth success redirect after retry, introduced in 4.2.9rc1 + + fixed jsp code visibility problem introduced in jetty-4.2.10pre0 fixed fixed + jsp code visibility problem introduced in jetty-4.2.10pre0 Fixed JSP code + visibility problem introduced in Jetty-4.2.10pre0 + + fixed problem with shared session for inter context dispatching. fixed fixed + problem with shared session for inter context dispatching. Fixed problem + with shared session for inter context dispatching. + + form authentication remembers url over 403 form authentication remembe form + authentication remembers url over 403 Form authentication remembers URL over + 403 + + proxyhandler has improved test for request content proxyhandler has im + proxyhandler has improved test for request content ProxyHandler has improved + test for request content + + removed support of org.mortbay.http.user role. removed support of removed + support of org.mortbay.http.user role. Removed support of + org.mortbay.http.User role. + + trace support is now optional (in abstracthttphandler). trace support trace + support is now optional (in abstracthttphandler). Trace support is now + optional (in AbstractHttpHandler). + + webapplicationcontext does not reassign defaults descriptor value. + webapplicationcontext does not reassign defaults descriptor value. + WebApplicationContext does not reassign defaults descriptor value. jetty-4.2.10pre0 - 05 May 2003 - + Added ability to override jetty startup class by using -Djetty.server on - runline - + Allow params in form auth URLs - + Allow query params in error page URL. - + Apply the append flag of RolloverFileOutputStream constructor. - + Fixed CRLF bug in MultiPartRequest - + Fixed table refs in JDBCUserRealm. - + FORM Authentication is serializable for session distribution. - + getAuthType maps the HttpServletRequest final strings. - + getAuthType returns CLIENT_CERT instead of CLIENT-CERT. - + Incorporate jetty extra and plus into build - + Incorporate JettyPlus jotm etc into build. - + Integrate with JAAS - + Massive reorg of the CVS tree. - + Merge multivalued parameters in dispatcher. - + Moved Log4JLogSink into JettyPlus - + New look and feel for www site. - + ProxyHandler checks black and white lists for Connect. - + RolloverFileOutputStream manages Rollover thread. - + Updated to jasper jars from tomcat 4.1.24 - + Warn if max form content size is reached. + + added ability to override jetty startup class by using -djetty.server added + ability to override jetty startup class by using -djetty.server Added + ability to override jetty startup class by using -Djetty.server on runline + + allow params in form auth urls allow params in form auth urls allow params + in form auth urls Allow params in form auth URLs + + allow query params in error page url. allow query params in error page allow + query params in error page url. Allow query params in error page URL. + + apply the append flag of rolloverfileoutputstream constructor. apply t apply + the append flag of rolloverfileoutputstream constructor. Apply the append + flag of RolloverFileOutputStream constructor. + + fixed crlf bug in multipartrequest fixed crlf bug in multipartrequest fixed + crlf bug in multipartrequest Fixed CRLF bug in MultiPartRequest + + fixed table refs in jdbcuserrealm. fixed table refs in jdbcuserrealm. fixed + table refs in jdbcuserrealm. Fixed table refs in JDBCUserRealm. + + form authentication is serializable for session distribution. form form + authentication is serializable for session distribution. FORM Authentication + is serializable for session distribution. + + getauthtype maps the httpservletrequest final strings. getauthtype map + getauthtype maps the httpservletrequest final strings. getAuthType maps the + HttpServletRequest final strings. + + getauthtype returns client_cert instead of client-cert. getauthtype re + getauthtype returns client_cert instead of client-cert. getAuthType returns + CLIENT_CERT instead of CLIENT-CERT. + + incorporate jetty extra and plus into build incorporate jetty extra an + incorporate jetty extra and plus into build Incorporate jetty extra and plus + into build + + incorporate jettyplus jotm etc into build. incorporate jettyplus jotm + incorporate jettyplus jotm etc into build. Incorporate JettyPlus jotm etc + into build. + + integrate with jaas integrate with jaas integrate with jaas Integrate with + JAAS + + massive reorg of the cvs tree. massive reorg of the cvs tree. massive reorg + of the cvs tree. Massive reorg of the CVS tree. + + merge multivalued parameters in dispatcher. merge multivalued paramete merge + multivalued parameters in dispatcher. Merge multivalued parameters in + dispatcher. + + moved log4jlogsink into jettyplus moved log4jlogsink into jettyplus moved + log4jlogsink into jettyplus Moved Log4JLogSink into JettyPlus + + new look and feel for www site. new look and feel for www site. new look and + feel for www site. New look and feel for www site. + + proxyhandler checks black and white lists for connect. proxyhandler ch + proxyhandler checks black and white lists for connect. ProxyHandler checks + black and white lists for Connect. + + rolloverfileoutputstream manages rollover thread. rolloverfileoutputst + rolloverfileoutputstream manages rollover thread. RolloverFileOutputStream + manages Rollover thread. + + updated to jasper jars from tomcat 4.1.24 updated to jasper jars from + updated to jasper jars from tomcat 4.1.24 Updated to jasper jars from tomcat + 4.1.24 + + warn if max form content size is reached. warn if max form content siz warn + if max form content size is reached. Warn if max form content size is + reached. jetty-4.2.9 - 19 March 2003 - + Conditional headers check after /dir to /dir/ redirection. + + conditional headers check after /dir to /dir/ redirection. conditional + conditional headers check after /dir to /dir/ redirection. Conditional + headers check after /dir to /dir/ redirection. jetty-4.2.9rc2 - 16 March 2003 - + Added X-Forwarded-For header in ProxyHandler - + Allow dispatch to j_security_check - + Defaults descriptor has context classloader set. - + Fixed build.xml for source release - + Made rfc2068 PUT/POST Continues support optional. - + Updated included jmx jars + + added x-forwarded-for header in proxyhandler added x-forwarded-for hea added + x-forwarded-for header in proxyhandler Added X-Forwarded-For header in + ProxyHandler + + allow dispatch to j_security_check allow dispatch to j_security_check allow + dispatch to j_security_check Allow dispatch to j_security_check + + defaults descriptor has context classloader set. defaults descriptor h + defaults descriptor has context classloader set. Defaults descriptor has + context classloader set. + + fixed build.xml for source release fixed build.xml for source release fixed + build.xml for source release Fixed build.xml for source release + + made rfc2068 put/post continues support optional. made rfc2068 put/pos made + rfc2068 put/post continues support optional. Made rfc2068 PUT/POST Continues + support optional. + + updated included jmx jars updated included jmx jars updated included jmx + jars Updated included jmx jars jetty-4.2.9rc1 - 06 March 2003 - + Added requestlog to HttpContext. - + Added support for client certs to AJP13. - + Added trust manager support to SunJsseListener. - + Allow delegated creation of WebApplication derivations. - + Check Data contraints before Auth constraints - + Cleaned up includes - + Dump servlet can load resources for testing now. - + Optional 2.4 behaviour for sessionDestroyed notification. - + ProxyHandler has black and white host list. - + Reduced default context cache sizes (Total 1MB file 100KB). - + Removed checking for single valued headers. - + Stop proxy url from doing user interaction. - + Turn request log buffering off by default. - + Work around URLClassloader not handling leading / + + added requestlog to httpcontext. added requestlog to httpcontext. added + requestlog to httpcontext. Added requestlog to HttpContext. + + added support for client certs to ajp13. added support for client cert added + support for client certs to ajp13. Added support for client certs to AJP13. + + added trust manager support to sunjsselistener. added trust manager su added + trust manager support to sunjsselistener. Added trust manager support to + SunJsseListener. + + allow delegated creation of webapplication derivations. allow delegate allow + delegated creation of webapplication derivations. Allow delegated creation + of WebApplication derivations. + + check data contraints before auth constraints check data contraints be check + data contraints before auth constraints Check Data contraints before Auth + constraints + + cleaned up includes cleaned up includes cleaned up includes Cleaned up + includes + + dump servlet can load resources for testing now. dump servlet can load dump + servlet can load resources for testing now. Dump servlet can load resources + for testing now. + + optional 2.4 behaviour for sessiondestroyed notification. optional 2.4 + optional 2.4 behaviour for sessiondestroyed notification. Optional 2.4 + behaviour for sessionDestroyed notification. + + proxyhandler has black and white host list. proxyhandler has black and + proxyhandler has black and white host list. ProxyHandler has black and white + host list. + + reduced default context cache sizes (total 1mb file 100kb). reduced de + reduced default context cache sizes (total 1mb file 100kb). Reduced default + context cache sizes (Total 1MB file 100KB). + + removed checking for single valued headers. removed checking for singl + removed checking for single valued headers. Removed checking for single + valued headers. + + stop proxy url from doing user interaction. stop proxy url from doing stop + proxy url from doing user interaction. Stop proxy url from doing user + interaction. + + turn request log buffering off by default. turn request log buffering turn + request log buffering off by default. Turn request log buffering off by + default. + + work around urlclassloader not handling leading / work around urlclass work + around urlclassloader not handling leading / Work around URLClassloader not + handling leading / jetty-4.2.8_01 - 18 February 2003 - + Added a SetResponseHeadersHandler, can set P3P headers etc. - + Added MBeans for Servlets and Filters - + Added option to resolve remote hostnames. Defaults to off. - + Default servlet can have own resourceBase. - + Fixed AdminServlet to handle changed getServletPath better. - + Fixed CGI servlet to handle multiple headers. - + Moved ProxyHandler to the src1.4 tree - + Patched first release of 4.2.8 with correct version number - + ProxyHandler can handle multiple cookies. - + Rolled back SocketChannelListener to 4.2.5 version + + added a setresponseheadershandler, can set p3p headers etc. added a added a + setresponseheadershandler, can set p3p headers etc. Added a + SetResponseHeadersHandler, can set P3P headers etc. + + added mbeans for servlets and filters added mbeans for servlets and fi added + mbeans for servlets and filters Added MBeans for Servlets and Filters + + added option to resolve remote hostnames. defaults to off. added opti added + option to resolve remote hostnames. defaults to off. Added option to + resolve remote hostnames. Defaults to off. + + default servlet can have own resourcebase. default servlet can have ow + default servlet can have own resourcebase. Default servlet can have own + resourceBase. + + fixed adminservlet to handle changed getservletpath better. fixed fixed + adminservlet to handle changed getservletpath better. Fixed AdminServlet to + handle changed getServletPath better. + + fixed cgi servlet to handle multiple headers. fixed cgi servlet to han fixed + cgi servlet to handle multiple headers. Fixed CGI servlet to handle multiple + headers. + + moved proxyhandler to the src1.4 tree moved proxyhandler to the src1.4 moved + proxyhandler to the src1.4 tree Moved ProxyHandler to the src1.4 tree + + patched first release of 4.2.8 with correct version number patched fir + patched first release of 4.2.8 with correct version number Patched first + release of 4.2.8 with correct version number + + proxyhandler can handle multiple cookies. proxyhandler can handle mult + proxyhandler can handle multiple cookies. ProxyHandler can handle multiple + cookies. + + rolled back socketchannellistener to 4.2.5 version rolled back rolled back + socketchannellistener to 4.2.5 version Rolled back SocketChannelListener to + 4.2.5 version jetty-4.2.7 - 04 February 2003 - + Changed PathMap to conform to / getServletPath handling. - + Fixed proxy tunnel for non persistent connections. - + Relative sendRedirect handles trailing / correctly. - + Upgraded to JSSE 1.0.3_01 to fix security problem. + + changed pathmap to conform to / getservletpath handling. changed pathm + changed pathmap to conform to / getservletpath handling. Changed PathMap to + conform to / getServletPath handling. + + fixed proxy tunnel for non persistent connections. fixed proxy tunnel fixed + proxy tunnel for non persistent connections. Fixed proxy tunnel for non + persistent connections. + + relative sendredirect handles trailing / correctly. relative sendredir + relative sendredirect handles trailing / correctly. Relative sendRedirect + handles trailing / correctly. + + upgraded to jsse 1.0.3_01 to fix security problem. upgraded to jsse 1. + upgraded to jsse 1.0.3_01 to fix security problem. Upgraded to JSSE 1.0.3_01 + to fix security problem. jetty-4.2.6 - 24 January 2003 - + Added HttpContext.setHosts to restrict context by real interface. - + Added MBeans for session managers - + Added version to HttpServerMBean. - + Allow AJP13 buffers to be resized. - + ClientCertAuthentication updates request. - + Fixed LineInput problem with expanded buffers. - + Fixed rel sendRedirects for root context. - + Improved SocketChannelListener contributed. - + Improved synchronization on AbstractSessionManager. + + added httpcontext.sethosts to restrict context by real interface. adde added + httpcontext.sethosts to restrict context by real interface. Added + HttpContext.setHosts to restrict context by real interface. + + added mbeans for session managers added mbeans for session managers added + mbeans for session managers Added MBeans for session managers + + added version to httpservermbean. added version to httpservermbean. added + version to httpservermbean. Added version to HttpServerMBean. + + allow ajp13 buffers to be resized. allow ajp13 buffers to be resized. allow + ajp13 buffers to be resized. Allow AJP13 buffers to be resized. + + clientcertauthentication updates request. clientcertauthentication upd + clientcertauthentication updates request. ClientCertAuthentication updates + request. + + fixed lineinput problem with expanded buffers. fixed lineinput problem fixed + lineinput problem with expanded buffers. Fixed LineInput problem with + expanded buffers. + + fixed rel sendredirects for root context. fixed rel sendredirects for fixed + rel sendredirects for root context. Fixed rel sendRedirects for root + context. + + improved socketchannellistener contributed. improved socketchannellist + improved socketchannellistener contributed. Improved SocketChannelListener + contributed. + + improved synchronization on abstractsessionmanager. improved synchroni + improved synchronization on abstractsessionmanager. Improved synchronization + on AbstractSessionManager. jetty-4.2.5 - 14 January 2003 - + Added Log4jSink in the contrib directory. - + Don't process conditional headers and ranges for includes - + Fixed pathParam bug for ;jsessionid - + Fixed requestedSessionId null bug. + + added log4jsink in the contrib directory. added log4jsink in the contr added + log4jsink in the contrib directory. Added Log4jSink in the contrib + directory. + + don't process conditional headers and ranges for includes don't proces don't + process conditional headers and ranges for includes Don't process + conditional headers and ranges for includes + + fixed pathparam bug for ;jsessionid fixed pathparam bug for ;jsessioni fixed + pathparam bug for ;jsessionid Fixed pathParam bug for ;jsessionid + + fixed requestedsessionid null bug. fixed requestedsessionid null bug. fixed + requestedsessionid null bug. Fixed requestedSessionId null bug. jetty-4.2.4 - 04 January 2003 - + Added MBeans for handlers - + Clear context attributes after stop. - + Clear context listeners after stop. - + Fixed stop/start handling of servlet context - + HTAccessHandler checks realm as well as htpassword. - + Reuse empty LogSink slots. - + Upgraded jasper to 4.1.18 - + Use requestedSessionId as default session ID. + + added mbeans for handlers added mbeans for handlers added mbeans for + handlers Added MBeans for handlers + + clear context attributes after stop. clear context attributes after st clear + context attributes after stop. Clear context attributes after stop. + + clear context listeners after stop. clear context listeners after stop clear + context listeners after stop. Clear context listeners after stop. + + fixed stop/start handling of servlet context fixed stop/start handling fixed + stop/start handling of servlet context Fixed stop/start handling of servlet + context + + htaccesshandler checks realm as well as htpassword. htaccesshandler ch + htaccesshandler checks realm as well as htpassword. HTAccessHandler checks + realm as well as htpassword. + + reuse empty logsink slots. reuse empty logsink slots. reuse empty logsink + slots. Reuse empty LogSink slots. + + upgraded jasper to 4.1.18 upgraded jasper to 4.1.18 upgraded jasper to + 4.1.18 Upgraded jasper to 4.1.18 + + use requestedsessionid as default session id. use requestedsessionid a use + requestedsessionid as default session id. Use requestedSessionId as default + session ID. jetty-4.2.4rc0 - 12 December 2002 - + Added gzip content encoding support to Default and ResourceHandler - + Added HttpContext.flushCache - + Allow empty host header. - + Avoid optional 100 continues. - + Better access to session manager. - + Character encoding handling for GET requests. - + Cheap clear for HttpFields - + Cleaned up some unused listener throws. - + Code logs objects rather than strings. - + Configurable root context. - + Dir listings in UTF8 - + Fixed dir listing from jars. - + Fixed isSecure and getScheme for SSL over AJP13 - + Fixed setBufferSize NPE. - + Handle = in param values. - + Handle chunked form data. - + Implemented RFC2817 CONNECT in ProxyHandler - + Improved ProxyHandler to the point is works well for non SSL. - + Improved setBufferSize handling - + Limit form content size. - + Removed container transfer encoding handling. - + RootNotFoundHandler to help when no context found. - + Simplified ThreadedServer - + Update jasper to 4.1.16beta - + Use ThreadLocals for ByteArrayPool to avoid synchronization. - + Use Version to reset HttpFields + + added gzip content encoding support to default and resourcehandler add added + gzip content encoding support to default and resourcehandler Added gzip + content encoding support to Default and ResourceHandler + + added httpcontext.flushcache added httpcontext.flushcache added + httpcontext.flushcache Added HttpContext.flushCache + + allow empty host header. allow empty host header. allow empty host header. + Allow empty host header. + + avoid optional 100 continues. avoid optional 100 continues. avoid optional + 100 continues. Avoid optional 100 continues. + + better access to session manager. better access to session manager. better + access to session manager. Better access to session manager. + + character encoding handling for get requests. character encoding handl + character encoding handling for get requests. Character encoding handling + for GET requests. + + cheap clear for httpfields cheap clear for httpfields cheap clear for + httpfields Cheap clear for HttpFields + + cleaned up some unused listener throws. cleaned up some unused listene + cleaned up some unused listener throws. Cleaned up some unused listener + throws. + + code logs objects rather than strings. code logs objects rather than code + logs objects rather than strings. Code logs objects rather than strings. + + configurable root context. configurable root context. configurable root + context. Configurable root context. + + dir listings in utf8 dir listings in utf8 dir listings in utf8 Dir listings + in UTF8 + + fixed dir listing from jars. fixed dir listing from jars. fixed dir listing + from jars. Fixed dir listing from jars. + + fixed issecure and getscheme for ssl over ajp13 fixed issecure and get fixed + issecure and getscheme for ssl over ajp13 Fixed isSecure and getScheme for + SSL over AJP13 + + fixed setbuffersize npe. fixed setbuffersize npe. fixed setbuffersize npe. + Fixed setBufferSize NPE. + + handle = in param values. handle = in param values. handle = in param + values. Handle = in param values. + + handle chunked form data. handle chunked form data. handle chunked form + data. Handle chunked form data. + + implemented rfc2817 connect in proxyhandler implemented rfc2817 connec + implemented rfc2817 connect in proxyhandler Implemented RFC2817 CONNECT in + ProxyHandler + + improved proxyhandler to the point is works well for non ssl. improved + improved proxyhandler to the point is works well for non ssl. Improved + ProxyHandler to the point is works well for non SSL. + + improved setbuffersize handling improved setbuffersize handling improved + setbuffersize handling Improved setBufferSize handling + + limit form content size. limit form content size. limit form content size. + Limit form content size. + + removed container transfer encoding handling. removed container transf + removed container transfer encoding handling. Removed container transfer + encoding handling. + + rootnotfoundhandler to help when no context found. rootnotfoundhandler + rootnotfoundhandler to help when no context found. RootNotFoundHandler to + help when no context found. + + simplified threadedserver simplified threadedserver simplified + threadedserver Simplified ThreadedServer + + update jasper to 4.1.16beta update jasper to 4.1.16beta update jasper to + 4.1.16beta Update jasper to 4.1.16beta + + use threadlocals for bytearraypool to avoid synchronization. use use + threadlocals for bytearraypool to avoid synchronization. Use ThreadLocals + for ByteArrayPool to avoid synchronization. + + use version to reset httpfields use version to reset httpfields use version + to reset httpfields Use Version to reset HttpFields jetty-4.2.3 - 02 December 2002 - + Added links to Jetty Powered page - + added main() to org.mortbay.http.Version - + Added PKCS12Import class to import PKCS12 key directly - + Check form authentication config for leading / - + Cleaner servlet stop to avoid extra synchronization on handle - + Clean up of ThreadedServer.stop() - + Fixed some typos - + org.mortbay.http.HttpContext.FileClassPathAttribute - + Removed aggressive threadpool shrinkage to avoid deadlock on SMP machines. - + removed old HttpContext.setDirAllowed() - + Updated bat scripts + + added links to jetty powered page added links to jetty powered page added + links to jetty powered page Added links to Jetty Powered page + + added main() to org.mortbay.http.version added main() to added main() to + org.mortbay.http.version added main() to org.mortbay.http.Version + + added pkcs12import class to import pkcs12 key directly added pkcs12imp added + pkcs12import class to import pkcs12 key directly Added PKCS12Import class to + import PKCS12 key directly + + check form authentication config for leading / check form authenticati check + form authentication config for leading / Check form authentication config + for leading / + + cleaner servlet stop to avoid extra synchronization on handle cleaner + cleaner servlet stop to avoid extra synchronization on handle Cleaner + servlet stop to avoid extra synchronization on handle + + clean up of threadedserver.stop() clean up of threadedserver.stop() clean up + of threadedserver.stop() Clean up of ThreadedServer.stop() + + fixed some typos fixed some typos fixed some typos Fixed some typos + + org.mortbay.http.httpcontext.fileclasspathattribute + org.mortbay.http.httpcontext.fileclasspathattribute + org.mortbay.http.HttpContext.FileClassPathAttribute + + removed aggressive threadpool shrinkage to avoid deadlock on smp machi + removed aggressive threadpool shrinkage to avoid deadlock on smp machi + Removed aggressive threadpool shrinkage to avoid deadlock on SMP machines. + + removed old httpcontext.setdirallowed() removed old removed old + httpcontext.setdirallowed() removed old HttpContext.setDirAllowed() + + updated bat scripts updated bat scripts updated bat scripts Updated bat + scripts jetty-4.2.2 - 20 November 2002 - + Added EOFException to reduce log verbosity on closed connections. - + Avoided bad buffer status after closed connection. - + Fixed handling of empty headers - + Fixed sendRedirect for non http URLS - + Fixed URI query recycling for persistent connections + + added eofexception to reduce log verbosity on closed connections. adde added + eofexception to reduce log verbosity on closed connections. Added + EOFException to reduce log verbosity on closed connections. + + avoided bad buffer status after closed connection. avoided bad buffer + avoided bad buffer status after closed connection. Avoided bad buffer status + after closed connection. + + fixed handling of empty headers fixed handling of empty headers fixed + handling of empty headers Fixed handling of empty headers + + fixed sendredirect for non http urls fixed sendredirect for non http u fixed + sendredirect for non http urls Fixed sendRedirect for non http URLS + + fixed uri query recycling for persistent connections fixed uri query fixed + uri query recycling for persistent connections Fixed URI query recycling for + persistent connections jetty-4.2.1 - 18 November 2002 - + Fixed bad optimization in UrlEncoding - + Re-enabled UrlEncoding test harnesses + + fixed bad optimization in urlencoding fixed bad optimization in urlenc fixed + bad optimization in urlencoding Fixed bad optimization in UrlEncoding + + re-enabled urlencoding test harnesses re-enabled urlencoding test harn + re-enabled urlencoding test harnesses Re-enabled UrlEncoding test harnesses jetty-4.2.0 - 16 November 2002 - + Added definitions for RFC2518 WebDav response codes. - + Added upload demo to dump servlet. - + Fixed AJP13 buffer size. - + Fixed include of Invoker servlet. - + Fixed remove listener bug. - + Lowercase jsessionid for URLs only. - + Made NCSARequestLog easier to extend. - + Many more optimizations. - + Removed jasper source and just include jars from 4.1.12 - + Removed remaining non portable getBytes() calls - + Restrict 304 responses to seconds time resolution. - + Use IE date formatting for speed. - + Worked around JVM1.3 bug for JSPs + + added definitions for rfc2518 webdav response codes. added definitions added + definitions for rfc2518 webdav response codes. Added definitions for RFC2518 + WebDav response codes. + + added upload demo to dump servlet. added upload demo to dump servlet. added + upload demo to dump servlet. Added upload demo to dump servlet. + + fixed ajp13 buffer size. fixed ajp13 buffer size. fixed ajp13 buffer size. + Fixed AJP13 buffer size. + + fixed include of invoker servlet. fixed include of invoker servlet. fixed + include of invoker servlet. Fixed include of Invoker servlet. + + fixed remove listener bug. fixed remove listener bug. fixed remove listener + bug. Fixed remove listener bug. + + lowercase jsessionid for urls only. lowercase jsessionid for urls only + lowercase jsessionid for urls only. Lowercase jsessionid for URLs only. + + made ncsarequestlog easier to extend. made ncsarequestlog easier to ex made + ncsarequestlog easier to extend. Made NCSARequestLog easier to extend. + + many more optimizations. many more optimizations. many more optimizations. + Many more optimizations. + + removed jasper source and just include jars from 4.1.12 removed jasper + removed jasper source and just include jars from 4.1.12 Removed jasper + source and just include jars from 4.1.12 + + removed remaining non portable getbytes() calls removed remaining non + removed remaining non portable getbytes() calls Removed remaining non + portable getBytes() calls + + restrict 304 responses to seconds time resolution. restrict 304 respon + restrict 304 responses to seconds time resolution. Restrict 304 responses to + seconds time resolution. + + use ie date formatting for speed. use ie date formatting for speed. use ie + date formatting for speed. Use IE date formatting for speed. + + worked around jvm1.3 bug for jsps worked around jvm1.3 bug for jsps worked + around jvm1.3 bug for jsps Worked around JVM1.3 bug for JSPs jetty-4.1.4 - 16 November 2002 - + Fixed ContextLoader parent delegation bug - + Fixed Invoker servlet for RD.include - + Fixed remove SocketListener bug. - + Last modified handling uses second resolution. - + Made NCSARequestLog simpler to extend. - + Use IE date formatting for last-modified efficiency + + fixed contextloader parent delegation bug fixed contextloader parent fixed + contextloader parent delegation bug Fixed ContextLoader parent delegation + bug + + fixed invoker servlet for rd.include fixed invoker servlet for rd.incl fixed + invoker servlet for rd.include Fixed Invoker servlet for RD.include + + fixed remove socketlistener bug. fixed remove socketlistener bug. fixed + remove socketlistener bug. Fixed remove SocketListener bug. + + last modified handling uses second resolution. last modified handling last + modified handling uses second resolution. Last modified handling uses second + resolution. + + made ncsarequestlog simpler to extend. made ncsarequestlog simpler to made + ncsarequestlog simpler to extend. Made NCSARequestLog simpler to extend. + + use ie date formatting for last-modified efficiency use ie date format use + ie date formatting for last-modified efficiency Use IE date formatting for + last-modified efficiency jetty-4.2.0rc1 - 02 November 2002 - + Fixed ContextLoader parent delegation bug. - + Fixed directory resource bug in JarFileResource. - + Fixed firstWrite after commit. - + Fixed problem setting the size of chunked buffers. - + Fixed servletpath on invoker for named servlets. - + Improved handling of 2 byte encoded characters within forms. - + Recycling of HttpFields class. - + Removed unused Servlet and Servlet-Engine headers. - + Renamed Filter application methods. - + Support default mime mapping defined by * + + fixed contextloader parent delegation bug. fixed contextloader parent fixed + contextloader parent delegation bug. Fixed ContextLoader parent delegation + bug. + + fixed directory resource bug in jarfileresource. fixed directory resou fixed + directory resource bug in jarfileresource. Fixed directory resource bug in + JarFileResource. + + fixed firstwrite after commit. fixed firstwrite after commit. fixed + firstwrite after commit. Fixed firstWrite after commit. + + fixed problem setting the size of chunked buffers. fixed problem setti fixed + problem setting the size of chunked buffers. Fixed problem setting the size + of chunked buffers. + + fixed servletpath on invoker for named servlets. fixed servletpath on fixed + servletpath on invoker for named servlets. Fixed servletpath on invoker for + named servlets. + + improved handling of 2 byte encoded characters within forms. improved + improved handling of 2 byte encoded characters within forms. Improved + handling of 2 byte encoded characters within forms. + + recycling of httpfields class. recycling of httpfields class. recycling of + httpfields class. Recycling of HttpFields class. + + removed unused servlet and servlet-engine headers. removed unused serv + removed unused servlet and servlet-engine headers. Removed unused Servlet + and Servlet-Engine headers. + + renamed filter application methods. renamed filter application methods + renamed filter application methods. Renamed Filter application methods. + + support default mime mapping defined by * support default mime mapping + support default mime mapping defined by * Support default mime mapping + defined by * jetty-4.2.0rc0 - 24 October 2002 - + Added authenticator to admin.xml - + Added embedded iso8859 writer to HttpOutputStream. - + Fixed RolloverFileOutputStream without date. - + Fixed SessionManager initialization - + Fixed Session timeout NPE. - + Greg's birthday release! - + Removed duplicate classes from jar + + added authenticator to admin.xml added authenticator to admin.xml added + authenticator to admin.xml Added authenticator to admin.xml + + added embedded iso8859 writer to httpoutputstream. added embedded iso8 added + embedded iso8859 writer to httpoutputstream. Added embedded iso8859 writer + to HttpOutputStream. + + fixed rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed + rolloverfileoutputstream without date. Fixed RolloverFileOutputStream + without date. + + fixed sessionmanager initialization fixed sessionmanager initializatio fixed + sessionmanager initialization Fixed SessionManager initialization + + fixed session timeout npe. fixed session timeout npe. fixed session timeout + npe. Fixed Session timeout NPE. + + greg's birthday release! greg's birthday release! greg's birthday release! + Greg's birthday release! + + removed duplicate classes from jar removed duplicate classes from jar + removed duplicate classes from jar Removed duplicate classes from jar jetty-4.1.3 - 24 October 2002 - + Added authenticator to admin.xml - + Fixed RolloverFileOutputStream without date. - + Fixed SessionManager initialization - + Fixed Session timeout NPE. + + added authenticator to admin.xml added authenticator to admin.xml added + authenticator to admin.xml Added authenticator to admin.xml + + fixed rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed + rolloverfileoutputstream without date. Fixed RolloverFileOutputStream + without date. + + fixed sessionmanager initialization fixed sessionmanager initializatio fixed + sessionmanager initialization Fixed SessionManager initialization + + fixed session timeout npe. fixed session timeout npe. fixed session timeout + npe. Fixed Session timeout NPE. jetty-4.0.6 - 24 October 2002 - + Clear interrupted status in ThreadPool - + fixed forward attribute handling for jsp-file servlets - + Fixed forward query string handling - + Fixed handling of relative sendRedirect after forward. - + Fixed setCharacterEncoding to work with getReader - + Fixed virtual hosts temp directories. + + clear interrupted status in threadpool clear interrupted status in clear + interrupted status in threadpool Clear interrupted status in ThreadPool + + fixed forward attribute handling for jsp-file servlets fixed forward fixed + forward attribute handling for jsp-file servlets fixed forward attribute + handling for jsp-file servlets + + fixed forward query string handling fixed forward query string handlin fixed + forward query string handling Fixed forward query string handling + + fixed handling of relative sendredirect after forward. fixed handling fixed + handling of relative sendredirect after forward. Fixed handling of relative + sendRedirect after forward. + + fixed setcharacterencoding to work with getreader fixed setcharacteren fixed + setcharacterencoding to work with getreader Fixed setCharacterEncoding to + work with getReader + + fixed virtual hosts temp directories. fixed virtual hosts temp directo fixed + virtual hosts temp directories. Fixed virtual hosts temp directories. jetty-4.2.0beta0 - 13 October 2002 + 404 instead of 403 for WEB-INF requests - + Allow %3B encoded ; in URLs - + Allow anonymous realm - + Build without jmx - + Fixed bad log dir detection - + Fixed caching of directories to avoid shared buffers. - + Fix Session invalidation bug - + FORM authentication sets 403 error page - + getNamedDispatcher(null) returns containers default servlet. - + New AJP13 implementation. - + New Buffering implementation. - + New ThreadPool implementation. - + Removed Dispatcher dependancy on ServletHttpContext - + Stop/Start filters in declaration order. - + unquote charset in content type - + Update jasper to 4.1.12 tag - + Use "standard" names for default,jsp & invoker servlets. + + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; + in urls Allow %3B encoded ; in URLs + + allow anonymous realm allow anonymous realm allow anonymous realm Allow + anonymous realm + + build without jmx build without jmx build without jmx Build without jmx + + fixed bad log dir detection fixed bad log dir detection fixed bad log dir + detection Fixed bad log dir detection + + fixed caching of directories to avoid shared buffers. fixed caching of fixed + caching of directories to avoid shared buffers. Fixed caching of directories + to avoid shared buffers. + + fix session invalidation bug fix session invalidation bug fix session + invalidation bug Fix Session invalidation bug + + form authentication sets 403 error page form authentication sets 403 e form + authentication sets 403 error page FORM authentication sets 403 error page + + getnameddispatcher(null) returns containers default servlet. + getnameddispatcher(null) returns containers default servlet. + getNamedDispatcher(null) returns containers default servlet. + + new ajp13 implementation. new ajp13 implementation. new ajp13 + implementation. New AJP13 implementation. + + new buffering implementation. new buffering implementation. new buffering + implementation. New Buffering implementation. + + new threadpool implementation. new threadpool implementation. new threadpool + implementation. New ThreadPool implementation. + + removed dispatcher dependancy on servlethttpcontext removed dispatcher + removed dispatcher dependancy on servlethttpcontext Removed Dispatcher + dependancy on ServletHttpContext + + stop/start filters in declaration order. stop/start filters in declara + stop/start filters in declaration order. Stop/Start filters in declaration + order. + + unquote charset in content type unquote charset in content type unquote + charset in content type unquote charset in content type + + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to + 4.1.12 tag Update jasper to 4.1.12 tag + + use "standard" names for default,jsp & invoker servlets. use "standard use + "standard" names for default,jsp & invoker servlets. Use "standard" names + for default,jsp & invoker servlets. jetty-4.1.2 - 13 October 2002 + 404 instead of 403 for WEB-INF requests - + Allow %3B encoded ; in URLs - + Allow anonymous realm - + Build without jmx - + Fixed bad log dir detection - + Fixed caching of directories to avoid shared buffers. - + Fix Session invalidation bug - + FORM authentication sets 403 error page - + getNamedDispatcher(null) returns containers default servlet. - + Some AJP13 optimizations. - + Stop/Start filters in declaration order. - + unquote charset in content type - + Update jasper to 4.1.12 tag - + Use "standard" names for default,jsp & invoker servlets. + + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; + in urls Allow %3B encoded ; in URLs + + allow anonymous realm allow anonymous realm allow anonymous realm Allow + anonymous realm + + build without jmx build without jmx build without jmx Build without jmx + + fixed bad log dir detection fixed bad log dir detection fixed bad log dir + detection Fixed bad log dir detection + + fixed caching of directories to avoid shared buffers. fixed caching of fixed + caching of directories to avoid shared buffers. Fixed caching of directories + to avoid shared buffers. + + fix session invalidation bug fix session invalidation bug fix session + invalidation bug Fix Session invalidation bug + + form authentication sets 403 error page form authentication sets 403 e form + authentication sets 403 error page FORM authentication sets 403 error page + + getnameddispatcher(null) returns containers default servlet. + getnameddispatcher(null) returns containers default servlet. + getNamedDispatcher(null) returns containers default servlet. + + some ajp13 optimizations. some ajp13 optimizations. some ajp13 + optimizations. Some AJP13 optimizations. + + stop/start filters in declaration order. stop/start filters in declara + stop/start filters in declaration order. Stop/Start filters in declaration + order. + + unquote charset in content type unquote charset in content type unquote + charset in content type unquote charset in content type + + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to + 4.1.12 tag Update jasper to 4.1.12 tag + + use "standard" names for default,jsp & invoker servlets. use "standard use + "standard" names for default,jsp & invoker servlets. Use "standard" names + for default,jsp & invoker servlets. jetty-4.1.1 - 30 September 2002 - + Avoid setting sotimeout for optimization. - + Cache directory listings. - + Deprecated maxReadTime. - + Fixed client scripting vulnerability with jasper2. - + Fixed infinite recursion in JDBCUserRealm - + Fixed space in resource name handling for jdk1.4 - + Merged LimitedNCSARequestLog into NCSARequestLog - + Moved launcher/src to src/org/mortbay/start - + String comparison of If-Modified-Since headers. - + Touch files when expanding jars + + avoid setting sotimeout for optimization. avoid setting sotimeout for avoid + setting sotimeout for optimization. Avoid setting sotimeout for + optimization. + + cache directory listings. cache directory listings. cache directory + listings. Cache directory listings. + + deprecated maxreadtime. deprecated maxreadtime. deprecated maxreadtime. + Deprecated maxReadTime. + + fixed client scripting vulnerability with jasper2. fixed client script fixed + client scripting vulnerability with jasper2. Fixed client scripting + vulnerability with jasper2. + + fixed infinite recursion in jdbcuserrealm fixed infinite recursion in fixed + infinite recursion in jdbcuserrealm Fixed infinite recursion in + JDBCUserRealm + + fixed space in resource name handling for jdk1.4 fixed space in resour fixed + space in resource name handling for jdk1.4 Fixed space in resource name + handling for jdk1.4 + + merged limitedncsarequestlog into ncsarequestlog merged merged + limitedncsarequestlog into ncsarequestlog Merged LimitedNCSARequestLog into + NCSARequestLog + + moved launcher/src to src/org/mortbay/start moved launcher/src to moved + launcher/src to src/org/mortbay/start Moved launcher/src to + src/org/mortbay/start + + string comparison of if-modified-since headers. string comparison of string + comparison of if-modified-since headers. String comparison of + If-Modified-Since headers. + + touch files when expanding jars touch files when expanding jars touch files + when expanding jars Touch files when expanding jars jetty-4.1.0 - 22 September 2002 - + Added LimitedNCSARequestLog - + ClientCertAuthenticator protected from null subjectDN - + Context Initparams to control session cookie domain, path and age. - + Fixed AJP13 handling of mod_jk loadbalancing. - + Fixed CGI+windows security hole. - + Handle unremovable tempdir. - + NCSARequest log buffered default - + Sorted directory listings. - + Stop servlets in opposite order to start. - + Use javac -target 1.2 for normal classes - + WEB-INF/classes before WEB-INF/lib + + added limitedncsarequestlog added limitedncsarequestlog added + limitedncsarequestlog Added LimitedNCSARequestLog + + clientcertauthenticator protected from null subjectdn + clientcertauthenticator protected from null subjectdn + ClientCertAuthenticator protected from null subjectDN + + context initparams to control session cookie domain, path and age. con + context initparams to control session cookie domain, path and age. Context + Initparams to control session cookie domain, path and age. + + fixed ajp13 handling of mod_jk loadbalancing. fixed ajp13 handling of fixed + ajp13 handling of mod_jk loadbalancing. Fixed AJP13 handling of mod_jk + loadbalancing. + + fixed cgi+windows security hole. fixed cgi+windows security hole. fixed + cgi+windows security hole. Fixed CGI+windows security hole. + + handle unremovable tempdir. handle unremovable tempdir. handle unremovable + tempdir. Handle unremovable tempdir. + + ncsarequest log buffered default ncsarequest log buffered default + ncsarequest log buffered default NCSARequest log buffered default + + sorted directory listings. sorted directory listings. sorted directory + listings. Sorted directory listings. + + stop servlets in opposite order to start. stop servlets in opposite or stop + servlets in opposite order to start. Stop servlets in opposite order to + start. + + use javac -target 1.2 for normal classes use javac -target 1.2 for nor use + javac -target 1.2 for normal classes Use javac -target 1.2 for normal + classes + + web-inf/classes before web-inf/lib web-inf/classes before web-inf/lib + web-inf/classes before web-inf/lib WEB-INF/classes before WEB-INF/lib jetty-4.1.0RC6 - 14 September 2002 - + Added logon.jsp for no cookie form authentication. - + Added redirect to welcome file option. - + Cleaned up old debug. - + Don't URL encode FileURLS. - + Encode URLs of Authentication redirections. - + Extended Session API to pass request for jvmRoute handling - + Fixed problem with AJP 304 responses. - + FormAuthenticator uses normal redirections now. - + Improved HashUserRealm doco - + Improved look and feel of demo + + added logon.jsp for no cookie form authentication. added logon.jsp for added + logon.jsp for no cookie form authentication. Added logon.jsp for no cookie + form authentication. + + added redirect to welcome file option. added redirect to welcome file added + redirect to welcome file option. Added redirect to welcome file option. + + cleaned up old debug. cleaned up old debug. cleaned up old debug. Cleaned up + old debug. + + don't url encode fileurls. don't url encode fileurls. don't url encode + fileurls. Don't URL encode FileURLS. + + encode urls of authentication redirections. encode urls of authenticat + encode urls of authentication redirections. Encode URLs of Authentication + redirections. + + extended session api to pass request for jvmroute handling extended se + extended session api to pass request for jvmroute handling Extended Session + API to pass request for jvmRoute handling + + fixed problem with ajp 304 responses. fixed problem with ajp 304 respo fixed + problem with ajp 304 responses. Fixed problem with AJP 304 responses. + + formauthenticator uses normal redirections now. formauthenticator uses + formauthenticator uses normal redirections now. FormAuthenticator uses + normal redirections now. + + improved hashuserrealm doco improved hashuserrealm doco improved + hashuserrealm doco Improved HashUserRealm doco + + improved look and feel of demo improved look and feel of demo improved look + and feel of demo Improved look and feel of demo jetty-4.1.0RC5 - 08 September 2002 - + Added commandPrefix init param to CGI - + AJP13Listener caught up with HttpConnection changes. - + Implemented security-role-ref for isUserInRole. - + Improved errors for misconfigured realms. - + More cleanup in ThreadPool for idle death. + + added commandprefix init param to cgi added commandprefix init param t added + commandprefix init param to cgi Added commandPrefix init param to CGI + + ajp13listener caught up with httpconnection changes. ajp13listener cau + ajp13listener caught up with httpconnection changes. AJP13Listener caught up + with HttpConnection changes. + + implemented security-role-ref for isuserinrole. implemented implemented + security-role-ref for isuserinrole. Implemented security-role-ref for + isUserInRole. + + improved errors for misconfigured realms. improved errors for misconfi + improved errors for misconfigured realms. Improved errors for misconfigured + realms. + + more cleanup in threadpool for idle death. more cleanup in threadpool more + cleanup in threadpool for idle death. More cleanup in ThreadPool for idle + death. jetty-4.1.0RC4 - 30 August 2002 - + Created statsLock sync objects to avoid deadlock when stopping. - + Included IbmJsseListener in the contrib directory. - + Reverted to 302 for all redirections as all clients do not understand 303 - + Updated jasper2 to 4.1.10 tag. + + created statslock sync objects to avoid deadlock when stopping. create + created statslock sync objects to avoid deadlock when stopping. Created + statsLock sync objects to avoid deadlock when stopping. + + included ibmjsselistener in the contrib directory. included ibmjsselis + included ibmjsselistener in the contrib directory. Included IbmJsseListener + in the contrib directory. + + reverted to 302 for all redirections as all clients do not understand + reverted to 302 for all redirections as all clients do not understand + Reverted to 302 for all redirections as all clients do not understand 303 + + updated jasper2 to 4.1.10 tag. updated jasper2 to 4.1.10 tag. updated + jasper2 to 4.1.10 tag. Updated jasper2 to 4.1.10 tag. jetty-4.1.0RC3 - 28 August 2002 - + Added buffering to request log - + Added defaults descriptor to addWebApplications. - + addWebApplications encodes paths to allow for spaces in file names. - + Allow FORM auth pages to be within security constraint. - + Allow WebApplicationHandler to be used with other handlers. - + Created and integrated the Jetty Launcher - + Fixed security problem for suffix matching with trailing "/" - + Improved handling of path encoding in Resources for bad JVMs - + Improved handling of PUT,DELETE & MOVE. - + Made Resource canonicalize it's base path for directories + + added buffering to request log added buffering to request log added + buffering to request log Added buffering to request log + + added defaults descriptor to addwebapplications. added defaults descri added + defaults descriptor to addwebapplications. Added defaults descriptor to + addWebApplications. + + addwebapplications encodes paths to allow for spaces in file names. + addwebapplications encodes paths to allow for spaces in file names. + addWebApplications encodes paths to allow for spaces in file names. + + allow form auth pages to be within security constraint. allow form aut allow + form auth pages to be within security constraint. Allow FORM auth pages to + be within security constraint. + + allow webapplicationhandler to be used with other handlers. allow allow + webapplicationhandler to be used with other handlers. Allow + WebApplicationHandler to be used with other handlers. + + created and integrated the jetty launcher created and integrated the j + created and integrated the jetty launcher Created and integrated the Jetty + Launcher + + fixed security problem for suffix matching with trailing "/" fixed sec fixed + security problem for suffix matching with trailing "/" Fixed security + problem for suffix matching with trailing "/" + + improved handling of path encoding in resources for bad jvms improved + improved handling of path encoding in resources for bad jvms Improved + handling of path encoding in Resources for bad JVMs + + improved handling of put,delete & move. improved handling of put,delet + improved handling of put,delete & move. Improved handling of PUT,DELETE & + MOVE. + + made resource canonicalize it's base path for directories made resourc made + resource canonicalize it's base path for directories Made Resource + canonicalize it's base path for directories jetty-4.1.0RC2 - 20 August 2002 - + Added HttpListener.bufferReserve - + Build ant, src and zip versions with the release - + Clear interrupted status in ThreadPool - + Conveninace setClassLoaderJava2Compliant method. - + Fixed HttpFields cache overflow - + Improved ByteArrayPool to handle multiple sizes. - + Updated to Jasper2 (4_1_9 tag) - + Use system line separator for log files. + + added httplistener.bufferreserve added httplistener.bufferreserve added + httplistener.bufferreserve Added HttpListener.bufferReserve + + build ant, src and zip versions with the release build ant, src and zi build + ant, src and zip versions with the release Build ant, src and zip versions + with the release + + clear interrupted status in threadpool clear interrupted status in clear + interrupted status in threadpool Clear interrupted status in ThreadPool + + conveninace setclassloaderjava2compliant method. conveninace conveninace + setclassloaderjava2compliant method. Conveninace + setClassLoaderJava2Compliant method. + + fixed httpfields cache overflow fixed httpfields cache overflow fixed + httpfields cache overflow Fixed HttpFields cache overflow + + improved bytearraypool to handle multiple sizes. improved bytearraypoo + improved bytearraypool to handle multiple sizes. Improved ByteArrayPool to + handle multiple sizes. + + updated to jasper2 (4_1_9 tag) updated to jasper2 (4_1_9 tag) updated to + jasper2 (4_1_9 tag) Updated to Jasper2 (4_1_9 tag) + + use system line separator for log files. use system line separator for use + system line separator for log files. Use system line separator for log + files. jetty-4.1.0RC1 - 11 August 2002 - + Fixed forward query string handling - + Fixed forward to jsp-file servlet - + Fixed getContext to use canonical contextPathSpec - + Fixed handling of relative sendRedirect after forward. - + Fixed setCharacterEncoding to work with getReader - + Improved the return codes for PUT - + Made HttpServer serializable - + Updated international URI doco - + Updated jasper to CVS snapshot 200208011920 + + fixed forward query string handling fixed forward query string handlin fixed + forward query string handling Fixed forward query string handling + + fixed forward to jsp-file servlet fixed forward to jsp-file servlet fixed + forward to jsp-file servlet Fixed forward to jsp-file servlet + + fixed getcontext to use canonical contextpathspec fixed getcontext to fixed + getcontext to use canonical contextpathspec Fixed getContext to use + canonical contextPathSpec + + fixed handling of relative sendredirect after forward. fixed handling fixed + handling of relative sendredirect after forward. Fixed handling of relative + sendRedirect after forward. + + fixed setcharacterencoding to work with getreader fixed setcharacteren fixed + setcharacterencoding to work with getreader Fixed setCharacterEncoding to + work with getReader + + improved the return codes for put improved the return codes for put improved + the return codes for put Improved the return codes for PUT + + made httpserver serializable made httpserver serializable made httpserver + serializable Made HttpServer serializable + + updated international uri doco updated international uri doco updated + international uri doco Updated international URI doco + + updated jasper to cvs snapshot 200208011920 updated jasper to cvs snap + updated jasper to cvs snapshot 200208011920 Updated jasper to CVS snapshot + 200208011920 jetty-4.1.0RC0 - 31 July 2002 - + Added DigestAuthenticator - + Added ExpiryHandler which can set a default Expires header. - + Added link to a Jetty page in Korean. - + Changed URI default charset back to ISO_8859_1 - + Fixed getRealPath for packed war files. - + Restructured Password into Password and Credentials + + added digestauthenticator added digestauthenticator added + digestauthenticator Added DigestAuthenticator + + added expiryhandler which can set a default expires header. added added + expiryhandler which can set a default expires header. Added ExpiryHandler + which can set a default Expires header. + + added link to a jetty page in korean. added link to a jetty page in ko added + link to a jetty page in korean. Added link to a Jetty page in Korean. + + changed uri default charset back to iso_8859_1 changed uri default cha + changed uri default charset back to iso_8859_1 Changed URI default charset + back to ISO_8859_1 + + fixed getrealpath for packed war files. fixed getrealpath for packed w fixed + getrealpath for packed war files. Fixed getRealPath for packed war files. + + restructured password into password and credentials restructured passw + restructured password into password and credentials Restructured Password + into Password and Credentials jetty-4.0.5 - 31 July 2002 - + Fixed getRealPath for packed war files. - + Fixed getRequestURI for RD.forward to return new URI. - + Reversed order of ServletContextListener.contextDestroyed calls + + fixed getrealpath for packed war files. fixed getrealpath for packed w fixed + getrealpath for packed war files. Fixed getRealPath for packed war files. + + fixed getrequesturi for rd.forward to return new uri. fixed getrequest fixed + getrequesturi for rd.forward to return new uri. Fixed getRequestURI for + RD.forward to return new URI. + + reversed order of servletcontextlistener.contextdestroyed calls revers + reversed order of servletcontextlistener.contextdestroyed calls Reversed + order of ServletContextListener.contextDestroyed calls jetty-4.1.B1 - 19 July 2002 - + Added 2.4 Filter dispatching support. - + Added PUT,DELETE,MOVE support to webapps. - + CGI Servlet, catch and report program invocation failure status. - + CGI Servlet, fixed suffix mapping problem. - + CGI Servlet, pass all HTTP headers through. - + CGI Servlet, set working directory for exec - + Moved dynamic servlet handling to Invoker servlet. - + Moved webapp resource handling to Default servlet. - + Reversed order of ServletContextListener.contextDestroyed calls - + Sessions create attribute map lazily. - + Support HTTP/0.9 requests again - + Updated mini.http.jar target + + added 2.4 filter dispatching support. added 2.4 filter dispatching sup added + 2.4 filter dispatching support. Added 2.4 Filter dispatching support. + + added put,delete,move support to webapps. added put,delete,move suppor added + put,delete,move support to webapps. Added PUT,DELETE,MOVE support to + webapps. + + cgi servlet, catch and report program invocation failure status. cgi cgi + servlet, catch and report program invocation failure status. CGI Servlet, + catch and report program invocation failure status. + + cgi servlet, fixed suffix mapping problem. cgi servlet, fixed suffix m cgi + servlet, fixed suffix mapping problem. CGI Servlet, fixed suffix mapping + problem. + + cgi servlet, pass all http headers through. cgi servlet, pass all http cgi + servlet, pass all http headers through. CGI Servlet, pass all HTTP headers + through. + + cgi servlet, set working directory for exec cgi servlet, set working cgi + servlet, set working directory for exec CGI Servlet, set working directory + for exec + + moved dynamic servlet handling to invoker servlet. moved dynamic servl moved + dynamic servlet handling to invoker servlet. Moved dynamic servlet handling + to Invoker servlet. + + moved webapp resource handling to default servlet. moved webapp resour moved + webapp resource handling to default servlet. Moved webapp resource handling + to Default servlet. + + reversed order of servletcontextlistener.contextdestroyed calls revers + reversed order of servletcontextlistener.contextdestroyed calls Reversed + order of ServletContextListener.contextDestroyed calls + + sessions create attribute map lazily. sessions create attribute map la + sessions create attribute map lazily. Sessions create attribute map lazily. + + support http/0.9 requests again support http/0.9 requests again support + http/0.9 requests again Support HTTP/0.9 requests again + + updated mini.http.jar target updated mini.http.jar target updated + mini.http.jar target Updated mini.http.jar target jetty-3.1.9 - 15 July 2002 - + Allow doHead requests to be forwarded. - + Fixed race in ThreadPool for minThreads <= CPUs + + allow dohead requests to be forwarded. allow dohead requests to be allow + dohead requests to be forwarded. Allow doHead requests to be forwarded. + + fixed race in threadpool for minthreads <= cpus fixed race in threadpo fixed + race in threadpool for minthreads <= cpus Fixed race in ThreadPool for + minThreads <= CPUs jetty-4.1.B0 - 13 July 2002 - + Added work around of JDK1.4 bug with NIO listener - + Allow filter init to access servlet context methods. - + close rather than disable stream after forward - + Fixed close problem with load balancer. - + Fixed ThreadPool bug when minThreads <= CPUs - + Keep notFoundContext out of context mapping lists. - + mod_jk FAQ - + Moved 3rd party jars to $JETTY_HOME/ext - + NCSARequestLog can log to stderr - + RD.forward changes getRequestURI. - + Stopped RD.includes closing response. + + added work around of jdk1.4 bug with nio listener added work around of added + work around of jdk1.4 bug with nio listener Added work around of JDK1.4 bug + with NIO listener + + allow filter init to access servlet context methods. allow filter init allow + filter init to access servlet context methods. Allow filter init to access + servlet context methods. + + close rather than disable stream after forward close rather than disab close + rather than disable stream after forward close rather than disable stream + after forward + + fixed close problem with load balancer. fixed close problem with load fixed + close problem with load balancer. Fixed close problem with load balancer. + + fixed threadpool bug when minthreads <= cpus fixed threadpool bug when fixed + threadpool bug when minthreads <= cpus Fixed ThreadPool bug when minThreads + <= CPUs + + keep notfoundcontext out of context mapping lists. keep notfoundcontex keep + notfoundcontext out of context mapping lists. Keep notFoundContext out of + context mapping lists. + + mod_jk faq mod_jk faq mod_jk faq mod_jk FAQ + + moved 3rd party jars to $jetty_home/ext moved 3rd party jars to moved 3rd + party jars to $jetty_home/ext Moved 3rd party jars to $JETTY_HOME/ext + + ncsarequestlog can log to stderr ncsarequestlog can log to stderr + ncsarequestlog can log to stderr NCSARequestLog can log to stderr + + rd.forward changes getrequesturi. rd.forward changes getrequesturi. + rd.forward changes getrequesturi. RD.forward changes getRequestURI. + + stopped rd.includes closing response. stopped rd.includes closing resp + stopped rd.includes closing response. Stopped RD.includes closing response. jetty-4.1.D2 - 24 June 2002 - + Added AJP13 listener for apache integration. - + Allow comma separated cookies and headers - + Back out Don't chunk 30x empty responses. - + Better recycling of HttpRequests. - + Conditional header tested against welcome file not directory. - + Fixed ChunkableOutputStream close propagation - + Improved ThreadedServer stopping on bad networks - + Moved jmx classes from JettyExtra to here. - + Protect session.getAttributeNames from concurrent modifications. - + Set contextloader during webapplicationcontext.start - + Support trusted external authenticators. - + Use ThreadLocals to avoid unwrapping in Dispatcher. + + added ajp13 listener for apache integration. added ajp13 listener for added + ajp13 listener for apache integration. Added AJP13 listener for apache + integration. + + allow comma separated cookies and headers allow comma separated cookie allow + comma separated cookies and headers Allow comma separated cookies and + headers + + back out don't chunk 30x empty responses. back out don't chunk 30x emp back + out don't chunk 30x empty responses. Back out Don't chunk 30x empty + responses. + + better recycling of httprequests. better recycling of httprequests. better + recycling of httprequests. Better recycling of HttpRequests. + + conditional header tested against welcome file not directory. conditio + conditional header tested against welcome file not directory. Conditional + header tested against welcome file not directory. + + fixed chunkableoutputstream close propagation fixed chunkableoutputstr fixed + chunkableoutputstream close propagation Fixed ChunkableOutputStream close + propagation + + improved threadedserver stopping on bad networks improved threadedserv + improved threadedserver stopping on bad networks Improved ThreadedServer + stopping on bad networks + + moved jmx classes from jettyextra to here. moved jmx classes from jett moved + jmx classes from jettyextra to here. Moved jmx classes from JettyExtra to + here. + + protect session.getattributenames from concurrent modifications. prote + protect session.getattributenames from concurrent modifications. Protect + session.getAttributeNames from concurrent modifications. + + set contextloader during webapplicationcontext.start set contextloader set + contextloader during webapplicationcontext.start Set contextloader during + webapplicationcontext.start + + support trusted external authenticators. support trusted external support + trusted external authenticators. Support trusted external authenticators. + + use threadlocals to avoid unwrapping in dispatcher. use threadlocals t use + threadlocals to avoid unwrapping in dispatcher. Use ThreadLocals to avoid + unwrapping in Dispatcher. jetty-4.0.4 - 23 June 2002 - + Back out change: Don't chunk 30x empty responses. - + Conditional header tested against welcome file not directory. - + Improved ThreadedServer stopping on bad networks + + back out change: don't chunk 30x empty responses. back out change: don back + out change: don't chunk 30x empty responses. Back out change: Don't chunk + 30x empty responses. + + conditional header tested against welcome file not directory. conditio + conditional header tested against welcome file not directory. Conditional + header tested against welcome file not directory. + + improved threadedserver stopping on bad networks improved threadedserv + improved threadedserver stopping on bad networks Improved ThreadedServer + stopping on bad networks jetty-4.0.3 - 20 June 2002 - + Allow comma separated cookies and headers - + Allow session manager to be initialized when set. - + Better recycling of HttpRequests. - + Fixed close propagation of on-chunked output streams - + Fixed japanese locale - + Force security disassociation. - + Protect session.getAttributeNames from concurrent modifications. - + WebapplicationContext.start sets context loader + + allow comma separated cookies and headers allow comma separated cookie allow + comma separated cookies and headers Allow comma separated cookies and + headers + + allow session manager to be initialized when set. allow session manage allow + session manager to be initialized when set. Allow session manager to be + initialized when set. + + better recycling of httprequests. better recycling of httprequests. better + recycling of httprequests. Better recycling of HttpRequests. + + fixed close propagation of on-chunked output streams fixed close propa fixed + close propagation of on-chunked output streams Fixed close propagation of + on-chunked output streams + + fixed japanese locale fixed japanese locale fixed japanese locale Fixed + japanese locale + + force security disassociation. force security disassociation. force security + disassociation. Force security disassociation. + + protect session.getattributenames from concurrent modifications. prote + protect session.getattributenames from concurrent modifications. Protect + session.getAttributeNames from concurrent modifications. + + webapplicationcontext.start sets context loader webapplicationcontext. + webapplicationcontext.start sets context loader WebapplicationContext.start + sets context loader jetty-4.1.D1 - 08 June 2002 - + Added simple buffer pool. - + Don't chunk 30x empty responses. - + Fixed /foo/../bar// bug in canonical path. - + Fixed "" contextPaths in Dispatcher. - + Merged ResourceBase and SecurityBase into HttpContext - + Recycle servlet requests and responses - + Removed race for the starting of session scavaging - + Reworked output buffering to keep constant sized buffers. + + added simple buffer pool. added simple buffer pool. added simple buffer + pool. Added simple buffer pool. + + don't chunk 30x empty responses. don't chunk 30x empty responses. don't + chunk 30x empty responses. Don't chunk 30x empty responses. + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical + path. + + fixed "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed + "" contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. + + merged resourcebase and securitybase into httpcontext merged resourceb + merged resourcebase and securitybase into httpcontext Merged ResourceBase + and SecurityBase into HttpContext + + recycle servlet requests and responses recycle servlet requests and recycle + servlet requests and responses Recycle servlet requests and responses + + removed race for the starting of session scavaging removed race for th + removed race for the starting of session scavaging Removed race for the + starting of session scavaging + + reworked output buffering to keep constant sized buffers. reworked out + reworked output buffering to keep constant sized buffers. Reworked output + buffering to keep constant sized buffers. jetty-4.0.2 - 06 June 2002 - + Added OptimizeIt plug - + Don't chunk 30x empty responses. - + Fixed /foo/../bar// bug in canonical path. - + Fixed "" contextPaths in Dispatcher. - + Fixed handler/context start order. - + Fixed web.dtd references. - + Removed race for the starting of session scavaging + + added optimizeit plug added optimizeit plug added optimizeit plug Added + OptimizeIt plug + + don't chunk 30x empty responses. don't chunk 30x empty responses. don't + chunk 30x empty responses. Don't chunk 30x empty responses. + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical + path. + + fixed "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed + "" contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. + + fixed handler/context start order. fixed handler/context start order. fixed + handler/context start order. Fixed handler/context start order. + + fixed web.dtd references. fixed web.dtd references. fixed web.dtd + references. Fixed web.dtd references. + + removed race for the starting of session scavaging removed race for th + removed race for the starting of session scavaging Removed race for the + starting of session scavaging jetty-3.1.8 - 06 June 2002 - + Fixed /foo/../bar// bug in canonical path. - + Fixed no slash context redirection. - + Fixed singled threaded dynamic servlets - + Made SecurityConstraint.addRole() require authentication. + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical + path. + + fixed no slash context redirection. fixed no slash context redirection fixed + no slash context redirection. Fixed no slash context redirection. + + fixed singled threaded dynamic servlets fixed singled threaded dynamic fixed + singled threaded dynamic servlets Fixed singled threaded dynamic servlets + + made securityconstraint.addrole() require authentication. made made + securityconstraint.addrole() require authentication. Made + SecurityConstraint.addRole() require authentication. jetty-4.1.D0 - 05 June 2002 - + Added OptimizeIt plug. - + Added TypeUtil to reduce Integer creation. - + BRAND NEW WebApplicationHandler & WebApplicationContext - + Experimental CLIENT-CERT Authenticator - + Fixed handler/context start order. - + Fixed web.dtd references. - + General clean up of the API for for MBean getters/setters. - + Removed the HttpMessage facade mechanism - + Restructured ResourceHandler into ResourceBase - + The 4.1 Series started looking for even more performance within the 2.3 + + added optimizeit plug. added optimizeit plug. added optimizeit plug. Added + OptimizeIt plug. + + added typeutil to reduce integer creation. added typeutil to reduce in added + typeutil to reduce integer creation. Added TypeUtil to reduce Integer + creation. + + brand new webapplicationhandler & webapplicationcontext brand new brand new + webapplicationhandler & webapplicationcontext BRAND NEW + WebApplicationHandler & WebApplicationContext + + experimental client-cert authenticator experimental client-cert experimental + client-cert authenticator Experimental CLIENT-CERT Authenticator + + fixed handler/context start order. fixed handler/context start order. fixed + handler/context start order. Fixed handler/context start order. + + fixed web.dtd references. fixed web.dtd references. fixed web.dtd + references. Fixed web.dtd references. + + general clean up of the api for for mbean getters/setters. general cle + general clean up of the api for for mbean getters/setters. General clean up + of the API for for MBean getters/setters. + + removed the httpmessage facade mechanism removed the httpmessage facad + removed the httpmessage facade mechanism Removed the HttpMessage facade + mechanism + + restructured resourcehandler into resourcebase restructured resourceha + restructured resourcehandler into resourcebase Restructured ResourceHandler + into ResourceBase + + the 4.1 series started looking for even more performance within the 2. the + 4.1 series started looking for even more performance within the 2. The 4.1 + Series started looking for even more performance within the 2.3 specification. jetty-4.0.1 - 22 May 2002 - + Fixed "null" return from getRealPath - + Fixed contextclassloader on ServletContextEvents. - + OutputStreamLogSink config improvements - + Support graceful stopping of context and server. - + Updated jasper to 16 May snapshot + + fixed "null" return from getrealpath fixed "null" return from getrealp fixed + "null" return from getrealpath Fixed "null" return from getRealPath + + fixed contextclassloader on servletcontextevents. fixed contextclasslo fixed + contextclassloader on servletcontextevents. Fixed contextclassloader on + ServletContextEvents. + + outputstreamlogsink config improvements outputstreamlogsink config + outputstreamlogsink config improvements OutputStreamLogSink config + improvements + + support graceful stopping of context and server. support graceful stop + support graceful stopping of context and server. Support graceful stopping + of context and server. + + updated jasper to 16 may snapshot updated jasper to 16 may snapshot updated + jasper to 16 may snapshot Updated jasper to 16 May snapshot jetty-4.0.1RC2 - 14 May 2002 - + 3DES Keylength was being reported as 0. Now reports 168 bits. - + Added confidential and integral redirections to HttpListener - + Better error for jre1.3 with 1.4 classes - + Cleaned up RD query string regeneration. - + Fixed ServletResponse.reset() to resetBuffer. - + Implemented the run-as servlet tag. + + 3des keylength was being reported as 0. now reports 168 bits. 3des key 3des + keylength was being reported as 0. now reports 168 bits. 3DES Keylength was + being reported as 0. Now reports 168 bits. + + added confidential and integral redirections to httplistener added added + confidential and integral redirections to httplistener Added confidential + and integral redirections to HttpListener + + better error for jre1.3 with 1.4 classes better error for jre1.3 with + better error for jre1.3 with 1.4 classes Better error for jre1.3 with 1.4 + classes + + cleaned up rd query string regeneration. cleaned up rd query string cleaned + up rd query string regeneration. Cleaned up RD query string regeneration. + + fixed servletresponse.reset() to resetbuffer. fixed servletresponse.re fixed + servletresponse.reset() to resetbuffer. Fixed ServletResponse.reset() to + resetBuffer. + + implemented the run-as servlet tag. implemented the run-as servlet tag + implemented the run-as servlet tag. Implemented the run-as servlet tag. jetty-4.0.1RC1 - 29 April 2002 - + Avoid flushes during RequestDispatcher.includes - + Better handling if no realm configured. - + Expand ByteBuffer full limit with capacity. - + Fixed double filtering of welcome files. - + Fixed FORM authentication auth of login page bug. - + Fixed setTempDirectory creation bug - + Improved flushing of chunked responses + + avoid flushes during requestdispatcher.includes avoid flushes during avoid + flushes during requestdispatcher.includes Avoid flushes during + RequestDispatcher.includes + + better handling if no realm configured. better handling if no realm better + handling if no realm configured. Better handling if no realm configured. + + expand bytebuffer full limit with capacity. expand bytebuffer full lim + expand bytebuffer full limit with capacity. Expand ByteBuffer full limit + with capacity. + + fixed double filtering of welcome files. fixed double filtering of wel fixed + double filtering of welcome files. Fixed double filtering of welcome files. + + fixed form authentication auth of login page bug. fixed form authentic fixed + form authentication auth of login page bug. Fixed FORM authentication auth + of login page bug. + + fixed settempdirectory creation bug fixed settempdirectory creation bu fixed + settempdirectory creation bug Fixed setTempDirectory creation bug + + improved flushing of chunked responses improved flushing of chunked improved + flushing of chunked responses Improved flushing of chunked responses jetty-4.0.1RC0 - 18 April 2002 - + AbstractSessionManager sets contextClassLoader for scavanging - + Added extract arg to addWebApplications - + DTD allows static "Get" and "Set" methods to be invoked. - + Extended facade interfaces to HttpResponse.sendError - + Fixed delayed response bug: Stopped HttpConnection consuming input from - timedout connection. - + Moved basic auth handling to HttpRequest - + Pass pathParams via welcome file forward for jsessionid - + Set thread context classloader for webapp load-on-startup inits - + Updated Jasper to CVS snapshot from Apr 18 18:50:59 BST 2002 + + abstractsessionmanager sets contextclassloader for scavanging + abstractsessionmanager sets contextclassloader for scavanging + AbstractSessionManager sets contextClassLoader for scavanging + + added extract arg to addwebapplications added extract arg to added extract + arg to addwebapplications Added extract arg to addWebApplications + + dtd allows static "get" and "set" methods to be invoked. dtd allows st dtd + allows static "get" and "set" methods to be invoked. DTD allows static "Get" + and "Set" methods to be invoked. + + extended facade interfaces to httpresponse.senderror extended facade + extended facade interfaces to httpresponse.senderror Extended facade + interfaces to HttpResponse.sendError + + fixed delayed response bug: stopped httpconnection consuming input fro fixed + delayed response bug: stopped httpconnection consuming input fro Fixed + delayed response bug: Stopped HttpConnection consuming input from timedout + connection. + + moved basic auth handling to httprequest moved basic auth handling to moved + basic auth handling to httprequest Moved basic auth handling to HttpRequest + + pass pathparams via welcome file forward for jsessionid pass pathparam pass + pathparams via welcome file forward for jsessionid Pass pathParams via + welcome file forward for jsessionid + + set thread context classloader for webapp load-on-startup inits set th set + thread context classloader for webapp load-on-startup inits Set thread + context classloader for webapp load-on-startup inits + + updated jasper to cvs snapshot from apr 18 18:50:59 bst 2002 updated j + updated jasper to cvs snapshot from apr 18 18:50:59 bst 2002 Updated Jasper + to CVS snapshot from Apr 18 18:50:59 BST 2002 jetty-4.0.0 - 22 March 2002 - + Added IPAddressHandler for IP restrictions - + Jetty.sh cygwin support - + Minor documentation updates. - + Updated contributors. - + Updated tutorial configure version + + added ipaddresshandler for ip restrictions added ipaddresshandler for added + ipaddresshandler for ip restrictions Added IPAddressHandler for IP + restrictions + + jetty.sh cygwin support jetty.sh cygwin support jetty.sh cygwin support + Jetty.sh cygwin support + + minor documentation updates. minor documentation updates. minor + documentation updates. Minor documentation updates. + + updated contributors. updated contributors. updated contributors. Updated + contributors. + + updated tutorial configure version updated tutorial configure version + updated tutorial configure version Updated tutorial configure version jetty-4.0.RC3 - 20 March 2002 - + Changed html attribute order for mozilla quirk. - + ContextInitialized notified before load-on-startup servlets. - + Fixed ZZZ offset format to +/-HHMM - + JDBCUserRealm instantiates JDBC driver - + Suppress WriterOutputStream warning. - + Updated history + + changed html attribute order for mozilla quirk. changed html attribute + changed html attribute order for mozilla quirk. Changed html attribute order + for mozilla quirk. + + contextinitialized notified before load-on-startup servlets. + contextinitialized notified before load-on-startup servlets. + ContextInitialized notified before load-on-startup servlets. + + fixed zzz offset format to +/-hhmm fixed zzz offset format to +/-hhmm fixed + zzz offset format to +/-hhmm Fixed ZZZ offset format to +/-HHMM + + jdbcuserrealm instantiates jdbc driver jdbcuserrealm instantiates jdbc + jdbcuserrealm instantiates jdbc driver JDBCUserRealm instantiates JDBC + driver + + suppress writeroutputstream warning. suppress writeroutputstream warni + suppress writeroutputstream warning. Suppress WriterOutputStream warning. + + updated history updated history updated history Updated history jetty-4.0.RC2 - 12 March 2002 - + Added experimental nio SocketChannelListener - + Added skeleton load balancer - + Disabled the Password EXEC mechanism by default - + Dont try to extract directories - + Fixed column name in JDBCUserRealm - + Fixed empty referrer in NCSA log. - + Fixed security constraint problem with // - + Fixed version for String XmlConfigurations - + Removed redundant sessionID check. - + Remove last of the Class.forName calls. - + Security FAQ + + added experimental nio socketchannellistener added experimental nio added + experimental nio socketchannellistener Added experimental nio + SocketChannelListener + + added skeleton load balancer added skeleton load balancer added skeleton + load balancer Added skeleton load balancer + + disabled the password exec mechanism by default disabled the password + disabled the password exec mechanism by default Disabled the Password EXEC + mechanism by default + + dont try to extract directories dont try to extract directories dont try to + extract directories Dont try to extract directories + + fixed column name in jdbcuserrealm fixed column name in jdbcuserrealm fixed + column name in jdbcuserrealm Fixed column name in JDBCUserRealm + + fixed empty referrer in ncsa log. fixed empty referrer in ncsa log. fixed + empty referrer in ncsa log. Fixed empty referrer in NCSA log. + + fixed security constraint problem with // fixed security constraint pr fixed + security constraint problem with // Fixed security constraint problem with + // + + fixed version for string xmlconfigurations fixed version for string fixed + version for string xmlconfigurations Fixed version for String + XmlConfigurations + + removed redundant sessionid check. removed redundant sessionid check. + removed redundant sessionid check. Removed redundant sessionID check. + + remove last of the class.forname calls. remove last of the class.forna + remove last of the class.forname calls. Remove last of the Class.forName + calls. + + security faq security faq security faq Security FAQ jetty-3.1.7 - 12 March 2002 - + Fixed security problem with constraints being bypassed with // in URLs + + fixed security problem with constraints being bypassed with // in urls fixed + security problem with constraints being bypassed with // in urls Fixed + security problem with constraints being bypassed with // in URLs jetty-4.0.RC1 - 06 March 2002 - + Added ContentEncodingHandler for compression. - + Call response.flushBuffer after service to flush wrappers. - + contextDestroyed event sent before destruction. - + Contributors list as an image to prevent SPAM! - + Empty suffix for temp directory. - + FileResource depends less on FilePermissions. - + Fixed filter vs forward bug. - + Fixed recursive DEBUG loop in Logging. - + Improved efficiency of quality list handling - + Minor changes to make HttpServer work on J2ME CVM - + Simplified filter API to chunkable streams - + Updated jetty.sh to always respect arguments. - + Warn if jdk 1.4 classes used on JVM <1.4 - + WebApplication will use ContextLoader even without WEB-INF directory. - + XmlParser is validating by default. use o.m.x.XmlParser.NotValidating + + added contentencodinghandler for compression. added contentencodinghan added + contentencodinghandler for compression. Added ContentEncodingHandler for + compression. + + call response.flushbuffer after service to flush wrappers. call call + response.flushbuffer after service to flush wrappers. Call + response.flushBuffer after service to flush wrappers. + + contextdestroyed event sent before destruction. contextdestroyed event + contextdestroyed event sent before destruction. contextDestroyed event sent + before destruction. + + contributors list as an image to prevent spam! contributors list as an + contributors list as an image to prevent spam! Contributors list as an image + to prevent SPAM! + + empty suffix for temp directory. empty suffix for temp directory. empty + suffix for temp directory. Empty suffix for temp directory. + + fileresource depends less on filepermissions. fileresource depends les + fileresource depends less on filepermissions. FileResource depends less on + FilePermissions. + + fixed filter vs forward bug. fixed filter vs forward bug. fixed filter vs + forward bug. Fixed filter vs forward bug. + + fixed recursive debug loop in logging. fixed recursive debug loop in fixed + recursive debug loop in logging. Fixed recursive DEBUG loop in Logging. + + improved efficiency of quality list handling improved efficiency of qu + improved efficiency of quality list handling Improved efficiency of quality + list handling + + minor changes to make httpserver work on j2me cvm minor changes to mak minor + changes to make httpserver work on j2me cvm Minor changes to make HttpServer + work on J2ME CVM + + simplified filter api to chunkable streams simplified filter api to + simplified filter api to chunkable streams Simplified filter API to + chunkable streams + + updated jetty.sh to always respect arguments. updated jetty.sh to alwa + updated jetty.sh to always respect arguments. Updated jetty.sh to always + respect arguments. + + warn if jdk 1.4 classes used on jvm <1.4 warn if jdk 1.4 classes used warn + if jdk 1.4 classes used on jvm <1.4 Warn if jdk 1.4 classes used on JVM <1.4 + + webapplication will use contextloader even without web-inf directory. + webapplication will use contextloader even without web-inf directory. + WebApplication will use ContextLoader even without WEB-INF directory. + + xmlparser is validating by default. use o.m.x.xmlparser.notvalidating + xmlparser is validating by default. use o.m.x.xmlparser.notvalidating + XmlParser is validating by default. use o.m.x.XmlParser.NotValidating property to change. jetty-3.1.6 - 28 February 2002 - + Dispatcher.forward dispatches directly to ServletHolder to avoid premature + + dispatcher.forward dispatches directly to servletholder to avoid prema + dispatcher.forward dispatches directly to servletholder to avoid prema + Dispatcher.forward dispatches directly to ServletHolder to avoid premature exception handling. - + Empty suffix for temp directory. - + Fixed HttpFields remove bug - + HttpResponse.sendError makes a better attempt at finding an error page. - + Implemented 2.3 clarifications to security constraint semantics PLEASE + + empty suffix for temp directory. empty suffix for temp directory. empty + suffix for temp directory. Empty suffix for temp directory. + + fixed httpfields remove bug fixed httpfields remove bug fixed httpfields + remove bug Fixed HttpFields remove bug + + httpresponse.senderror makes a better attempt at finding an error page + httpresponse.senderror makes a better attempt at finding an error page + HttpResponse.sendError makes a better attempt at finding an error page. + + implemented 2.3 clarifications to security constraint semantics please + implemented 2.3 clarifications to security constraint semantics please + Implemented 2.3 clarifications to security constraint semantics PLEASE REVIEW YOUR SECURITY CONSTRAINTS (see README). - + LineInput can handle any sized marks - + Set Listeners default scheme + + lineinput can handle any sized marks lineinput can handle any sized ma + lineinput can handle any sized marks LineInput can handle any sized marks + + set listeners default scheme set listeners default scheme set listeners + default scheme Set Listeners default scheme jetty-4.0.B2 - 25 February 2002 - + Accept jetty-web.xml or web-jetty.xml in WEB-INF - + Added LoggerLogSink to direct Jetty Logs to JDK1.4 Log. - + Added optional JDK 1.4 src tree - + Added org.mortbay.http.JDBCUserRealm - + Added String constructor to XmlConfiguration. - + Adjust servlet facades for welcome redirection - + Improved default jetty.xml - + Improve handling of unknown URL protocols. - + Init classloader for JspServlet - + Minor Jasper updates - + o.m.u.Frame uses JDK1.4 stack frame handling - + Simplified addWebApplication - + Slightly more agressive eating unused input from non persistent connection. - + Start ServletHandler as part of the FilterHandler start. - + User / mapping rather than /* for servlet requests to static content + + accept jetty-web.xml or web-jetty.xml in web-inf accept jetty-web.xml + accept jetty-web.xml or web-jetty.xml in web-inf Accept jetty-web.xml or + web-jetty.xml in WEB-INF + + added loggerlogsink to direct jetty logs to jdk1.4 log. added loggerlo added + loggerlogsink to direct jetty logs to jdk1.4 log. Added LoggerLogSink to + direct Jetty Logs to JDK1.4 Log. + + added optional jdk 1.4 src tree added optional jdk 1.4 src tree added + optional jdk 1.4 src tree Added optional JDK 1.4 src tree + + added org.mortbay.http.jdbcuserrealm added org.mortbay.http.jdbcuserre added + org.mortbay.http.jdbcuserrealm Added org.mortbay.http.JDBCUserRealm + + added string constructor to xmlconfiguration. added string constructor added + string constructor to xmlconfiguration. Added String constructor to + XmlConfiguration. + + adjust servlet facades for welcome redirection adjust servlet facades + adjust servlet facades for welcome redirection Adjust servlet facades for + welcome redirection + + improved default jetty.xml improved default jetty.xml improved default + jetty.xml Improved default jetty.xml + + improve handling of unknown url protocols. improve handling of unknown + improve handling of unknown url protocols. Improve handling of unknown URL + protocols. + + init classloader for jspservlet init classloader for jspservlet init + classloader for jspservlet Init classloader for JspServlet + + minor jasper updates minor jasper updates minor jasper updates Minor Jasper + updates + + o.m.u.frame uses jdk1.4 stack frame handling o.m.u.frame uses jdk1.4 s + o.m.u.frame uses jdk1.4 stack frame handling o.m.u.Frame uses JDK1.4 stack + frame handling + + simplified addwebapplication simplified addwebapplication simplified + addwebapplication Simplified addWebApplication + + slightly more agressive eating unused input from non persistent connec + slightly more agressive eating unused input from non persistent connec + Slightly more agressive eating unused input from non persistent connection. + + start servlethandler as part of the filterhandler start. start start + servlethandler as part of the filterhandler start. Start ServletHandler as + part of the FilterHandler start. + + user / mapping rather than /* for servlet requests to static content u user + / mapping rather than /* for servlet requests to static content User / + mapping rather than /* for servlet requests to static content jetty-4.0.B1 - 13 February 2002 - + Added setClassLoader and moved getFileClassPath to HttpContext - + getRequestURI returns encoded path - + HttpConnection always eats unused bodies - + LineInput waits for LF after CF if seen CRLF before. - + Merged HttpMessage and Message - + Servlet request destined for static content returns paths as default servlet - + Suppress error only for IOExceptions not derivitives. - + Updated examples webapp from tomcat - + WriterOutputStream so JSPs can include static resources. + + added setclassloader and moved getfileclasspath to httpcontext added added + setclassloader and moved getfileclasspath to httpcontext Added + setClassLoader and moved getFileClassPath to HttpContext + + getrequesturi returns encoded path getrequesturi returns encoded path + getrequesturi returns encoded path getRequestURI returns encoded path + + httpconnection always eats unused bodies httpconnection always eats un + httpconnection always eats unused bodies HttpConnection always eats unused + bodies + + lineinput waits for lf after cf if seen crlf before. lineinput waits f + lineinput waits for lf after cf if seen crlf before. LineInput waits for LF + after CF if seen CRLF before. + + merged httpmessage and message merged httpmessage and message merged + httpmessage and message Merged HttpMessage and Message + + servlet request destined for static content returns paths as default s + servlet request destined for static content returns paths as default s + Servlet request destined for static content returns paths as default servlet + + suppress error only for ioexceptions not derivitives. suppress error o + suppress error only for ioexceptions not derivitives. Suppress error only + for IOExceptions not derivitives. + + updated examples webapp from tomcat updated examples webapp from tomca + updated examples webapp from tomcat Updated examples webapp from tomcat + + writeroutputstream so jsps can include static resources. writeroutputs + writeroutputstream so jsps can include static resources. WriterOutputStream + so JSPs can include static resources. jetty-4.0.B0 - 04 February 2002 - + Added AbstractSessionManager - + Added Array element to XMLConfiguration - + Added hack for compat tests in watchdog for old tomcat stuff - + Added index links to tutorial - + Allow listener schemes to be set. - + Common handling of TRACE - + Factor out RolloverFileOutputStream from OutputStreamLogSink - + Fixed HttpFields remove bug - + Handle special characters in resource file names better. - + HttpContext destroy - + Implemented 2.3 security constraint semantics PLEASE REVIEW YOUR SECURITY + + added abstractsessionmanager added abstractsessionmanager added + abstractsessionmanager Added AbstractSessionManager + + added array element to xmlconfiguration added array element to added array + element to xmlconfiguration Added Array element to XMLConfiguration + + added hack for compat tests in watchdog for old tomcat stuff added hac added + hack for compat tests in watchdog for old tomcat stuff Added hack for compat + tests in watchdog for old tomcat stuff + + added index links to tutorial added index links to tutorial added index + links to tutorial Added index links to tutorial + + allow listener schemes to be set. allow listener schemes to be set. allow + listener schemes to be set. Allow listener schemes to be set. + + common handling of trace common handling of trace common handling of trace + Common handling of TRACE + + factor out rolloverfileoutputstream from outputstreamlogsink factor ou + factor out rolloverfileoutputstream from outputstreamlogsink Factor out + RolloverFileOutputStream from OutputStreamLogSink + + fixed httpfields remove bug fixed httpfields remove bug fixed httpfields + remove bug Fixed HttpFields remove bug + + handle special characters in resource file names better. handle specia + handle special characters in resource file names better. Handle special + characters in resource file names better. + + httpcontext destroy httpcontext destroy httpcontext destroy HttpContext + destroy + + implemented 2.3 security constraint semantics please review your secur + implemented 2.3 security constraint semantics please review your secur + Implemented 2.3 security constraint semantics PLEASE REVIEW YOUR SECURITY CONSTRAINTS (see README). - + Reduce object count and add hash width to StringMap - + Release process builds JettyExtra - + Removed triggers from Code. - + Remove request logSink and replace with RequestLog using - RolloverFileOutputStream - + Renamed getHttpServers and added setAnonymous - + Stop and remove NotFound context for HttpServer - + Support Random Session IDs in HashSessionManager. - + Updated crimson to 1.1.3 - + Updated tutorial and FAQ - + Welcome file dispatch sets requestURI. - + Welcome files may be relative + + reduce object count and add hash width to stringmap reduce object coun + reduce object count and add hash width to stringmap Reduce object count and + add hash width to StringMap + + release process builds jettyextra release process builds jettyextra release + process builds jettyextra Release process builds JettyExtra + + removed triggers from code. removed triggers from code. removed triggers + from code. Removed triggers from Code. + + remove request logsink and replace with requestlog using remove reques + remove request logsink and replace with requestlog using Remove request + logSink and replace with RequestLog using RolloverFileOutputStream + + renamed gethttpservers and added setanonymous renamed gethttpservers a + renamed gethttpservers and added setanonymous Renamed getHttpServers and + added setAnonymous + + stop and remove notfound context for httpserver stop and remove notfou stop + and remove notfound context for httpserver Stop and remove NotFound context + for HttpServer + + support random session ids in hashsessionmanager. support random sessi + support random session ids in hashsessionmanager. Support Random Session IDs + in HashSessionManager. + + updated crimson to 1.1.3 updated crimson to 1.1.3 updated crimson to 1.1.3 + Updated crimson to 1.1.3 + + updated tutorial and faq updated tutorial and faq updated tutorial and faq + Updated tutorial and FAQ + + welcome file dispatch sets requesturi. welcome file dispatch sets welcome + file dispatch sets requesturi. Welcome file dispatch sets requestURI. + + welcome files may be relative welcome files may be relative welcome files + may be relative Welcome files may be relative jetty-4.0.D4 - 14 January 2002 - + Added BlueRibbon campaign. - + Added isAuthenticated to UserPrincipal - + Extract WAR files to standard temp directory - + Fixed noaccess auth demo. - + FORM auth caches UserPrincipal - + Handle ServletRequestWrappers for Generic Servlets - + Improved handling of UnavailableException - + Improved HttpResponsse.sendError error page matching. - + Prevent output after forward - + RequestDispatcher uses cached resources for include - + URI uses UTF8 for % encodings. + + added blueribbon campaign. added blueribbon campaign. added blueribbon + campaign. Added BlueRibbon campaign. + + added isauthenticated to userprincipal added isauthenticated to added + isauthenticated to userprincipal Added isAuthenticated to UserPrincipal + + extract war files to standard temp directory extract war files to stan + extract war files to standard temp directory Extract WAR files to standard + temp directory + + fixed noaccess auth demo. fixed noaccess auth demo. fixed noaccess auth + demo. Fixed noaccess auth demo. + + form auth caches userprincipal form auth caches userprincipal form auth + caches userprincipal FORM auth caches UserPrincipal + + handle servletrequestwrappers for generic servlets handle handle + servletrequestwrappers for generic servlets Handle ServletRequestWrappers + for Generic Servlets + + improved handling of unavailableexception improved handling of improved + handling of unavailableexception Improved handling of UnavailableException + + improved httpresponsse.senderror error page matching. improved improved + httpresponsse.senderror error page matching. Improved + HttpResponsse.sendError error page matching. + + prevent output after forward prevent output after forward prevent output + after forward Prevent output after forward + + requestdispatcher uses cached resources for include requestdispatcher + requestdispatcher uses cached resources for include RequestDispatcher uses + cached resources for include + + uri uses utf8 for % encodings. uri uses utf8 for % encodings. uri uses utf8 + for % encodings. URI uses UTF8 for % encodings. jetty-4.0.D3 - 31 December 2001 - + cookies with maxAge==0 expire on 1 jan 1970 - + Corrected name to HTTP_REFERER in CGI Servlet. - + DateCache handles misses better. - + Fixed cached filter wrapping. - + Fixed ContextLoader lib handling. - + Fixed getLocale again - + Fixed UrlEncoding for % + combination. - + Generalized temp file handling - + HttpFields uses DateCache more. - + Made Frame members private and fixed test harness - + Moved admin port to 8081 to avoid JBuilder - + Patch jasper to 20011229101000 - + Removed limits on mark in LineInput. - + setCookie always has equals + + cookies with maxage==0 expire on 1 jan 1970 cookies with maxage==0 exp + cookies with maxage==0 expire on 1 jan 1970 cookies with maxAge==0 expire on + 1 jan 1970 + + corrected name to http_referer in cgi servlet. corrected name to corrected + name to http_referer in cgi servlet. Corrected name to HTTP_REFERER in CGI + Servlet. + + datecache handles misses better. datecache handles misses better. datecache + handles misses better. DateCache handles misses better. + + fixed cached filter wrapping. fixed cached filter wrapping. fixed cached + filter wrapping. Fixed cached filter wrapping. + + fixed contextloader lib handling. fixed contextloader lib handling. fixed + contextloader lib handling. Fixed ContextLoader lib handling. + + fixed getlocale again fixed getlocale again fixed getlocale again Fixed + getLocale again + + fixed urlencoding for % + combination. fixed urlencoding for % + fixed + urlencoding for % + combination. Fixed UrlEncoding for % + combination. + + generalized temp file handling generalized temp file handling generalized + temp file handling Generalized temp file handling + + httpfields uses datecache more. httpfields uses datecache more. httpfields + uses datecache more. HttpFields uses DateCache more. + + made frame members private and fixed test harness made frame members p made + frame members private and fixed test harness Made Frame members private and + fixed test harness + + moved admin port to 8081 to avoid jbuilder moved admin port to 8081 to moved + admin port to 8081 to avoid jbuilder Moved admin port to 8081 to avoid + JBuilder + + patch jasper to 20011229101000 patch jasper to 20011229101000 patch jasper + to 20011229101000 Patch jasper to 20011229101000 + + removed limits on mark in lineinput. removed limits on mark in lineinp + removed limits on mark in lineinput. Removed limits on mark in LineInput. + + setcookie always has equals setcookie always has equals setcookie always has + equals setCookie always has equals jetty-3.1.5 - 11 December 2001 - + Allow POSTs to static resources. - + Branched at Jetty_3_1 - + cookies with maxage==0 expired 1 jan 1970 - + Fixed ChunableInputStream.resetStream bug. - + Fixed formatting of redirectURLs for NS4.08 - + Ignore IO errors when trying to persist connections. - + setCookie always has equals for cookie value - + stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some + + allow posts to static resources. allow posts to static resources. allow + posts to static resources. Allow POSTs to static resources. + + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched + at Jetty_3_1 + + cookies with maxage==0 expired 1 jan 1970 cookies with maxage==0 expir + cookies with maxage==0 expired 1 jan 1970 cookies with maxage==0 expired 1 + jan 1970 + + fixed chunableinputstream.resetstream bug. fixed fixed + chunableinputstream.resetstream bug. Fixed ChunableInputStream.resetStream + bug. + + fixed formatting of redirecturls for ns4.08 fixed formatting of redire fixed + formatting of redirecturls for ns4.08 Fixed formatting of redirectURLs for + NS4.08 + + ignore io errors when trying to persist connections. ignore io errors + ignore io errors when trying to persist connections. Ignore IO errors when + trying to persist connections. + + setcookie always has equals for cookie value setcookie always has equa + setcookie always has equals for cookie value setCookie always has equals for + cookie value + + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some platforms. jetty-4.0.D2 - 02 December 2001 - + added addWebApplications auto discovery - + Allow POSTs to static resources. - + Better handling of charset in form encoding. - + Disabled last forwarding by setPath() - + Fixed ChunableInputStream.resetStream bug. - + Fixed formatting of redirect URLs. - + Ignore IO errors when trying to persist connections. - + Made the root context a webapplication. - + Moved demo docroot/servlets to demo directory - + New event model to decouple from beans container. - + Removed Demo.java (until updated). - + Removed ForwardHandler. - + Removed most of the old doco, which needs to be rewritten and added again. - + Removed Request set methods (will be replaced) - + Restructured for demo and test hierarchies - + stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some + + added addwebapplications auto discovery added addwebapplications auto added + addwebapplications auto discovery added addWebApplications auto discovery + + allow posts to static resources. allow posts to static resources. allow + posts to static resources. Allow POSTs to static resources. + + better handling of charset in form encoding. better handling of charse + better handling of charset in form encoding. Better handling of charset in + form encoding. + + disabled last forwarding by setpath() disabled last forwarding by setp + disabled last forwarding by setpath() Disabled last forwarding by setPath() + + fixed chunableinputstream.resetstream bug. fixed fixed + chunableinputstream.resetstream bug. Fixed ChunableInputStream.resetStream + bug. + + fixed formatting of redirect urls. fixed formatting of redirect urls. fixed + formatting of redirect urls. Fixed formatting of redirect URLs. + + ignore io errors when trying to persist connections. ignore io errors + ignore io errors when trying to persist connections. Ignore IO errors when + trying to persist connections. + + made the root context a webapplication. made the root context a made the + root context a webapplication. Made the root context a webapplication. + + moved demo docroot/servlets to demo directory moved demo docroot/servl moved + demo docroot/servlets to demo directory Moved demo docroot/servlets to demo + directory + + new event model to decouple from beans container. new event model to new + event model to decouple from beans container. New event model to decouple + from beans container. + + removed demo.java (until updated). removed demo.java (until updated). + removed demo.java (until updated). Removed Demo.java (until updated). + + removed forwardhandler. removed forwardhandler. removed forwardhandler. + Removed ForwardHandler. + + removed most of the old doco, which needs to be rewritten and added ag + removed most of the old doco, which needs to be rewritten and added ag + Removed most of the old doco, which needs to be rewritten and added again. + + removed request set methods (will be replaced) removed request set met + removed request set methods (will be replaced) Removed Request set methods + (will be replaced) + + restructured for demo and test hierarchies restructured for demo and t + restructured for demo and test hierarchies Restructured for demo and test + hierarchies + + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some platforms. jetty-4.0.D1 - 14 November 2001 - + Added Context and Session Event Handling - + Added FilterHandler - + Added FilterHolder - + Changed HandlerContext to HttpContext - + Fixed bug with request dispatcher parameters - + Fixed ServletHandler with no servlets - + New ContextLoader implementation. - + New Dispatcher implementation - + Removed destroy methods - + Simplified MultiMap - + Simplified ServletHandler + + added context and session event handling added context and session eve added + context and session event handling Added Context and Session Event Handling + + added filterhandler added filterhandler added filterhandler Added + FilterHandler + + added filterholder added filterholder added filterholder Added FilterHolder + + changed handlercontext to httpcontext changed handlercontext to httpco + changed handlercontext to httpcontext Changed HandlerContext to HttpContext + + fixed bug with request dispatcher parameters fixed bug with request fixed + bug with request dispatcher parameters Fixed bug with request dispatcher + parameters + + fixed servlethandler with no servlets fixed servlethandler with no ser fixed + servlethandler with no servlets Fixed ServletHandler with no servlets + + new contextloader implementation. new contextloader implementation. new + contextloader implementation. New ContextLoader implementation. + + new dispatcher implementation new dispatcher implementation new dispatcher + implementation New Dispatcher implementation + + removed destroy methods removed destroy methods removed destroy methods + Removed destroy methods + + simplified multimap simplified multimap simplified multimap Simplified + MultiMap + + simplified servlethandler simplified servlethandler simplified + servlethandler Simplified ServletHandler jetty-4.0.D0 - 06 November 2001 - + 1.2 JSP API - + 2.3 Servlet API - + Added examples webapp from tomcat4 - + Branched at Jetty_3_1 - + Branched from Jetty_3_1 == Jetty_3_1_4 - + Jasper from tomcat4 - + Start SessionManager abstraction. + + 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 JSP API + + 2.3 servlet api 2.3 servlet api 2.3 servlet api 2.3 Servlet API + + added examples webapp from tomcat4 added examples webapp from tomcat4 added + examples webapp from tomcat4 Added examples webapp from tomcat4 + + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched + at Jetty_3_1 + + branched from jetty_3_1 == jetty_3_1_4 branched from jetty_3_1 == branched + from jetty_3_1 == jetty_3_1_4 Branched from Jetty_3_1 == Jetty_3_1_4 + + jasper from tomcat4 jasper from tomcat4 jasper from tomcat4 Jasper from + tomcat4 + + start sessionmanager abstraction. start sessionmanager abstraction. start + sessionmanager abstraction. Start SessionManager abstraction. jetty-3.1.4 - 06 November 2001 - + Added RequestLogFormat to allow extensible request logs. - + Default PathMap separator changed to ":," - + Generate session unbind events on a context.stop() - + getRealPath accepts \ URI separator on platforms using \ file separator. - + HTAccessHandler made stricter on misconfiguration - + PathMap now ignores paths after ; or ? characters. - + Remove old stuff from contrib that had been moved to extra - + Support the ZZZ timezone offset format in DateCache + + added requestlogformat to allow extensible request logs. added added + requestlogformat to allow extensible request logs. Added RequestLogFormat to + allow extensible request logs. + + default pathmap separator changed to ":," default pathmap separator ch + default pathmap separator changed to ":," Default PathMap separator changed + to ":," + + generate session unbind events on a context.stop() generate session un + generate session unbind events on a context.stop() Generate session unbind + events on a context.stop() + + getrealpath accepts \ uri separator on platforms using \ file separato + getrealpath accepts \ uri separator on platforms using \ file separato + getRealPath accepts \ URI separator on platforms using \ file separator. + + htaccesshandler made stricter on misconfiguration htaccesshandler made + htaccesshandler made stricter on misconfiguration HTAccessHandler made + stricter on misconfiguration + + pathmap now ignores paths after ; or ? characters. pathmap now ignores + pathmap now ignores paths after ; or ? characters. PathMap now ignores paths + after ; or ? characters. + + remove old stuff from contrib that had been moved to extra remove old + remove old stuff from contrib that had been moved to extra Remove old stuff + from contrib that had been moved to extra + + support the zzz timezone offset format in datecache support the zzz ti + support the zzz timezone offset format in datecache Support the ZZZ timezone + offset format in DateCache jetty-3.1.3 - 26 October 2001 - + Allow a per context UserRealm instance. - + Correct dispatch to error pages with javax attributes set. - + Fixed binary files in CVS - + Fixed several problems with external role authentication. Role - authentication in JBoss was not working correctly and there were possible - object leaks. The fix required an API change to UserPrinciple and UserRealm. - + Fixed Virtual hosts to case insensitive. - + Fix security problem with trailing special characters. Trailing %00 enabled - JSP source to be viewed or other servlets to be bypassed. - + Improved FORM auth handling of role failure. - + Improved Jasper debug output. - + Improved ThreadedServer timeout defaults - + PathMap spec separator changed from ',' to ':'. May be set with + + allow a per context userrealm instance. allow a per context userrealm allow + a per context userrealm instance. Allow a per context UserRealm instance. + + correct dispatch to error pages with javax attributes set. correct dis + correct dispatch to error pages with javax attributes set. Correct dispatch + to error pages with javax attributes set. + + fixed binary files in cvs fixed binary files in cvs fixed binary files in + cvs Fixed binary files in CVS + + fixed several problems with external role authentication. role fixed s fixed + several problems with external role authentication. role Fixed several + problems with external role authentication. Role authentication in JBoss was + not working correctly and there were possible object leaks. The fix required + an API change to UserPrinciple and UserRealm. + + fixed virtual hosts to case insensitive. fixed virtual hosts to case fixed + virtual hosts to case insensitive. Fixed Virtual hosts to case insensitive. + + fix security problem with trailing special characters. trailing %00 en fix + security problem with trailing special characters. trailing %00 en Fix + security problem with trailing special characters. Trailing %00 enabled JSP + source to be viewed or other servlets to be bypassed. + + improved form auth handling of role failure. improved form auth handli + improved form auth handling of role failure. Improved FORM auth handling of + role failure. + + improved jasper debug output. improved jasper debug output. improved jasper + debug output. Improved Jasper debug output. + + improved threadedserver timeout defaults improved threadedserver timeo + improved threadedserver timeout defaults Improved ThreadedServer timeout + defaults + + pathmap spec separator changed from ',' to ':'. may be set with pathma + pathmap spec separator changed from ',' to ':'. may be set with PathMap spec + separator changed from ',' to ':'. May be set with org.mortbay.http.PathMap.separators system property. - + Upgraded JSSE to 1.0.2 + + upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 + Upgraded JSSE to 1.0.2 jetty-3.1.2 - 13 October 2001 - + Added run target to ant - + Added ServletHandler.sessionCount() - + Added short delay to shutdown hook for JVM bug. - + Changed 304 responses for Opera browser. - + Changed JSESSIONID to jsessionid - + Changed unsatisfiable range warnings to debug. - + Fixed attr handling in XmlParser.toString - + Fixed authentication role handling in FORM auth. - + Fixed double entry on PathMap.getMatches - + Fixed FORM Authentication username. - + Fixed NotFoundHandler handling of unknown methods - + Fixed request log date formatting - + Fixed servlet handling of non session url params. - + FORM authentication passes query params. - + Further improvements in handling of shutdown. - + Log OK state after thread low warnings. + + added run target to ant added run target to ant added run target to ant + Added run target to ant + + added servlethandler.sessioncount() added servlethandler.sessioncount( added + servlethandler.sessioncount() Added ServletHandler.sessionCount() + + added short delay to shutdown hook for jvm bug. added short delay to added + short delay to shutdown hook for jvm bug. Added short delay to shutdown hook + for JVM bug. + + changed 304 responses for opera browser. changed 304 responses for ope + changed 304 responses for opera browser. Changed 304 responses for Opera + browser. + + changed jsessionid to jsessionid changed jsessionid to jsessionid changed + jsessionid to jsessionid Changed JSESSIONID to jsessionid + + changed unsatisfiable range warnings to debug. changed unsatisfiable r + changed unsatisfiable range warnings to debug. Changed unsatisfiable range + warnings to debug. + + fixed attr handling in xmlparser.tostring fixed attr handling in fixed attr + handling in xmlparser.tostring Fixed attr handling in XmlParser.toString + + fixed authentication role handling in form auth. fixed authentication fixed + authentication role handling in form auth. Fixed authentication role + handling in FORM auth. + + fixed double entry on pathmap.getmatches fixed double entry on fixed double + entry on pathmap.getmatches Fixed double entry on PathMap.getMatches + + fixed form authentication username. fixed form authentication username fixed + form authentication username. Fixed FORM Authentication username. + + fixed notfoundhandler handling of unknown methods fixed notfoundhandle fixed + notfoundhandler handling of unknown methods Fixed NotFoundHandler handling + of unknown methods + + fixed request log date formatting fixed request log date formatting fixed + request log date formatting Fixed request log date formatting + + fixed servlet handling of non session url params. fixed servlet handli fixed + servlet handling of non session url params. Fixed servlet handling of non + session url params. + + form authentication passes query params. form authentication passes qu form + authentication passes query params. FORM authentication passes query params. + + further improvements in handling of shutdown. further improvements in + further improvements in handling of shutdown. Further improvements in + handling of shutdown. + + log ok state after thread low warnings. log ok state after thread low log ok + state after thread low warnings. Log OK state after thread low warnings. jetty-3.1.1 - 27 September 2001 - + Correctly ignore auth-constraint descriptions. - + Fixed jar manifest format - patched 28 Sep 2001 - + Fixed ServletRequest.getLocale(). - + Handle requestdispatcher during init. - + Reduced verbosity of bad URL errors from IIS virus attacks - + Removed incorrect warning for WEB-INF/lib jar files. - + Removed JDK 1.3 dependancy - + Use lowercase tags in html package to be XHTML-like. + + correctly ignore auth-constraint descriptions. correctly ignore correctly + ignore auth-constraint descriptions. Correctly ignore auth-constraint + descriptions. + + fixed jar manifest format - patched 28 sep 2001 fixed jar manifest for fixed + jar manifest format - patched 28 sep 2001 Fixed jar manifest format - + patched 28 Sep 2001 + + fixed servletrequest.getlocale(). fixed servletrequest.getlocale(). fixed + servletrequest.getlocale(). Fixed ServletRequest.getLocale(). + + handle requestdispatcher during init. handle requestdispatcher during + handle requestdispatcher during init. Handle requestdispatcher during init. + + reduced verbosity of bad url errors from iis virus attacks reduced ver + reduced verbosity of bad url errors from iis virus attacks Reduced verbosity + of bad URL errors from IIS virus attacks + + removed incorrect warning for web-inf/lib jar files. removed incorrect + removed incorrect warning for web-inf/lib jar files. Removed incorrect + warning for WEB-INF/lib jar files. + + removed jdk 1.3 dependancy removed jdk 1.3 dependancy removed jdk 1.3 + dependancy Removed JDK 1.3 dependancy + + use lowercase tags in html package to be xhtml-like. use lowercase tag use + lowercase tags in html package to be xhtml-like. Use lowercase tags in html + package to be XHTML-like. jetty-3.1.0 - 21 September 2001 - + Added HandlerContext.registerHost - + Added long overdue Tutorial documentation. - + Fix .. handling in URI - + Fix flush on stop bug in logs. - + Fix FORM authentication on exact patterns - + Fix Jetty.bat for spaces. - + Fix param reading on CGI servlet - + Fix REFFERER in CGI - + Fix ResourceHandler cache invalidate. - + Fix reuse of Resource - + Fix ServletResponse.setLocale() - + Improved closing of listeners. - + Improved some other documentation. - + New simplified jetty.bat - + Optimized List creation - + Removed win32 service.exe + + added handlercontext.registerhost added handlercontext.registerhost added + handlercontext.registerhost Added HandlerContext.registerHost + + added long overdue tutorial documentation. added long overdue tutorial added + long overdue tutorial documentation. Added long overdue Tutorial + documentation. + + fix .. handling in uri fix .. handling in uri fix .. handling in uri Fix .. + handling in URI + + fix flush on stop bug in logs. fix flush on stop bug in logs. fix flush on + stop bug in logs. Fix flush on stop bug in logs. + + fix form authentication on exact patterns fix form authentication on e fix + form authentication on exact patterns Fix FORM authentication on exact + patterns + + fix jetty.bat for spaces. fix jetty.bat for spaces. fix jetty.bat for + spaces. Fix Jetty.bat for spaces. + + fix param reading on cgi servlet fix param reading on cgi servlet fix param + reading on cgi servlet Fix param reading on CGI servlet + + fix refferer in cgi fix refferer in cgi fix refferer in cgi Fix REFFERER in + CGI + + fix resourcehandler cache invalidate. fix resourcehandler cache invali fix + resourcehandler cache invalidate. Fix ResourceHandler cache invalidate. + + fix reuse of resource fix reuse of resource fix reuse of resource Fix reuse + of Resource + + fix servletresponse.setlocale() fix servletresponse.setlocale() fix + servletresponse.setlocale() Fix ServletResponse.setLocale() + + improved closing of listeners. improved closing of listeners. improved + closing of listeners. Improved closing of listeners. + + improved some other documentation. improved some other documentation. + improved some other documentation. Improved some other documentation. + + new simplified jetty.bat new simplified jetty.bat new simplified jetty.bat + New simplified jetty.bat + + optimized list creation optimized list creation optimized list creation + Optimized List creation + + removed win32 service.exe removed win32 service.exe removed win32 + service.exe Removed win32 service.exe jetty-3.1.rc9 - 02 September 2001 - + Added bin/orgPackage.sh script to change package names. - + Added handlerContext.setClassPaths - + Added lowResourcePersistTimeMs for more graceful degradation when we run out - of threads. - + Added support for Nonblocking listener. - + Changed to org.mortbay domain names. - + Fixed bug with non cookie sessions. - + Fixed handling of rel form authentication URLs - + Format cookies in HttpFields. - + Form auth login and error pages relative to context path. - + Patched Jasper to 3.2.3. + + added bin/orgpackage.sh script to change package names. added added + bin/orgpackage.sh script to change package names. Added bin/orgPackage.sh + script to change package names. + + added handlercontext.setclasspaths added handlercontext.setclasspaths added + handlercontext.setclasspaths Added handlerContext.setClassPaths + + added lowresourcepersisttimems for more graceful degradation when we r added + lowresourcepersisttimems for more graceful degradation when we r Added + lowResourcePersistTimeMs for more graceful degradation when we run out of + threads. + + added support for nonblocking listener. added support for nonblocking added + support for nonblocking listener. Added support for Nonblocking listener. + + changed to org.mortbay domain names. changed to org.mortbay domain nam + changed to org.mortbay domain names. Changed to org.mortbay domain names. + + fixed bug with non cookie sessions. fixed bug with non cookie sessions fixed + bug with non cookie sessions. Fixed bug with non cookie sessions. + + fixed handling of rel form authentication urls fixed handling of rel f fixed + handling of rel form authentication urls Fixed handling of rel form + authentication URLs + + format cookies in httpfields. format cookies in httpfields. format cookies + in httpfields. Format cookies in HttpFields. + + form auth login and error pages relative to context path. form auth lo form + auth login and error pages relative to context path. Form auth login and + error pages relative to context path. + + patched jasper to 3.2.3. patched jasper to 3.2.3. patched jasper to 3.2.3. + Patched Jasper to 3.2.3. jetty-3.1.rc8 - 22 August 2001 - + Added HttpServer statistics - + Allow contextpaths without leading / - + Allow per context log files. - + Buffer allocation - + Don't add notfound context. - + Fixed handling of default mime types - + ISO8859 conversion - + Many major and minor optimizations: - + OutputStreamLogSink replaces WriterLogSink - + Removed race from dynamic servlet initialization. - + Separation of URL params in HttpHandler API. - + StringMap - + Support WEB-INF/web-jetty.xml configuration extension for webapps - + Updated sponsors page - + URI canonicalPath - + URI pathAdd + + added httpserver statistics added httpserver statistics added httpserver + statistics Added HttpServer statistics + + allow contextpaths without leading / allow contextpaths without leadin allow + contextpaths without leading / Allow contextpaths without leading / + + allow per context log files. allow per context log files. allow per context + log files. Allow per context log files. + + buffer allocation buffer allocation buffer allocation Buffer allocation + + don't add notfound context. don't add notfound context. don't add notfound + context. Don't add notfound context. + + fixed handling of default mime types fixed handling of default mime ty fixed + handling of default mime types Fixed handling of default mime types + + iso8859 conversion iso8859 conversion iso8859 conversion ISO8859 conversion + + many major and minor optimizations: many major and minor optimizations many + major and minor optimizations: Many major and minor optimizations: + + outputstreamlogsink replaces writerlogsink outputstreamlogsink replace + outputstreamlogsink replaces writerlogsink OutputStreamLogSink replaces + WriterLogSink + + removed race from dynamic servlet initialization. removed race from dy + removed race from dynamic servlet initialization. Removed race from dynamic + servlet initialization. + + separation of url params in httphandler api. separation of url params + separation of url params in httphandler api. Separation of URL params in + HttpHandler API. + + stringmap stringmap stringmap StringMap + + support web-inf/web-jetty.xml configuration extension for webapps supp + support web-inf/web-jetty.xml configuration extension for webapps Support + WEB-INF/web-jetty.xml configuration extension for webapps + + updated sponsors page updated sponsors page updated sponsors page Updated + sponsors page + + uri canonicalpath uri canonicalpath uri canonicalpath URI canonicalPath + + uri pathadd uri pathadd uri pathadd URI pathAdd jetty-3.1.rc7 - 09 August 2001 - + Added doco for Linux port redirection. - + Added FORM authentication. - + Added method handling to HTAccessHandler. - + Added shutdown hooks to Jetty.Server to trap Ctl-C - + Added UML diagrams to Jetty architecture documentation. - + Added utility methods to ServletHandler for wrapping req/res pairs. - + Don't persist connections if low on threads. - + Dump Servlet displays cert chains - + Fix bug in sendRedirect for HTTP/1.1 - + Fixed bug with session ID generation. - + Fixed redirect handling by the CGI Servlet. - + Fixed request.getPort for redirections from 80 - + Optimized HttpField handling to reduce object creatiyon. - + Remove old context path specs - + ServletRequest SSL attributes in line with 2.2 and 2.3 specs. - + ServletResponse.sendRedirect puts URLs into absolute format. - + Use Enumerations to reduce conversions for servlet API. + + added doco for linux port redirection. added doco for linux port added doco + for linux port redirection. Added doco for Linux port redirection. + + added form authentication. added form authentication. added form + authentication. Added FORM authentication. + + added method handling to htaccesshandler. added method handling to added + method handling to htaccesshandler. Added method handling to + HTAccessHandler. + + added shutdown hooks to jetty.server to trap ctl-c added shutdown hook added + shutdown hooks to jetty.server to trap ctl-c Added shutdown hooks to + Jetty.Server to trap Ctl-C + + added uml diagrams to jetty architecture documentation. added uml diag added + uml diagrams to jetty architecture documentation. Added UML diagrams to + Jetty architecture documentation. + + added utility methods to servlethandler for wrapping req/res pairs. ad added + utility methods to servlethandler for wrapping req/res pairs. Added utility + methods to ServletHandler for wrapping req/res pairs. + + don't persist connections if low on threads. don't persist connections don't + persist connections if low on threads. Don't persist connections if low on + threads. + + dump servlet displays cert chains dump servlet displays cert chains dump + servlet displays cert chains Dump Servlet displays cert chains + + fix bug in sendredirect for http/1.1 fix bug in sendredirect for http/ fix + bug in sendredirect for http/1.1 Fix bug in sendRedirect for HTTP/1.1 + + fixed bug with session id generation. fixed bug with session id genera fixed + bug with session id generation. Fixed bug with session ID generation. + + fixed redirect handling by the cgi servlet. fixed redirect handling by fixed + redirect handling by the cgi servlet. Fixed redirect handling by the CGI + Servlet. + + fixed request.getport for redirections from 80 fixed request.getport f fixed + request.getport for redirections from 80 Fixed request.getPort for + redirections from 80 + + optimized httpfield handling to reduce object creatiyon. optimized htt + optimized httpfield handling to reduce object creatiyon. Optimized HttpField + handling to reduce object creatiyon. + + remove old context path specs remove old context path specs remove old + context path specs Remove old context path specs + + servletrequest ssl attributes in line with 2.2 and 2.3 specs. servletr + servletrequest ssl attributes in line with 2.2 and 2.3 specs. ServletRequest + SSL attributes in line with 2.2 and 2.3 specs. + + servletresponse.sendredirect puts urls into absolute format. + servletresponse.sendredirect puts urls into absolute format. + ServletResponse.sendRedirect puts URLs into absolute format. + + use enumerations to reduce conversions for servlet api. use enumeratio use + enumerations to reduce conversions for servlet api. Use Enumerations to + reduce conversions for servlet API. jetty-3.1.rc6 - 10 July 2001 - + Added Client authentication to the JsseListener - + Added debug and logging config example to demo.xml - + Added Get element to the XmlConfiguration class. - + Added getResource to HandleContext. - + Added Static calls to the XmlConfiguration class. - + Avoid script vulnerability in error pages. - + Cleaned up destroy handling of listeners and contexts. - + Cleaned up Win32 Service server creation. - + Close persistent HTTP/1.0 connections on missing Content-Length - + Fixed a problem with Netscape and the acrobat plugin. - + Fixed bug in B64Code. Optimised B64Code. - + Fixed XmlParser to handle xerces1.3 OK - + Improved debug output for IOExceptions. - + Improved SSL debugging information. - + KeyPairTool can now load cert chains. - + KeyPairTool is more robust to provider setup. - + Moved gimp image files to Jetty3Extra - + Moved mime types and encodings to property bundles. - + Removed getConfiguration from LifeCycleThread to avoid JMX clash. - + RequestDispatch.forward() uses normal HandlerContext.handle() path if + + added client authentication to the jsselistener added client authentic added + client authentication to the jsselistener Added Client authentication to the + JsseListener + + added debug and logging config example to demo.xml added debug and log added + debug and logging config example to demo.xml Added debug and logging config + example to demo.xml + + added get element to the xmlconfiguration class. added get element to added + get element to the xmlconfiguration class. Added Get element to the + XmlConfiguration class. + + added getresource to handlecontext. added getresource to handlecontext added + getresource to handlecontext. Added getResource to HandleContext. + + added static calls to the xmlconfiguration class. added static calls t added + static calls to the xmlconfiguration class. Added Static calls to the + XmlConfiguration class. + + avoid script vulnerability in error pages. avoid script vulnerability avoid + script vulnerability in error pages. Avoid script vulnerability in error + pages. + + cleaned up destroy handling of listeners and contexts. cleaned up dest + cleaned up destroy handling of listeners and contexts. Cleaned up destroy + handling of listeners and contexts. + + cleaned up win32 service server creation. cleaned up win32 service ser + cleaned up win32 service server creation. Cleaned up Win32 Service server + creation. + + close persistent http/1.0 connections on missing content-length close close + persistent http/1.0 connections on missing content-length Close persistent + HTTP/1.0 connections on missing Content-Length + + fixed a problem with netscape and the acrobat plugin. fixed a problem fixed + a problem with netscape and the acrobat plugin. Fixed a problem with + Netscape and the acrobat plugin. + + fixed bug in b64code. optimised b64code. fixed bug in b64code. optimis fixed + bug in b64code. optimised b64code. Fixed bug in B64Code. Optimised B64Code. + + fixed xmlparser to handle xerces1.3 ok fixed xmlparser to handle xerce fixed + xmlparser to handle xerces1.3 ok Fixed XmlParser to handle xerces1.3 OK + + improved debug output for ioexceptions. improved debug output for improved + debug output for ioexceptions. Improved debug output for IOExceptions. + + improved ssl debugging information. improved ssl debugging information + improved ssl debugging information. Improved SSL debugging information. + + keypairtool can now load cert chains. keypairtool can now load cert ch + keypairtool can now load cert chains. KeyPairTool can now load cert chains. + + keypairtool is more robust to provider setup. keypairtool is more robu + keypairtool is more robust to provider setup. KeyPairTool is more robust to + provider setup. + + moved gimp image files to jetty3extra moved gimp image files to jetty3 moved + gimp image files to jetty3extra Moved gimp image files to Jetty3Extra + + moved mime types and encodings to property bundles. moved mime types a moved + mime types and encodings to property bundles. Moved mime types and encodings + to property bundles. + + removed getconfiguration from lifecyclethread to avoid jmx clash. remo + removed getconfiguration from lifecyclethread to avoid jmx clash. Removed + getConfiguration from LifeCycleThread to avoid JMX clash. + + requestdispatch.forward() uses normal handlercontext.handle() path if + requestdispatch.forward() uses normal handlercontext.handle() path if + RequestDispatch.forward() uses normal HandlerContext.handle() path if possible. - + Updated to JSSE-1.0.2, giving full strength crypto. - + Use exec for jetty.sh run - + WebApps initialize resourceBase before start. - + Win32 Service uses Jetty.Server instead of HttpServer. + + updated to jsse-1.0.2, giving full strength crypto. updated to jsse-1. + updated to jsse-1.0.2, giving full strength crypto. Updated to JSSE-1.0.2, + giving full strength crypto. + + use exec for jetty.sh run use exec for jetty.sh run use exec for jetty.sh + run Use exec for jetty.sh run + + webapps initialize resourcebase before start. webapps initialize webapps + initialize resourcebase before start. WebApps initialize resourceBase before + start. + + win32 service uses jetty.server instead of httpserver. win32 service u win32 + service uses jetty.server instead of httpserver. Win32 Service uses + Jetty.Server instead of HttpServer. jetty-3.1.rc5 - 01 May 2001 - + Added build target for mini.jetty.jar - see README. - + Added HTaccessHandler to authenitcate against apache .htaccess files. - + Added query param handling to ForwardHandler - + Added ServletHandler().setUsingCookies(). - + Added UnixCrypt support to c.m.U.Password - + Fixed EOF handling in MultiPartRequest. - + Fixed forwarding to null pathInfo requests. - + Fixed handling of empty responses at header commit. - + Fixed handling of multiple cookies. - + Fixed jetty.bat classpath problems. - + Fixed ResourceHandler handling of ;JSESSIONID - + Fixed sync of ThreadPool idleSet. - + Major restructing of packages to separate servlet dependancies. c.m.XML - - moved XML dependant classes from c.m.Util c.m.HTTP - No servlet or XML - dependant classes: c.m.Jetty.Servlet - moved from c.m.HTTP.Handler.Servlet - c.m.Servlet - received some servlet dependant classes from HTTP. - + Optimized canonical path calculations. - + Request log contains bytes actually returned. - + Warn and close connections if content-length is incorrectly set. + + added build target for mini.jetty.jar - see readme. added build target added + build target for mini.jetty.jar - see readme. Added build target for + mini.jetty.jar - see README. + + added htaccesshandler to authenitcate against apache .htaccess files. added + htaccesshandler to authenitcate against apache .htaccess files. Added + HTaccessHandler to authenitcate against apache .htaccess files. + + added query param handling to forwardhandler added query param handlin added + query param handling to forwardhandler Added query param handling to + ForwardHandler + + added servlethandler().setusingcookies(). added added + servlethandler().setusingcookies(). Added + ServletHandler().setUsingCookies(). + + added unixcrypt support to c.m.u.password added unixcrypt support to added + unixcrypt support to c.m.u.password Added UnixCrypt support to + c.m.U.Password + + fixed eof handling in multipartrequest. fixed eof handling in fixed eof + handling in multipartrequest. Fixed EOF handling in MultiPartRequest. + + fixed forwarding to null pathinfo requests. fixed forwarding to null fixed + forwarding to null pathinfo requests. Fixed forwarding to null pathInfo + requests. + + fixed handling of empty responses at header commit. fixed handling of fixed + handling of empty responses at header commit. Fixed handling of empty + responses at header commit. + + fixed handling of multiple cookies. fixed handling of multiple cookies fixed + handling of multiple cookies. Fixed handling of multiple cookies. + + fixed jetty.bat classpath problems. fixed jetty.bat classpath problems fixed + jetty.bat classpath problems. Fixed jetty.bat classpath problems. + + fixed resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed + resourcehandler handling of ;jsessionid Fixed ResourceHandler handling of + ;JSESSIONID + + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fixed + sync of threadpool idleset. Fixed sync of ThreadPool idleSet. + + major restructing of packages to separate servlet dependancies. c.m.xm major + restructing of packages to separate servlet dependancies. c.m.xm Major + restructing of packages to separate servlet dependancies. c.m.XML - moved + XML dependant classes from c.m.Util c.m.HTTP - No servlet or XML dependant + classes: c.m.Jetty.Servlet - moved from c.m.HTTP.Handler.Servlet c.m.Servlet + - received some servlet dependant classes from HTTP. + + optimized canonical path calculations. optimized canonical path optimized + canonical path calculations. Optimized canonical path calculations. + + request log contains bytes actually returned. request log contains byt + request log contains bytes actually returned. Request log contains bytes + actually returned. + + warn and close connections if content-length is incorrectly set. warn warn + and close connections if content-length is incorrectly set. Warn and close + connections if content-length is incorrectly set. jetty-3.0.6 - 26 April 2001 - + Fixed EOF handlding in MultiPartRequest. - + Fixed forwarding to null pathInfo requests. - + Fixed handling of empty responses at header commit. - + Fixed ResourceHandler handling of ;JSESSIONID - + Fixed sync of ThreadPool idleSet. - + Load-on-startup the JspServlet so that precompiled servlets work. + + fixed eof handlding in multipartrequest. fixed eof handlding in fixed eof + handlding in multipartrequest. Fixed EOF handlding in MultiPartRequest. + + fixed forwarding to null pathinfo requests. fixed forwarding to null fixed + forwarding to null pathinfo requests. Fixed forwarding to null pathInfo + requests. + + fixed handling of empty responses at header commit. fixed handling of fixed + handling of empty responses at header commit. Fixed handling of empty + responses at header commit. + + fixed resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed + resourcehandler handling of ;jsessionid Fixed ResourceHandler handling of + ;JSESSIONID + + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fixed + sync of threadpool idleset. Fixed sync of ThreadPool idleSet. + + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. + Load-on-startup the JspServlet so that precompiled servlets work. jetty-3.1.rc4 - 14 April 2001 - + Added idle thread getter to ThreadPool. - + Include full versions of JAXP and Crimson - + Load-on-startup the JspServlet so that precompiled servlets work. - + Removed stray debug println from the Frame class. + + added idle thread getter to threadpool. added idle thread getter to added + idle thread getter to threadpool. Added idle thread getter to ThreadPool. + + include full versions of jaxp and crimson include full versions of jax + include full versions of jaxp and crimson Include full versions of JAXP and + Crimson + + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. + Load-on-startup the JspServlet so that precompiled servlets work. + + removed stray debug println from the frame class. removed stray debug + removed stray debug println from the frame class. Removed stray debug + println from the Frame class. jetty-3.0.5 - 14 April 2001 - + Branched from 3.1 trunk to fix major errors - + Created better random session ID - + Don't chunk if content length is known. - + fixed getLocales handling of quality params - + Fixed LineInput bug EOF - + Fixed session invalidation unbind notification to conform with spec - + Improved flush ordering for forwarded requests. - + Load-on-startup the JspServlet so that precompiled servlets work. - + Resource handler strips URL params like JSESSION. - + Turned off range handling by default until bugs resolved + + branched from 3.1 trunk to fix major errors branched from 3.1 trunk to + branched from 3.1 trunk to fix major errors Branched from 3.1 trunk to fix + major errors + + created better random session id created better random session id created + better random session id Created better random session ID + + don't chunk if content length is known. don't chunk if content length don't + chunk if content length is known. Don't chunk if content length is known. + + fixed getlocales handling of quality params fixed getlocales handling fixed + getlocales handling of quality params fixed getLocales handling of quality + params + + fixed lineinput bug eof fixed lineinput bug eof fixed lineinput bug eof + Fixed LineInput bug EOF + + fixed session invalidation unbind notification to conform with spec fi fixed + session invalidation unbind notification to conform with spec Fixed session + invalidation unbind notification to conform with spec + + improved flush ordering for forwarded requests. improved flush orderin + improved flush ordering for forwarded requests. Improved flush ordering for + forwarded requests. + + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. + Load-on-startup the JspServlet so that precompiled servlets work. + + resource handler strips url params like jsession. resource handler str + resource handler strips url params like jsession. Resource handler strips + URL params like JSESSION. + + turned off range handling by default until bugs resolved turned off ra + turned off range handling by default until bugs resolved Turned off range + handling by default until bugs resolved jetty-3.1.rc3 - 09 April 2001 - + Added ContentHandler Observer to XmlParser. - + Allow webapp XmlParser to be observed for ejb-ref tags etc. - + Cleaned up handling of exceptions thrown by servlets. - + Created better random session ID - + Frame handles more JIT stacks. - + Handle zero length POSTs - + Implemented multi-part ranges so that acrobat is happy. - + Improved flush ordering for forwarded requests. - + Improved ThreadPool stop handling - + Simplified multipart response class. - + Start session scavenger if needed. + + added contenthandler observer to xmlparser. added contenthandler obser added + contenthandler observer to xmlparser. Added ContentHandler Observer to + XmlParser. + + allow webapp xmlparser to be observed for ejb-ref tags etc. allow weba allow + webapp xmlparser to be observed for ejb-ref tags etc. Allow webapp XmlParser + to be observed for ejb-ref tags etc. + + cleaned up handling of exceptions thrown by servlets. cleaned up handl + cleaned up handling of exceptions thrown by servlets. Cleaned up handling of + exceptions thrown by servlets. + + created better random session id created better random session id created + better random session id Created better random session ID + + frame handles more jit stacks. frame handles more jit stacks. frame handles + more jit stacks. Frame handles more JIT stacks. + + handle zero length posts handle zero length posts handle zero length posts + Handle zero length POSTs + + implemented multi-part ranges so that acrobat is happy. implemented + implemented multi-part ranges so that acrobat is happy. Implemented + multi-part ranges so that acrobat is happy. + + improved flush ordering for forwarded requests. improved flush orderin + improved flush ordering for forwarded requests. Improved flush ordering for + forwarded requests. + + improved threadpool stop handling improved threadpool stop handling improved + threadpool stop handling Improved ThreadPool stop handling + + simplified multipart response class. simplified multipart response cla + simplified multipart response class. Simplified multipart response class. + + start session scavenger if needed. start session scavenger if needed. start + session scavenger if needed. Start session scavenger if needed. jetty-3.1.rc2 - 30 March 2001 - + Added MultiException to throw multiple nested exceptions. - + added options to turn off ranges and chunking to support acrobat requests. - + fixed getLocales handling of quality params - + fixed getParameter(name) handling for multiple values. - + Improved handling of Primitive classes in XmlConfig - + Improved logging of nested exceptions. - + Lifecycle.start() may throw Exception - + Only one instance of default MIME map. - + Renamed getConnection to getHttpConnection - + Use reference JAXP1.1 for XML parsing.y - + Version 1.1 of configuration dtd supports New objects. + + added multiexception to throw multiple nested exceptions. added added + multiexception to throw multiple nested exceptions. Added MultiException to + throw multiple nested exceptions. + + added options to turn off ranges and chunking to support acrobat reque added + options to turn off ranges and chunking to support acrobat reque added + options to turn off ranges and chunking to support acrobat requests. + + fixed getlocales handling of quality params fixed getlocales handling fixed + getlocales handling of quality params fixed getLocales handling of quality + params + + fixed getparameter(name) handling for multiple values. fixed fixed + getparameter(name) handling for multiple values. fixed getParameter(name) + handling for multiple values. + + improved handling of primitive classes in xmlconfig improved handling + improved handling of primitive classes in xmlconfig Improved handling of + Primitive classes in XmlConfig + + improved logging of nested exceptions. improved logging of nested improved + logging of nested exceptions. Improved logging of nested exceptions. + + lifecycle.start() may throw exception lifecycle.start() may throw exce + lifecycle.start() may throw exception Lifecycle.start() may throw Exception + + only one instance of default mime map. only one instance of default mi only + one instance of default mime map. Only one instance of default MIME map. + + renamed getconnection to gethttpconnection renamed getconnection to renamed + getconnection to gethttpconnection Renamed getConnection to + getHttpConnection + + use reference jaxp1.1 for xml parsing.y use reference jaxp1.1 for xml use + reference jaxp1.1 for xml parsing.y Use reference JAXP1.1 for XML parsing.y + + version 1.1 of configuration dtd supports new objects. version 1.1 of + version 1.1 of configuration dtd supports new objects. Version 1.1 of + configuration dtd supports New objects. jetty-3.1.rc1 - 18 March 2001 - + Added Jetty documentation pages from JettyWiki - + Cleaned up build.xml script - + Fixed problem with ServletContext.getContext(uri) - + Minimal handling of Servlet.log before initialization. - + Moved JMX and SASL handling to Jetty3Extra release - + Resource handler strips URL params like JSESSION. - + Various SSL cleanups + + added jetty documentation pages from jettywiki added jetty documentati added + jetty documentation pages from jettywiki Added Jetty documentation pages + from JettyWiki + + cleaned up build.xml script cleaned up build.xml script cleaned up build.xml + script Cleaned up build.xml script + + fixed problem with servletcontext.getcontext(uri) fixed problem with fixed + problem with servletcontext.getcontext(uri) Fixed problem with + ServletContext.getContext(uri) + + minimal handling of servlet.log before initialization. minimal handlin + minimal handling of servlet.log before initialization. Minimal handling of + Servlet.log before initialization. + + moved jmx and sasl handling to jetty3extra release moved jmx and sasl moved + jmx and sasl handling to jetty3extra release Moved JMX and SASL handling to + Jetty3Extra release + + resource handler strips url params like jsession. resource handler str + resource handler strips url params like jsession. Resource handler strips + URL params like JSESSION. + + various ssl cleanups various ssl cleanups various ssl cleanups Various SSL + cleanups jetty-3.1.rc0 - 23 February 2001 - + Added JMX management framework. - + Changed getter and setter methods that did not conform to beans API. - + Dynamic servlets may be restricted to Context classloader. - + Fixed init order for unnamed servlets. - + Fixed session invalidation unbind notification to conform with spec - + Improved handling of primitives in utilities. - + Improved InetAddrPort and ThreadedServer to reduce DNS lookups. - + Reoganized packages to allowed sealed Jars - + Socket made available via HttpConnection. - + Use Thread context classloader as default context loader parent. + + added jmx management framework. added jmx management framework. added jmx + management framework. Added JMX management framework. + + changed getter and setter methods that did not conform to beans api. c + changed getter and setter methods that did not conform to beans api. Changed + getter and setter methods that did not conform to beans API. + + dynamic servlets may be restricted to context classloader. dynamic ser + dynamic servlets may be restricted to context classloader. Dynamic servlets + may be restricted to Context classloader. + + fixed init order for unnamed servlets. fixed init order for unnamed fixed + init order for unnamed servlets. Fixed init order for unnamed servlets. + + fixed session invalidation unbind notification to conform with spec fi fixed + session invalidation unbind notification to conform with spec Fixed session + invalidation unbind notification to conform with spec + + improved handling of primitives in utilities. improved handling of improved + handling of primitives in utilities. Improved handling of primitives in + utilities. + + improved inetaddrport and threadedserver to reduce dns lookups. improv + improved inetaddrport and threadedserver to reduce dns lookups. Improved + InetAddrPort and ThreadedServer to reduce DNS lookups. + + reoganized packages to allowed sealed jars reoganized packages to allo + reoganized packages to allowed sealed jars Reoganized packages to allowed + sealed Jars + + socket made available via httpconnection. socket made available via socket + made available via httpconnection. Socket made available via HttpConnection. + + use thread context classloader as default context loader parent. use t use + thread context classloader as default context loader parent. Use Thread + context classloader as default context loader parent. jetty-3.0.4 - 23 February 2001 - + Fixed LineInput bug with split CRLF. + + fixed lineinput bug with split crlf. fixed lineinput bug with split cr fixed + lineinput bug with split crlf. Fixed LineInput bug with split CRLF. jetty-3.0.3 - 03 February 2001 - + Allow Log to be disabled before initialization. - + Fixed handling of directories without trailing / - + Fixed pipelined request buffer bug. - + Handle empty form content without exception. - + Implemented web.xml servlet mapping to a JSP - + Included new Jetty Logo + + allow log to be disabled before initialization. allow log to be disabl allow + log to be disabled before initialization. Allow Log to be disabled before + initialization. + + fixed handling of directories without trailing / fixed handling of fixed + handling of directories without trailing / Fixed handling of directories + without trailing / + + fixed pipelined request buffer bug. fixed pipelined request buffer bug fixed + pipelined request buffer bug. Fixed pipelined request buffer bug. + + handle empty form content without exception. handle empty form content + handle empty form content without exception. Handle empty form content + without exception. + + implemented web.xml servlet mapping to a jsp implemented web.xml servl + implemented web.xml servlet mapping to a jsp Implemented web.xml servlet + mapping to a JSP + + included new jetty logo included new jetty logo included new jetty logo + Included new Jetty Logo jetty-3.0.2 - 13 January 2001 - + Added etc/jetty.policy as example policy file. - + Allow '+' in path portion of a URL. - + Context specific security permissions. - + Greatly improved buffering in ChunkableOutputStream - + Handle unknown status reasons in HttpResponse - + Ignore included response updates rather than IllegalStateException - + Improved HTML.Block efficiency - + Improved jetty.bat - + Improved jetty.sh - + Padded error bodies for IE bug. - + Removed classloading stats which were causing circular class loading - problems. - + Replaced ResourceHandler FIFO cache with LRU cache. - + Restructured demo site pages. - + Try ISO8859_1 encoding if can't find ISO-8859-1 + + added etc/jetty.policy as example policy file. added etc/jetty.policy added + etc/jetty.policy as example policy file. Added etc/jetty.policy as example + policy file. + + allow '+' in path portion of a url. allow '+' in path portion of a url allow + '+' in path portion of a url. Allow '+' in path portion of a URL. + + context specific security permissions. context specific security context + specific security permissions. Context specific security permissions. + + greatly improved buffering in chunkableoutputstream greatly improved greatly + improved buffering in chunkableoutputstream Greatly improved buffering in + ChunkableOutputStream + + handle unknown status reasons in httpresponse handle unknown status re + handle unknown status reasons in httpresponse Handle unknown status reasons + in HttpResponse + + ignore included response updates rather than illegalstateexception ign + ignore included response updates rather than illegalstateexception Ignore + included response updates rather than IllegalStateException + + improved html.block efficiency improved html.block efficiency improved + html.block efficiency Improved HTML.Block efficiency + + improved jetty.bat improved jetty.bat improved jetty.bat Improved jetty.bat + + improved jetty.sh improved jetty.sh improved jetty.sh Improved jetty.sh + + padded error bodies for ie bug. padded error bodies for ie bug. padded error + bodies for ie bug. Padded error bodies for IE bug. + + removed classloading stats which were causing circular class loading r + removed classloading stats which were causing circular class loading Removed + classloading stats which were causing circular class loading problems. + + replaced resourcehandler fifo cache with lru cache. replaced resourceh + replaced resourcehandler fifo cache with lru cache. Replaced ResourceHandler + FIFO cache with LRU cache. + + restructured demo site pages. restructured demo site pages. restructured + demo site pages. Restructured demo site pages. + + try iso8859_1 encoding if can't find iso-8859-1 try iso8859_1 encoding try + iso8859_1 encoding if can't find iso-8859-1 Try ISO8859_1 encoding if can't + find ISO-8859-1 jetty-3.0.1 - 20 December 2000 - + Fixed value unbind notification for session invalidation. - + Removed double null check possibility from ServletHolder + + fixed value unbind notification for session invalidation. fixed value fixed + value unbind notification for session invalidation. Fixed value unbind + notification for session invalidation. + + removed double null check possibility from servletholder removed doubl + removed double null check possibility from servletholder Removed double null + check possibility from ServletHolder jetty-3.0.0 - 17 December 2000 - + Fixed rel path handling in default configurations. - + Fixed rollover bug in WriterLogSink - + Fixed taglib parsing - + Fixed WriterLogSink init bug - + Improved dtd resolution in XML parser. - + Improved jetty.sh logging - + Optional extract war files. - + Use inner class to avoid double null check sync problems + + fixed rel path handling in default configurations. fixed rel path hand fixed + rel path handling in default configurations. Fixed rel path handling in + default configurations. + + fixed rollover bug in writerlogsink fixed rollover bug in writerlogsin fixed + rollover bug in writerlogsink Fixed rollover bug in WriterLogSink + + fixed taglib parsing fixed taglib parsing fixed taglib parsing Fixed taglib + parsing + + fixed writerlogsink init bug fixed writerlogsink init bug fixed + writerlogsink init bug Fixed WriterLogSink init bug + + improved dtd resolution in xml parser. improved dtd resolution in xml + improved dtd resolution in xml parser. Improved dtd resolution in XML + parser. + + improved jetty.sh logging improved jetty.sh logging improved jetty.sh + logging Improved jetty.sh logging + + optional extract war files. optional extract war files. optional extract war + files. Optional extract war files. + + use inner class to avoid double null check sync problems use inner cla use + inner class to avoid double null check sync problems Use inner class to + avoid double null check sync problems jetty-3.0.0.rc8 - 13 December 2000 - + Added ForwardHandler - + Change PathMap handling of /* to give precedence over suffix mapping. - + Default log options changed if in debug mode. - + Forward to welcome pages rather than redirect. - + getSecurityHandler creates handler at position 0. - + Improved exit admin handling - + Jetty.Server catches init exceptions per server - + Mapped *.jsp,*.jsP,*.jSp,*.jSP,*.Jsp,*.JsP,*.JSp,*.JSP - + Optional alias checking added to FileResource. Turned on by default on all + + added forwardhandler added forwardhandler added forwardhandler Added + ForwardHandler + + change pathmap handling of /* to give precedence over suffix mapping. + change pathmap handling of /* to give precedence over suffix mapping. Change + PathMap handling of /* to give precedence over suffix mapping. + + default log options changed if in debug mode. default log options chan + default log options changed if in debug mode. Default log options changed if + in debug mode. + + forward to welcome pages rather than redirect. forward to welcome page + forward to welcome pages rather than redirect. Forward to welcome pages + rather than redirect. + + getsecurityhandler creates handler at position 0. getsecurityhandler c + getsecurityhandler creates handler at position 0. getSecurityHandler creates + handler at position 0. + + improved exit admin handling improved exit admin handling improved exit + admin handling Improved exit admin handling + + jetty.server catches init exceptions per server jetty.server catches i + jetty.server catches init exceptions per server Jetty.Server catches init + exceptions per server + + mapped *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp mapped mapped + *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp Mapped + + *.jsp,*.jsP,*.jSp,*.jSP,*.Jsp,*.JsP,*.JSp,*.JSP + + optional alias checking added to fileresource. turned on by default o + optional alias checking added to fileresource. turned on by default o + Optional alias checking added to FileResource. Turned on by default on all platforms without the "/" file separator. - + Patched jasper to tomcat 3.2.1 - + Protected META-INF as well as WEB-INF in web applications. - + Removed security constraint on demo admin server. - + Removed some unused variables. - + Removed special characters from source. - + SysV unix init script - + Tidied handling of ".", ".." and "//" in resource paths + + patched jasper to tomcat 3.2.1 patched jasper to tomcat 3.2.1 patched jasper + to tomcat 3.2.1 Patched jasper to tomcat 3.2.1 + + protected meta-inf as well as web-inf in web applications. protected + protected meta-inf as well as web-inf in web applications. Protected + META-INF as well as WEB-INF in web applications. + + removed security constraint on demo admin server. removed security removed + security constraint on demo admin server. Removed security constraint on + demo admin server. + + removed some unused variables. removed some unused variables. removed some + unused variables. Removed some unused variables. + + removed special characters from source. removed special characters fro + removed special characters from source. Removed special characters from + source. + + sysv unix init script sysv unix init script sysv unix init script SysV unix + init script + + tidied handling of ".", ".." and "//" in resource paths tidied handlin + tidied handling of ".", ".." and "//" in resource paths Tidied handling of + ".", ".." and "//" in resource paths jetty-3.0.0.rc7 - 02 December 2000 - + Added Com.mortbay.HTTP.Handler.Servlet.Context.LogSink attribute to Servlet + + added com.mortbay.http.handler.servlet.context.logsink attribute to se added + com.mortbay.http.handler.servlet.context.logsink attribute to se Added + Com.mortbay.HTTP.Handler.Servlet.Context.LogSink attribute to Servlet Context. If set, it is used in preference to the system log. - + Added NotFoundServlet - + Added range handling to ResourceHandler. - + Allow dynamic servlets to be served from / - + Auto add a NotFoundHandler if needed. - + CGI servlet handles not found better. - + Changed log options to less verbose defaults. - + Conditionals apply to puts, dels and moves in ResourceHandler. - + Depreciated RollOverLogSink and moved functionality to an improved + + added notfoundservlet added notfoundservlet added notfoundservlet Added + NotFoundServlet + + added range handling to resourcehandler. added range handling to added range + handling to resourcehandler. Added range handling to ResourceHandler. + + allow dynamic servlets to be served from / allow dynamic servlets to b allow + dynamic servlets to be served from / Allow dynamic servlets to be served + from / + + auto add a notfoundhandler if needed. auto add a notfoundhandler if ne auto + add a notfoundhandler if needed. Auto add a NotFoundHandler if needed. + + cgi servlet handles not found better. cgi servlet handles not found be cgi + servlet handles not found better. CGI servlet handles not found better. + + changed log options to less verbose defaults. changed log options to l + changed log options to less verbose defaults. Changed log options to less + verbose defaults. + + conditionals apply to puts, dels and moves in resourcehandler. conditi + conditionals apply to puts, dels and moves in resourcehandler. Conditionals + apply to puts, dels and moves in ResourceHandler. + + depreciated rolloverlogsink and moved functionality to an improved + depreciated rolloverlogsink and moved functionality to an improved + Depreciated RollOverLogSink and moved functionality to an improved WriterLogSink. - + Don't set MIME-Version in response. - + Double null lock checks use ThreadPool.__nullLockChecks. - + Extended security constraints (see README and WebApp Demo). - + Fixed security problem with lowercase WEB-INF uris on windows. - + Handle multiple inits of same servlet class. - + PUT, MOVE disabled in WebApplication unless defaults file is passed. - + Set the AcceptRanges header. - + Set thread context classloader during handler start/stop calls. - + Split Debug servlet out of Admin Servlet. - + ThreadedServer.forceStop() now makes a connection to itself to handle + + don't set mime-version in response. don't set mime-version in response don't + set mime-version in response. Don't set MIME-Version in response. + + double null lock checks use threadpool.__nulllockchecks. double null l + double null lock checks use threadpool.__nulllockchecks. Double null lock + checks use ThreadPool.__nullLockChecks. + + extended security constraints (see readme and webapp demo). extended + extended security constraints (see readme and webapp demo). Extended + security constraints (see README and WebApp Demo). + + fixed security problem with lowercase web-inf uris on windows. fixed fixed + security problem with lowercase web-inf uris on windows. Fixed security + problem with lowercase WEB-INF uris on windows. + + handle multiple inits of same servlet class. handle multiple inits of + handle multiple inits of same servlet class. Handle multiple inits of same + servlet class. + + put, move disabled in webapplication unless defaults file is passed. p put, + move disabled in webapplication unless defaults file is passed. PUT, MOVE + disabled in WebApplication unless defaults file is passed. + + set the acceptranges header. set the acceptranges header. set the + acceptranges header. Set the AcceptRanges header. + + set thread context classloader during handler start/stop calls. set th set + thread context classloader during handler start/stop calls. Set thread + context classloader during handler start/stop calls. + + split debug servlet out of admin servlet. split debug servlet out of a split + debug servlet out of admin servlet. Split Debug servlet out of Admin + Servlet. + + threadedserver.forcestop() now makes a connection to itself to handle + threadedserver.forcestop() now makes a connection to itself to handle + ThreadedServer.forceStop() now makes a connection to itself to handle non-premptive close. - + URIs accept all characters < 0xff. - + WEB-INF protected by NotFoundServlet rather than security constraint. + + uris accept all characters < 0xff. uris accept all characters < 0xff. uris + accept all characters < 0xff. URIs accept all characters < 0xff. + + web-inf protected by notfoundservlet rather than security constraint. + web-inf protected by notfoundservlet rather than security constraint. + WEB-INF protected by NotFoundServlet rather than security constraint. jetty-3.0.0.rc6 - 20 November 2000 - + Added ServletWriter that can be disabled. - + Added Win32 service support - + Admin servlet uses unique links for IE. - + Allow HttpMessage state to be manipulated. - + Allow load-on-startup with no content. - + Allow multiple set cookies. - + Corrected a few of the many spelling mistakes. - + don't include classes in release. - + Don't set connection:close for normal HTTP/1.0 responses. - + Don't start HttpServer log sink on add. - + Fixed RollOverFileLogSink bug with extra log files. - + Implemented customizable error pages. - + Implemented resource aliases in HandlerContext - used by Servlet Context - + Improved Log defaults - + Javadoc improvements. - + Map tablib configuration to resource aliases. - + Prevent reloading dynamic servlets at different paths. - + Put extra server and servlet info in header. - + Reduced risk of double null check sync problem. - + RequestDispatcher.forward() only resets buffer, not headers. - + RequestDispatcher new queries params replace old. - + Resource gets systemresources from it's own classloader. - + Servlet init order may be negative. - + Session cookies are given context path - + Sessions try version 1 cookies in set-cookie2 header. - + Simple stats in ContextLoader. - + Version details in header can be suppressed with System property + + added servletwriter that can be disabled. added servletwriter that can added + servletwriter that can be disabled. Added ServletWriter that can be + disabled. + + added win32 service support added win32 service support added win32 service + support Added Win32 service support + + admin servlet uses unique links for ie. admin servlet uses unique link admin + servlet uses unique links for ie. Admin servlet uses unique links for IE. + + allow httpmessage state to be manipulated. allow httpmessage state to allow + httpmessage state to be manipulated. Allow HttpMessage state to be + manipulated. + + allow load-on-startup with no content. allow load-on-startup with no allow + load-on-startup with no content. Allow load-on-startup with no content. + + allow multiple set cookies. allow multiple set cookies. allow multiple set + cookies. Allow multiple set cookies. + + corrected a few of the many spelling mistakes. corrected a few of the + corrected a few of the many spelling mistakes. Corrected a few of the many + spelling mistakes. + + don't include classes in release. don't include classes in release. don't + include classes in release. don't include classes in release. + + don't set connection:close for normal http/1.0 responses. don't set don't + set connection:close for normal http/1.0 responses. Don't set + connection:close for normal HTTP/1.0 responses. + + don't start httpserver log sink on add. don't start httpserver log sin don't + start httpserver log sink on add. Don't start HttpServer log sink on add. + + fixed rolloverfilelogsink bug with extra log files. fixed fixed + rolloverfilelogsink bug with extra log files. Fixed RollOverFileLogSink bug + with extra log files. + + implemented customizable error pages. implemented customizable error p + implemented customizable error pages. Implemented customizable error pages. + + implemented resource aliases in handlercontext - used by servlet conte + implemented resource aliases in handlercontext - used by servlet conte + Implemented resource aliases in HandlerContext - used by Servlet Context + + improved log defaults improved log defaults improved log defaults Improved + Log defaults + + javadoc improvements. javadoc improvements. javadoc improvements. Javadoc + improvements. + + map tablib configuration to resource aliases. map tablib configuration map + tablib configuration to resource aliases. Map tablib configuration to + resource aliases. + + prevent reloading dynamic servlets at different paths. prevent reloadi + prevent reloading dynamic servlets at different paths. Prevent reloading + dynamic servlets at different paths. + + put extra server and servlet info in header. put extra server and serv put + extra server and servlet info in header. Put extra server and servlet info + in header. + + reduced risk of double null check sync problem. reduced risk of double + reduced risk of double null check sync problem. Reduced risk of double null + check sync problem. + + requestdispatcher.forward() only resets buffer, not headers. + requestdispatcher.forward() only resets buffer, not headers. + RequestDispatcher.forward() only resets buffer, not headers. + + requestdispatcher new queries params replace old. requestdispatcher ne + requestdispatcher new queries params replace old. RequestDispatcher new + queries params replace old. + + resource gets systemresources from it's own classloader. resource gets + resource gets systemresources from it's own classloader. Resource gets + systemresources from it's own classloader. + + servlet init order may be negative. servlet init order may be negative + servlet init order may be negative. Servlet init order may be negative. + + session cookies are given context path session cookies are given conte + session cookies are given context path Session cookies are given context + path + + sessions try version 1 cookies in set-cookie2 header. sessions try ver + sessions try version 1 cookies in set-cookie2 header. Sessions try version 1 + cookies in set-cookie2 header. + + simple stats in contextloader. simple stats in contextloader. simple stats + in contextloader. Simple stats in ContextLoader. + + version details in header can be suppressed with system property versi + version details in header can be suppressed with system property Version + details in header can be suppressed with System property java.com.mortbay.HTTP.Version.paranoid - + Warn for missing WEB-INF or web.xml - + Webapps serve dynamics servlets by default. + + warn for missing web-inf or web.xml warn for missing web-inf or web.xm warn + for missing web-inf or web.xml Warn for missing WEB-INF or web.xml + + webapps serve dynamics servlets by default. webapps serve dynamics ser + webapps serve dynamics servlets by default. Webapps serve dynamics servlets + by default. jetty-3.0.0.rc5 - 12 November 2000 - + Added debug form to Admin servlet. - + Allow null cookie values - + Avoid jprobe race warnings in DateCache - + Default writer encoding set by mime type if not explicitly set. - + Implemented servlet load ordering. - + Many javadoc cleanups. - + Merged DynamicHandler into ServletHandler. - + Moved JSP classpath hack to ServletHolder - + Pass flush through ServletOut - + Relax webapp rules, accept no web.xml or no WEB-INF - + Removed Makefile build system. - + RequestDispatcher can dispatch static resources. - + Servlet exceptions cause 503 unavailable rather than 500 server error + + added debug form to admin servlet. added debug form to admin servlet. added + debug form to admin servlet. Added debug form to Admin servlet. + + allow null cookie values allow null cookie values allow null cookie values + Allow null cookie values + + avoid jprobe race warnings in datecache avoid jprobe race warnings in avoid + jprobe race warnings in datecache Avoid jprobe race warnings in DateCache + + default writer encoding set by mime type if not explicitly set. defaul + default writer encoding set by mime type if not explicitly set. Default + writer encoding set by mime type if not explicitly set. + + implemented servlet load ordering. implemented servlet load ordering. + implemented servlet load ordering. Implemented servlet load ordering. + + many javadoc cleanups. many javadoc cleanups. many javadoc cleanups. Many + javadoc cleanups. + + merged dynamichandler into servlethandler. merged dynamichandler into merged + dynamichandler into servlethandler. Merged DynamicHandler into + ServletHandler. + + moved jsp classpath hack to servletholder moved jsp classpath hack to moved + jsp classpath hack to servletholder Moved JSP classpath hack to + ServletHolder + + pass flush through servletout pass flush through servletout pass flush + through servletout Pass flush through ServletOut + + relax webapp rules, accept no web.xml or no web-inf relax webapp rules relax + webapp rules, accept no web.xml or no web-inf Relax webapp rules, accept no + web.xml or no WEB-INF + + removed makefile build system. removed makefile build system. removed + makefile build system. Removed Makefile build system. + + requestdispatcher can dispatch static resources. requestdispatcher can + requestdispatcher can dispatch static resources. RequestDispatcher can + dispatch static resources. + + servlet exceptions cause 503 unavailable rather than 500 server error + servlet exceptions cause 503 unavailable rather than 500 server error + Servlet exceptions cause 503 unavailable rather than 500 server error jetty-2.4.9 - 12 November 2000 - + HtmlFilter handles non default encodings - + HttpListener default max idle time = 20s - + HttpListener ignore InterruptedIOExceptions - + HttpRequest.write uses ISO8859_1 encoding. - + Writing HttpRequests encodes path + + htmlfilter handles non default encodings htmlfilter handles non defaul + htmlfilter handles non default encodings HtmlFilter handles non default + encodings + + httplistener default max idle time = 20s httplistener default max idle + httplistener default max idle time = 20s HttpListener default max idle time + = 20s + + httplistener ignore interruptedioexceptions httplistener ignore httplistener + ignore interruptedioexceptions HttpListener ignore InterruptedIOExceptions + + httprequest.write uses iso8859_1 encoding. httprequest.write uses iso8 + httprequest.write uses iso8859_1 encoding. HttpRequest.write uses ISO8859_1 + encoding. + + writing httprequests encodes path writing httprequests encodes path writing + httprequests encodes path Writing HttpRequests encodes path jetty-3.0.0.rc4 - 06 November 2000 - + Fixed mime type mapping bug introduced in RC3 - + Fixed mis-synchronization in ThreadPool.stop() - + Ignore more IOExceptions (still visible with debug). - + Provide default JettyIndex.properties + + fixed mime type mapping bug introduced in rc3 fixed mime type mapping fixed + mime type mapping bug introduced in rc3 Fixed mime type mapping bug + introduced in RC3 + + fixed mis-synchronization in threadpool.stop() fixed mis-synchronizati fixed + mis-synchronization in threadpool.stop() Fixed mis-synchronization in + ThreadPool.stop() + + ignore more ioexceptions (still visible with debug). ignore more ignore more + ioexceptions (still visible with debug). Ignore more IOExceptions (still + visible with debug). + + provide default jettyindex.properties provide default jettyindex.prope + provide default jettyindex.properties Provide default JettyIndex.properties jetty-3.0.0.rc3 - 05 November 2000 - + Added bin/jetty.sh run script. - + Added context class path dynamic servlet demo - + Added gz tgz tar.gz .z mime mappings. - + Added HandlerContext.setHttpServerAccess for trusted contexts. - + Changed ThreadPool.stop for IBM 1.3 JVM - + Fixed default mimemap initialization bug - + Further clean up of the connection close actions - + Handle mime suffixes containing dots. - + Implemented mime mapping in webapplications. - + Moved unused classes from com.mortbay.Util to com.mortbay.Tools in new + + added bin/jetty.sh run script. added bin/jetty.sh run script. added + bin/jetty.sh run script. Added bin/jetty.sh run script. + + added context class path dynamic servlet demo added context class path added + context class path dynamic servlet demo Added context class path dynamic + servlet demo + + added gz tgz tar.gz .z mime mappings. added gz tgz tar.gz .z mime mapp added + gz tgz tar.gz .z mime mappings. Added gz tgz tar.gz .z mime mappings. + + added handlercontext.sethttpserveraccess for trusted contexts. added added + handlercontext.sethttpserveraccess for trusted contexts. Added + HandlerContext.setHttpServerAccess for trusted contexts. + + changed threadpool.stop for ibm 1.3 jvm changed threadpool.stop for ib + changed threadpool.stop for ibm 1.3 jvm Changed ThreadPool.stop for IBM 1.3 + JVM + + fixed default mimemap initialization bug fixed default mimemap fixed default + mimemap initialization bug Fixed default mimemap initialization bug + + further clean up of the connection close actions further clean up of t + further clean up of the connection close actions Further clean up of the + connection close actions + + handle mime suffixes containing dots. handle mime suffixes containing + handle mime suffixes containing dots. Handle mime suffixes containing dots. + + implemented mime mapping in webapplications. implemented mime mapping + implemented mime mapping in webapplications. Implemented mime mapping in + webapplications. + + moved unused classes from com.mortbay.util to com.mortbay.tools in new moved + unused classes from com.mortbay.util to com.mortbay.tools in new Moved + unused classes from com.mortbay.Util to com.mortbay.Tools in new distribution package. - + Optimized persistent connections by recycling objects - + Prevent servlet setAttribute calls to protected context attributes. - + Removed redundant context attributes. - + Set MaxReadTimeMs in all examples - + Set the thread context class loader in HandlerContext.handle - + Strip ./ from relative resources. - + upgraded build.xml to ant v1.2 + + optimized persistent connections by recycling objects optimized persis + optimized persistent connections by recycling objects Optimized persistent + connections by recycling objects + + prevent servlet setattribute calls to protected context attributes. pr + prevent servlet setattribute calls to protected context attributes. Prevent + servlet setAttribute calls to protected context attributes. + + removed redundant context attributes. removed redundant context attrib + removed redundant context attributes. Removed redundant context attributes. + + set maxreadtimems in all examples set maxreadtimems in all examples set + maxreadtimems in all examples Set MaxReadTimeMs in all examples + + set the thread context class loader in handlercontext.handle set the t set + the thread context class loader in handlercontext.handle Set the thread + context class loader in HandlerContext.handle + + strip ./ from relative resources. strip ./ from relative resources. strip ./ + from relative resources. Strip ./ from relative resources. + + upgraded build.xml to ant v1.2 upgraded build.xml to ant v1.2 upgraded + build.xml to ant v1.2 upgraded build.xml to ant v1.2 jetty-3.0.0.rc2 - 29 October 2000 - + Accept HTTP/1. as HTTP/1.0 (for netscape bug). - + Accept public DTD for XmlConfiguration (old style still supported). - + Cleaned up non persistent connection close. - + ErlEncoding treats params without values as empty rather than null. - + Fixed thread name problem in ThreadPool - + Pass file based classpath to JspServlet (see README). - + Prevented multiple init of ServletHolder - + Replaced ISO-8859-1 literals with StringUtil static + + accept http/1. as http/1.0 (for netscape bug). accept http/1. as http/ + accept http/1. as http/1.0 (for netscape bug). Accept HTTP/1. as HTTP/1.0 + (for netscape bug). + + accept public dtd for xmlconfiguration (old style still supported). ac + accept public dtd for xmlconfiguration (old style still supported). Accept + public DTD for XmlConfiguration (old style still supported). + + cleaned up non persistent connection close. cleaned up non persistent + cleaned up non persistent connection close. Cleaned up non persistent + connection close. + + erlencoding treats params without values as empty rather than null. + erlencoding treats params without values as empty rather than null. + ErlEncoding treats params without values as empty rather than null. + + fixed thread name problem in threadpool fixed thread name problem in fixed + thread name problem in threadpool Fixed thread name problem in ThreadPool + + pass file based classpath to jspservlet (see readme). pass file based pass + file based classpath to jspservlet (see readme). Pass file based classpath + to JspServlet (see README). + + prevented multiple init of servletholder prevented multiple init of + prevented multiple init of servletholder Prevented multiple init of + ServletHolder + + replaced iso-8859-1 literals with stringutil static replaced iso-8859- + replaced iso-8859-1 literals with stringutil static Replaced ISO-8859-1 + literals with StringUtil static jetty-3.0.0.rc1 - 22 October 2000 - + Added CGI to demo - + Added HashUserRealm and cleaned up security constraints - + Added Multipart request and response classes from Jetty2 - + Added simple admin servlet. - + All attributes in javax. java. and com.mortbay. name spaces to be set. - + Cleaned up exception handling. - + Initialize JSP with classloader. - + Moved and simplified ServletLoader to ContextLoader. - + Partial handling of 0.9 requests. - + removed Thread.destroy() calls. + + added cgi to demo added cgi to demo added cgi to demo Added CGI to demo + + added hashuserrealm and cleaned up security constraints added hashuser added + hashuserrealm and cleaned up security constraints Added HashUserRealm and + cleaned up security constraints + + added multipart request and response classes from jetty2 added multipa added + multipart request and response classes from jetty2 Added Multipart request + and response classes from Jetty2 + + added simple admin servlet. added simple admin servlet. added simple admin + servlet. Added simple admin servlet. + + all attributes in javax. java. and com.mortbay. name spaces to be set. all + attributes in javax. java. and com.mortbay. name spaces to be set. All + attributes in javax. java. and com.mortbay. name spaces to be set. + + cleaned up exception handling. cleaned up exception handling. cleaned up + exception handling. Cleaned up exception handling. + + initialize jsp with classloader. initialize jsp with classloader. initialize + jsp with classloader. Initialize JSP with classloader. + + moved and simplified servletloader to contextloader. moved and simplif moved + and simplified servletloader to contextloader. Moved and simplified + ServletLoader to ContextLoader. + + partial handling of 0.9 requests. partial handling of 0.9 requests. partial + handling of 0.9 requests. Partial handling of 0.9 requests. + + removed thread.destroy() calls. removed thread.destroy() calls. removed + thread.destroy() calls. removed Thread.destroy() calls. jetty-2.4.8 - 23 October 2000 - + Fixed bug with 304 replies with bodies. - + Fixed closing socket problem - + Improved win32 make files. + + fixed bug with 304 replies with bodies. fixed bug with 304 replies wit fixed + bug with 304 replies with bodies. Fixed bug with 304 replies with bodies. + + fixed closing socket problem fixed closing socket problem fixed closing + socket problem Fixed closing socket problem + + improved win32 make files. improved win32 make files. improved win32 make + files. Improved win32 make files. jetty-3.0.B05 - 18 October 2000 - + Added default webapp servlet mapping /servlet/name/* - + Cleaned up response committing and flushing - + Fixed JarFileResource to handle jar files without directories. - + Handler RFC2109 cookies (like any browser handles them!) - + Implemented security-role-ref for servlets - + Implemented war file support - + improved ant documentation. - + Improved default log format for clarity. - + Improved null returns to get almost clean watchdog test. - + Improved path spec interpretation by looking at 2.3 spec - + Java2 style classloading - + Made test harnesses work with ant. - + Protected servletConfig from downcast security problems - + Removed most deprecation warnings - + Separated context attributes and initParams. + + added default webapp servlet mapping /servlet/name/* added default web added + default webapp servlet mapping /servlet/name/* Added default webapp servlet + mapping /servlet/name/* + + cleaned up response committing and flushing cleaned up response commit + cleaned up response committing and flushing Cleaned up response committing + and flushing + + fixed jarfileresource to handle jar files without directories. fixed fixed + jarfileresource to handle jar files without directories. Fixed + JarFileResource to handle jar files without directories. + + handler rfc2109 cookies (like any browser handles them!) handler rfc21 + handler rfc2109 cookies (like any browser handles them!) Handler RFC2109 + cookies (like any browser handles them!) + + implemented security-role-ref for servlets implemented security-role-r + implemented security-role-ref for servlets Implemented security-role-ref for + servlets + + implemented war file support implemented war file support implemented war + file support Implemented war file support + + improved ant documentation. improved ant documentation. improved ant + documentation. improved ant documentation. + + improved default log format for clarity. improved default log format f + improved default log format for clarity. Improved default log format for + clarity. + + improved null returns to get almost clean watchdog test. improved null + improved null returns to get almost clean watchdog test. Improved null + returns to get almost clean watchdog test. + + improved path spec interpretation by looking at 2.3 spec improved path + improved path spec interpretation by looking at 2.3 spec Improved path spec + interpretation by looking at 2.3 spec + + java2 style classloading java2 style classloading java2 style classloading + Java2 style classloading + + made test harnesses work with ant. made test harnesses work with ant. made + test harnesses work with ant. Made test harnesses work with ant. + + protected servletconfig from downcast security problems protected protected + servletconfig from downcast security problems Protected servletConfig from + downcast security problems + + removed most deprecation warnings removed most deprecation warnings removed + most deprecation warnings Removed most deprecation warnings + + separated context attributes and initparams. separated context attribu + separated context attributes and initparams. Separated context attributes + and initParams. jetty-3.0.B04 - 12 October 2000 - + Added modified version of JasperB3.2 for JSP - + Added webdefault.xml for web applications. - + Do not try multiple servlets for a request. - + Filthy hack to teach jasper JspServer Jetty classpath - + Fixed problem with session ID in paths - + Implemented Context.getContext(uri) - + Merged and renamed third party jars. - + Moved FileBase to docroot - + Redirect to index files, so index.jsp works. - + Restricted context mapping to simple model for servlets. + + added modified version of jasperb3.2 for jsp added modified version of added + modified version of jasperb3.2 for jsp Added modified version of JasperB3.2 + for JSP + + added webdefault.xml for web applications. added webdefault.xml for we added + webdefault.xml for web applications. Added webdefault.xml for web + applications. + + do not try multiple servlets for a request. do not try multiple servle do + not try multiple servlets for a request. Do not try multiple servlets for a + request. + + filthy hack to teach jasper jspserver jetty classpath filthy hack to t + filthy hack to teach jasper jspserver jetty classpath Filthy hack to teach + jasper JspServer Jetty classpath + + fixed problem with session id in paths fixed problem with session id i fixed + problem with session id in paths Fixed problem with session ID in paths + + implemented context.getcontext(uri) implemented context.getcontext(uri + implemented context.getcontext(uri) Implemented Context.getContext(uri) + + merged and renamed third party jars. merged and renamed third party ja + merged and renamed third party jars. Merged and renamed third party jars. + + moved filebase to docroot moved filebase to docroot moved filebase to + docroot Moved FileBase to docroot + + redirect to index files, so index.jsp works. redirect to index files, + redirect to index files, so index.jsp works. Redirect to index files, so + index.jsp works. + + restricted context mapping to simple model for servlets. restricted co + restricted context mapping to simple model for servlets. Restricted context + mapping to simple model for servlets. jetty-3.0.B03 - 09 October 2000 - + Added append mode in RolloverFileLogSink - + Added release script - + Catch stop and destroy exceptions in HttpServer.stop() - + Expanded import package.*; lines - + Expanded leading tabs to spaces - + Handle ignorable spaces in WebApplication - + Handle ignorable spaces in XmlConfiguration - + Implemented request dispatching. - + Improved Context to Handler contract. - + Improved handler toString - + Improved Log rollover. - + Made LogSink a Lifecycle interface - + Parse but not handler startup ordering in web applications. - + Pass object to LogSink - + Redirect context only paths. - + Redo dynamic servlets handling - + Remove 411 checks as IE breaks this rule after redirect. - + Removed last remnants JDK 1.1 support - + Send request log via a LogSink - + Simplified path translation and real path calculation. - + Warn about explicit sets of WebApplication + + added append mode in rolloverfilelogsink added append mode in added append + mode in rolloverfilelogsink Added append mode in RolloverFileLogSink + + added release script added release script added release script Added release + script + + catch stop and destroy exceptions in httpserver.stop() catch stop and catch + stop and destroy exceptions in httpserver.stop() Catch stop and destroy + exceptions in HttpServer.stop() + + expanded import package.*; lines expanded import package.*; lines expanded + import package.*; lines Expanded import package.*; lines + + expanded leading tabs to spaces expanded leading tabs to spaces expanded + leading tabs to spaces Expanded leading tabs to spaces + + handle ignorable spaces in webapplication handle ignorable spaces in handle + ignorable spaces in webapplication Handle ignorable spaces in WebApplication + + handle ignorable spaces in xmlconfiguration handle ignorable spaces in + handle ignorable spaces in xmlconfiguration Handle ignorable spaces in + XmlConfiguration + + implemented request dispatching. implemented request dispatching. + implemented request dispatching. Implemented request dispatching. + + improved context to handler contract. improved context to handler cont + improved context to handler contract. Improved Context to Handler contract. + + improved handler tostring improved handler tostring improved handler + tostring Improved handler toString + + improved log rollover. improved log rollover. improved log rollover. + Improved Log rollover. + + made logsink a lifecycle interface made logsink a lifecycle interface made + logsink a lifecycle interface Made LogSink a Lifecycle interface + + parse but not handler startup ordering in web applications. parse but parse + but not handler startup ordering in web applications. Parse but not handler + startup ordering in web applications. + + pass object to logsink pass object to logsink pass object to logsink Pass + object to LogSink + + redirect context only paths. redirect context only paths. redirect context + only paths. Redirect context only paths. + + redo dynamic servlets handling redo dynamic servlets handling redo dynamic + servlets handling Redo dynamic servlets handling + + remove 411 checks as ie breaks this rule after redirect. remove 411 ch + remove 411 checks as ie breaks this rule after redirect. Remove 411 checks + as IE breaks this rule after redirect. + + removed last remnants jdk 1.1 support removed last remnants jdk 1.1 su + removed last remnants jdk 1.1 support Removed last remnants JDK 1.1 support + + send request log via a logsink send request log via a logsink send request + log via a logsink Send request log via a LogSink + + simplified path translation and real path calculation. simplified path + simplified path translation and real path calculation. Simplified path + translation and real path calculation. + + warn about explicit sets of webapplication warn about explicit sets of warn + about explicit sets of webapplication Warn about explicit sets of + WebApplication jetty-2.4.7 - 06 October 2000 - + Added encode methods to URI - + Allow Objects to be passed to LogSink - + fixes to SSL doco - + Improved win32 build - + Set content length on errors for keep alive. - + Support key and keystore passwords - + Various improvements to ServletDispatch, PropertyTree and associated + + added encode methods to uri added encode methods to uri added encode methods + to uri Added encode methods to URI + + allow objects to be passed to logsink allow objects to be passed to lo allow + objects to be passed to logsink Allow Objects to be passed to LogSink + + fixes to ssl doco fixes to ssl doco fixes to ssl doco fixes to SSL doco + + improved win32 build improved win32 build improved win32 build Improved + win32 build + + set content length on errors for keep alive. set content length on err set + content length on errors for keep alive. Set content length on errors for + keep alive. + + support key and keystore passwords support key and keystore passwords + support key and keystore passwords Support key and keystore passwords + + various improvements to servletdispatch, propertytree and associated + various improvements to servletdispatch, propertytree and associated + Various improvements to ServletDispatch, PropertyTree and associated classes. jetty-3.0.B02 - 24 August 2000 - + Added CGI servlet - + Fixed bug in TestRFC2616 - + Fixed HTTP/1.0 input close bug - + Fixed LineInput bug with SSL giving CR pause LF. - + Improved ThreadedServer stop and destroy - + Use resources in WebApplication + + added cgi servlet added cgi servlet added cgi servlet Added CGI servlet + + fixed bug in testrfc2616 fixed bug in testrfc2616 fixed bug in testrfc2616 + Fixed bug in TestRFC2616 + + fixed http/1.0 input close bug fixed http/1.0 input close bug fixed http/1.0 + input close bug Fixed HTTP/1.0 input close bug + + fixed lineinput bug with ssl giving cr pause lf. fixed lineinput bug w fixed + lineinput bug with ssl giving cr pause lf. Fixed LineInput bug with SSL + giving CR pause LF. + + improved threadedserver stop and destroy improved threadedserver stop + improved threadedserver stop and destroy Improved ThreadedServer stop and + destroy + + use resources in webapplication use resources in webapplication use + resources in webapplication Use resources in WebApplication jetty-3.0.B01 - 21 August 2000 - + Implemented more webapp configuration - + Partial implementation of webapp securitycontraints - + SSL implemented with JsseListener - + Switched to the aelfred XML parser from microstar, which is only partially + + implemented more webapp configuration implemented more webapp configur + implemented more webapp configuration Implemented more webapp configuration + + partial implementation of webapp securitycontraints partial implementa + partial implementation of webapp securitycontraints Partial implementation + of webapp securitycontraints + + ssl implemented with jsselistener ssl implemented with jsselistener ssl + implemented with jsselistener SSL implemented with JsseListener + + switched to the aelfred xml parser from microstar, which is only parti + switched to the aelfred xml parser from microstar, which is only parti + Switched to the aelfred XML parser from microstar, which is only partially validating, but small and lightweight jetty-2.4.6 - 16 August 2000 - + Added passive mode methods to FTP - + com.mortbay.Util.KeyPairTool added to handle openSSL SSL keys. - + JsseListener & SunJsseListener added and documented - + Minor changes to compile with jikes. - + Turn Linger off before closing sockets, to allow restart. + + added passive mode methods to ftp added passive mode methods to ftp added + passive mode methods to ftp Added passive mode methods to FTP + + com.mortbay.util.keypairtool added to handle openssl ssl keys. + com.mortbay.util.keypairtool added to handle openssl ssl keys. + com.mortbay.Util.KeyPairTool added to handle openSSL SSL keys. + + jsselistener & sunjsselistener added and documented jsselistener & + jsselistener & sunjsselistener added and documented JsseListener & + SunJsseListener added and documented + + minor changes to compile with jikes. minor changes to compile with jik minor + changes to compile with jikes. Minor changes to compile with jikes. + + turn linger off before closing sockets, to allow restart. turn linger turn + linger off before closing sockets, to allow restart. Turn Linger off before + closing sockets, to allow restart. jetty-3.0.A99 - 10 August 2000 - + Added Resource abstraction - + Added Xmlconfiguration utility - + Implemented jetty.xml configuration - + Make it compile cleanly with jikes. - + Re-added commented out imports for JDK-1.1 compile - + Removed FileBase. Now use ResourceBase instead - + Replaced FileHandler with ResourceHandler - + ServletLoader simplied and uses ResourcePath - + Use SAX XML parsing instead of DOM for space saving. + + added resource abstraction added resource abstraction added resource + abstraction Added Resource abstraction + + added xmlconfiguration utility added xmlconfiguration utility added + xmlconfiguration utility Added Xmlconfiguration utility + + implemented jetty.xml configuration implemented jetty.xml configuratio + implemented jetty.xml configuration Implemented jetty.xml configuration + + make it compile cleanly with jikes. make it compile cleanly with jikes make + it compile cleanly with jikes. Make it compile cleanly with jikes. + + re-added commented out imports for jdk-1.1 compile re-added commented + re-added commented out imports for jdk-1.1 compile Re-added commented out + imports for JDK-1.1 compile + + removed filebase. now use resourcebase instead removed filebase. now u + removed filebase. now use resourcebase instead Removed FileBase. Now use + ResourceBase instead + + replaced filehandler with resourcehandler replaced filehandler with replaced + filehandler with resourcehandler Replaced FileHandler with ResourceHandler + + servletloader simplied and uses resourcepath servletloader simplied an + servletloader simplied and uses resourcepath ServletLoader simplied and uses + ResourcePath + + use sax xml parsing instead of dom for space saving. use sax xml parsi use + sax xml parsing instead of dom for space saving. Use SAX XML parsing instead + of DOM for space saving. jetty-3.0.A98 - 20 July 2000 - + Allow HttpRequest.toString() handles bad requests. - + Fixed constructor to RolloverFileLogSink - + Implemented Jetty demos and Site as Web Application. - + Implemented WebApplicationContext - + Improved synchronization on LogSink - + ServletRequest.getServerPort() returns 80 rather than 0 - + Switched to JDK1.2 only + + allow httprequest.tostring() handles bad requests. allow allow + httprequest.tostring() handles bad requests. Allow HttpRequest.toString() + handles bad requests. + + fixed constructor to rolloverfilelogsink fixed constructor to fixed + constructor to rolloverfilelogsink Fixed constructor to RolloverFileLogSink + + implemented jetty demos and site as web application. implemented jetty + implemented jetty demos and site as web application. Implemented Jetty demos + and Site as Web Application. + + implemented webapplicationcontext implemented webapplicationcontext + implemented webapplicationcontext Implemented WebApplicationContext + + improved synchronization on logsink improved synchronization on logsin + improved synchronization on logsink Improved synchronization on LogSink + + servletrequest.getserverport() returns 80 rather than 0 + servletrequest.getserverport() returns 80 rather than 0 + ServletRequest.getServerPort() returns 80 rather than 0 + + switched to jdk1.2 only switched to jdk1.2 only switched to jdk1.2 only + Switched to JDK1.2 only jetty-3.0.A97 - 13 July 2000 - + Added error handling to LifeCycleThread - + Added WML mappings - + Better tuned SocketListener parameters - + Fixed makefiles for BSD ls - + Fixed persistent commits with no content (eg redirect+keep-alive). - + Formatted version in server info string. - + implemented removeAttribute on requests - + Implemented servlet getLocale(s). - + Implemented servlet isSecure(). - + Less verbose debug - + Protect setContentLength from a late set in default servlet HEAD handling. - + Started RequestDispatcher implementation. - + Tempory request log implementation + + added error handling to lifecyclethread added error handling to added error + handling to lifecyclethread Added error handling to LifeCycleThread + + added wml mappings added wml mappings added wml mappings Added WML mappings + + better tuned socketlistener parameters better tuned socketlistener better + tuned socketlistener parameters Better tuned SocketListener parameters + + fixed makefiles for bsd ls fixed makefiles for bsd ls fixed makefiles for + bsd ls Fixed makefiles for BSD ls + + fixed persistent commits with no content (eg redirect+keep-alive). fix fixed + persistent commits with no content (eg redirect+keep-alive). Fixed + persistent commits with no content (eg redirect+keep-alive). + + formatted version in server info string. formatted version in server i + formatted version in server info string. Formatted version in server info + string. + + implemented removeattribute on requests implemented removeattribute on + implemented removeattribute on requests implemented removeAttribute on + requests + + implemented servlet getlocale(s). implemented servlet getlocale(s). + implemented servlet getlocale(s). Implemented servlet getLocale(s). + + implemented servlet issecure(). implemented servlet issecure(). implemented + servlet issecure(). Implemented servlet isSecure(). + + less verbose debug less verbose debug less verbose debug Less verbose debug + + protect setcontentlength from a late set in default servlet head handl + protect setcontentlength from a late set in default servlet head handl + Protect setContentLength from a late set in default servlet HEAD handling. + + started requestdispatcher implementation. started requestdispatcher started + requestdispatcher implementation. Started RequestDispatcher implementation. + + tempory request log implementation tempory request log implementation + tempory request log implementation Tempory request log implementation jetty-2.4.5 - 09 July 2000 - + Added HtmlExpireFilter and removed response cache revention from HtmlFilter. - + Don't mark a session invalid until after values unbound. - + Fixed transaction handling in JDBC wrappers - + Formatted version in server info. + + added htmlexpirefilter and removed response cache revention from htmlf added + htmlexpirefilter and removed response cache revention from htmlf Added + HtmlExpireFilter and removed response cache revention from HtmlFilter. + + don't mark a session invalid until after values unbound. don't mark a don't + mark a session invalid until after values unbound. Don't mark a session + invalid until after values unbound. + + fixed transaction handling in jdbc wrappers fixed transaction handling fixed + transaction handling in jdbc wrappers Fixed transaction handling in JDBC + wrappers + + formatted version in server info. formatted version in server info. + formatted version in server info. Formatted version in server info. jetty-3.0.A96 - 27 June 2000 - + Fixed bug with HTTP/1.1 Head reqests to servlets. - + Supressed un-needed chunking EOF indicators. + + fixed bug with http/1.1 head reqests to servlets. fixed bug with http/ fixed + bug with http/1.1 head reqests to servlets. Fixed bug with HTTP/1.1 Head + reqests to servlets. + + supressed un-needed chunking eof indicators. supressed un-needed chunk + supressed un-needed chunking eof indicators. Supressed un-needed chunking + EOF indicators. jetty-3.0.A95 - 24 June 2000 - + Fixed getServletPath for default "/" - + Handle spaces in file names in FileHandler. + + fixed getservletpath for default "/" fixed getservletpath for default fixed + getservletpath for default "/" Fixed getServletPath for default "/" + + handle spaces in file names in filehandler. handle spaces in file name + handle spaces in file names in filehandler. Handle spaces in file names in + FileHandler. jetty-3.0.A94 - 19 June 2000 - + Added HandlerContext to allow grouping of handlers into units with the same - file, resource and class configurations. - + Cleaned up commit() and added complete() to HttpResponse - + Implemented Sessions. - + PathMap exact matches can terminate with ; or # for URL sessions and - targets. - + Updated license to clarify that commercial usage IS OK! + + added handlercontext to allow grouping of handlers into units with the added + handlercontext to allow grouping of handlers into units with the Added + HandlerContext to allow grouping of handlers into units with the same file, + resource and class configurations. + + cleaned up commit() and added complete() to httpresponse cleaned up co + cleaned up commit() and added complete() to httpresponse Cleaned up commit() + and added complete() to HttpResponse + + implemented sessions. implemented sessions. implemented sessions. + Implemented Sessions. + + pathmap exact matches can terminate with ; or # for url sessions and p + pathmap exact matches can terminate with ; or # for url sessions and PathMap + exact matches can terminate with ; or # for URL sessions and targets. + + updated license to clarify that commercial usage is ok! updated licens + updated license to clarify that commercial usage is ok! Updated license to + clarify that commercial usage IS OK! jetty-3.0.A93 - 14 June 2000 - + Lots of changes and probably unstable - + Major rethink! Moved to 2.2 servlet API + + lots of changes and probably unstable lots of changes and probably uns lots + of changes and probably unstable Lots of changes and probably unstable + + major rethink! moved to 2.2 servlet api major rethink! moved to 2.2 se major + rethink! moved to 2.2 servlet api Major rethink! Moved to 2.2 servlet API jetty-3.0.A92 - 07 June 2000 - + Added HTML classes to jar - + Fixed redirection bug in FileHandler + + added html classes to jar added html classes to jar added html classes to + jar Added HTML classes to jar + + fixed redirection bug in filehandler fixed redirection bug in filehand fixed + redirection bug in filehandler Fixed redirection bug in FileHandler jetty-2.4.4 - 03 June 2000 - + Added build-win32.mak - + Added HTML.Composite.replace - + Added RolloverFileLogSink - + Added uk.org.gosnell.Servlets.CgiServlet to contrib - + BasicAuthHandler uses getResourcePath so it can be used behind request + + added build-win32.mak added build-win32.mak added build-win32.mak Added + build-win32.mak + + added html.composite.replace added html.composite.replace added + html.composite.replace Added HTML.Composite.replace + + added rolloverfilelogsink added rolloverfilelogsink added + rolloverfilelogsink Added RolloverFileLogSink + + added uk.org.gosnell.servlets.cgiservlet to contrib added added + uk.org.gosnell.servlets.cgiservlet to contrib Added + uk.org.gosnell.Servlets.CgiServlet to contrib + + basicauthhandler uses getresourcepath so it can be used behind request + basicauthhandler uses getresourcepath so it can be used behind request + BasicAuthHandler uses getResourcePath so it can be used behind request dispatching - + FileHandler implements IfModifiedSince on index files. - + HttpRequest.setRequestPath does not null pathInfo. - + Improved LogSink configuration - + Many debug call optimizations - + Support System.property expansions in PropertyTrees. + + filehandler implements ifmodifiedsince on index files. filehandler + filehandler implements ifmodifiedsince on index files. FileHandler + implements IfModifiedSince on index files. + + httprequest.setrequestpath does not null pathinfo. + httprequest.setrequestpath does not null pathinfo. + HttpRequest.setRequestPath does not null pathInfo. + + improved logsink configuration improved logsink configuration improved + logsink configuration Improved LogSink configuration + + many debug call optimizations many debug call optimizations many debug call + optimizations Many debug call optimizations + + support system.property expansions in propertytrees. support system.pr + support system.property expansions in propertytrees. Support System.property + expansions in PropertyTrees. jetty-3.0.A91 - 03 June 2000 - + Abstracted ServletHandler - + Added HTML classes from Jetty2 - + Implemented realPath and getResource methods for servlets. - + Improved LogSink mechanism - + Simplified class loading - + Simplified HttpServer configuration methods and arguments + + abstracted servlethandler abstracted servlethandler abstracted + servlethandler Abstracted ServletHandler + + added html classes from jetty2 added html classes from jetty2 added html + classes from jetty2 Added HTML classes from Jetty2 + + implemented realpath and getresource methods for servlets. implemented + implemented realpath and getresource methods for servlets. Implemented + realPath and getResource methods for servlets. + + improved logsink mechanism improved logsink mechanism improved logsink + mechanism Improved LogSink mechanism + + simplified class loading simplified class loading simplified class loading + Simplified class loading + + simplified httpserver configuration methods and arguments simplified + simplified httpserver configuration methods and arguments Simplified + HttpServer configuration methods and arguments jetty-3.0.A9 - 07 May 2000 - + File handler checks modified headers on directory indexes. - + Fixed double chunking bug in SocketListener. - + Improvided finally handling of output end game. - + ServletLoader tries unix then platform separator for zip separator. + + file handler checks modified headers on directory indexes. file handle file + handler checks modified headers on directory indexes. File handler checks + modified headers on directory indexes. + + fixed double chunking bug in socketlistener. fixed double chunking bug fixed + double chunking bug in socketlistener. Fixed double chunking bug in + SocketListener. + + improvided finally handling of output end game. improvided finally han + improvided finally handling of output end game. Improvided finally handling + of output end game. + + servletloader tries unix then platform separator for zip separator. + servletloader tries unix then platform separator for zip separator. + ServletLoader tries unix then platform separator for zip separator. jetty-3.0.A8 - 04 May 2000 - + addCookie takes an int maxAge rather than a expires date. - + Added LogSink extensible log architecture. - + Added Tenlet class for reverse telnet. - + Code.ignore only outputs when debug is verbose. - + Moved Sevlet2_1 handler to com.mortbay.Servlet2_1 - + Servlet2_1 class loading re-acrchitected. See README. + + addcookie takes an int maxage rather than a expires date. addcookie ta + addcookie takes an int maxage rather than a expires date. addCookie takes an + int maxAge rather than a expires date. + + added logsink extensible log architecture. added logsink extensible lo added + logsink extensible log architecture. Added LogSink extensible log + architecture. + + added tenlet class for reverse telnet. added tenlet class for reverse added + tenlet class for reverse telnet. Added Tenlet class for reverse telnet. + + code.ignore only outputs when debug is verbose. code.ignore only outpu + code.ignore only outputs when debug is verbose. Code.ignore only outputs + when debug is verbose. + + moved sevlet2_1 handler to com.mortbay.servlet2_1 moved sevlet2_1 hand moved + sevlet2_1 handler to com.mortbay.servlet2_1 Moved Sevlet2_1 handler to + com.mortbay.Servlet2_1 + + servlet2_1 class loading re-acrchitected. see readme. servlet2_1 class + servlet2_1 class loading re-acrchitected. see readme. Servlet2_1 class + loading re-acrchitected. See README. jetty-2.4.3 - 04 May 2000 - + Allow CRLF in UrlEncoded - + Pass Cookies with 0 max age to browser. + + allow crlf in urlencoded allow crlf in urlencoded allow crlf in urlencoded + Allow CRLF in UrlEncoded + + pass cookies with 0 max age to browser. pass cookies with 0 max age to pass + cookies with 0 max age to browser. Pass Cookies with 0 max age to browser. jetty-2.4.2 - 23 April 2000 - + Added GNUJSP to JettyServer.prp file. - + Added LogSink and FileLogSink classes to allow extensible Log handling. - + Handle nested RequestDispatcher includes. - + Modified GNUJSP to prevent close in nested requests. + + added gnujsp to jettyserver.prp file. added gnujsp to jettyserver.prp added + gnujsp to jettyserver.prp file. Added GNUJSP to JettyServer.prp file. + + added logsink and filelogsink classes to allow extensible log handling added + logsink and filelogsink classes to allow extensible log handling Added + LogSink and FileLogSink classes to allow extensible Log handling. + + handle nested requestdispatcher includes. handle nested requestdispatc + handle nested requestdispatcher includes. Handle nested RequestDispatcher + includes. + + modified gnujsp to prevent close in nested requests. modified gnujsp t + modified gnujsp to prevent close in nested requests. Modified GNUJSP to + prevent close in nested requests. jetty-3.0.A7 - 15 April 2000 - + Added InetGateway to help debug IE5 problems - + added removeValue method to MultiMap - + fixed flush problem with chunked output for IE5 - + Include java 1.2 source hierarchy - + removed excess ';' from source + + added inetgateway to help debug ie5 problems added inetgateway to help added + inetgateway to help debug ie5 problems Added InetGateway to help debug IE5 + problems + + added removevalue method to multimap added removevalue method to multi added + removevalue method to multimap added removeValue method to MultiMap + + fixed flush problem with chunked output for ie5 fixed flush problem wi fixed + flush problem with chunked output for ie5 fixed flush problem with chunked + output for IE5 + + include java 1.2 source hierarchy include java 1.2 source hierarchy include + java 1.2 source hierarchy Include java 1.2 source hierarchy + + removed excess ';' from source removed excess ';' from source removed excess + ';' from source removed excess ';' from source jetty-2.4.1 - 09 April 2000 - + Fixed bug in HtmlFilter for tags split between writes. - + Removed debug println from ServletHolder. - + Set encoding before exception in FileHandler. + + fixed bug in htmlfilter for tags split between writes. fixed bug in fixed + bug in htmlfilter for tags split between writes. Fixed bug in HtmlFilter for + tags split between writes. + + removed debug println from servletholder. removed debug println from removed + debug println from servletholder. Removed debug println from ServletHolder. + + set encoding before exception in filehandler. set encoding before exce set + encoding before exception in filehandler. Set encoding before exception in + FileHandler. jetty-3.0.A6 - 09 April 2000 - + added bin/useJava2Collections to convert to JDK1.2 - + Dates forced to use US locale - + Improved portability of Frame and Debug. - + Integrated skeleton 2.1 Servlet container - + Removed Converter utilities and InetGateway. + + added bin/usejava2collections to convert to jdk1.2 added added + bin/usejava2collections to convert to jdk1.2 added bin/useJava2Collections + to convert to JDK1.2 + + dates forced to use us locale dates forced to use us locale dates forced to + use us locale Dates forced to use US locale + + improved portability of frame and debug. improved portability of frame + improved portability of frame and debug. Improved portability of Frame and + Debug. + + integrated skeleton 2.1 servlet container integrated skeleton 2.1 serv + integrated skeleton 2.1 servlet container Integrated skeleton 2.1 Servlet + container + + removed converter utilities and inetgateway. removed converter utiliti + removed converter utilities and inetgateway. Removed Converter utilities and + InetGateway. jetty-2.4.0 - 24 March 2000 - + Absolute URIs are returned by getRequestURI (if sent by browser). - + Added doc directory with a small start - + Added per servlet resourceBase configuration. - + Added VirtualHostHandler for virtual host handling - + Fixed bug with RequestDispatcher.include() - + Fixed caste problem in UrlEncoded - + Fixed null pointer in ThreadedServer with stopAll - + Form parameters only decoded for POSTs - + Implemented full handling of cookie max age. - + Improved parsing of stack trace in debug mode. - + Moved SetUID native code to contrib hierarchy - + RequestDispatcher handles URI parameters - + Upgraded to gnujsp 1.0.0 + + absolute uris are returned by getrequesturi (if sent by browser). abso + absolute uris are returned by getrequesturi (if sent by browser). Absolute + URIs are returned by getRequestURI (if sent by browser). + + added doc directory with a small start added doc directory with a smal added + doc directory with a small start Added doc directory with a small start + + added per servlet resourcebase configuration. added per servlet resour added + per servlet resourcebase configuration. Added per servlet resourceBase + configuration. + + added virtualhosthandler for virtual host handling added virtualhostha added + virtualhosthandler for virtual host handling Added VirtualHostHandler for + virtual host handling + + fixed bug with requestdispatcher.include() fixed bug with fixed bug with + requestdispatcher.include() Fixed bug with RequestDispatcher.include() + + fixed caste problem in urlencoded fixed caste problem in urlencoded fixed + caste problem in urlencoded Fixed caste problem in UrlEncoded + + fixed null pointer in threadedserver with stopall fixed null pointer i fixed + null pointer in threadedserver with stopall Fixed null pointer in + ThreadedServer with stopAll + + form parameters only decoded for posts form parameters only decoded fo form + parameters only decoded for posts Form parameters only decoded for POSTs + + implemented full handling of cookie max age. implemented full handling + implemented full handling of cookie max age. Implemented full handling of + cookie max age. + + improved parsing of stack trace in debug mode. improved parsing of sta + improved parsing of stack trace in debug mode. Improved parsing of stack + trace in debug mode. + + moved setuid native code to contrib hierarchy moved setuid native code moved + setuid native code to contrib hierarchy Moved SetUID native code to contrib + hierarchy + + requestdispatcher handles uri parameters requestdispatcher handles uri + requestdispatcher handles uri parameters RequestDispatcher handles URI + parameters + + upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 + Upgraded to gnujsp 1.0.0 jetty-2.3.5 - 25 January 2000 - + Added configuration option to turn off Keep-Alive in HTTP/1.0 - + Added contrib/com/kiwiconsulting/jetty JSSE SSL adaptor to release. - + Allow configured servlets to be auto reloaded. - + Allow properties to be configured for dynamic servlets. - + Fixed expires bug in Cookies - + Fixed nasty bug with HTTP/1.1 redirects. - + Force locale of date formats to US. - + ProxyHandler sends content for POSTs etc. + + added configuration option to turn off keep-alive in http/1.0 added added + configuration option to turn off keep-alive in http/1.0 Added configuration + option to turn off Keep-Alive in HTTP/1.0 + + added contrib/com/kiwiconsulting/jetty jsse ssl adaptor to release. ad added + contrib/com/kiwiconsulting/jetty jsse ssl adaptor to release. Added + contrib/com/kiwiconsulting/jetty JSSE SSL adaptor to release. + + allow configured servlets to be auto reloaded. allow configured servle allow + configured servlets to be auto reloaded. Allow configured servlets to be + auto reloaded. + + allow properties to be configured for dynamic servlets. allow properti allow + properties to be configured for dynamic servlets. Allow properties to be + configured for dynamic servlets. + + fixed expires bug in cookies fixed expires bug in cookies fixed expires bug + in cookies Fixed expires bug in Cookies + + fixed nasty bug with http/1.1 redirects. fixed nasty bug with http/1.1 fixed + nasty bug with http/1.1 redirects. Fixed nasty bug with HTTP/1.1 redirects. + + force locale of date formats to us. force locale of date formats to us force + locale of date formats to us. Force locale of date formats to US. + + proxyhandler sends content for posts etc. proxyhandler sends content f + proxyhandler sends content for posts etc. ProxyHandler sends content for + POSTs etc. jetty-2.3.4 - 18 January 2000 - + Cookie map keyed on domain as well as name and path. - + DictionaryConverter handles null values. - + Fixed IllegalStateException handling in DefaultExceptionHandler - + Fixed interaction with resourcePaths and proxy demo. - + Improved HtmlFilter.activate header modifications. - + include from linux rather than genunix for native builds - + MethodTag.invoke() is now public. - + Servlet properties allow objects to be stored. - + URI decodes applies URL decoding to the path. + + cookie map keyed on domain as well as name and path. cookie map keyed + cookie map keyed on domain as well as name and path. Cookie map keyed on + domain as well as name and path. + + dictionaryconverter handles null values. dictionaryconverter handles n + dictionaryconverter handles null values. DictionaryConverter handles null + values. + + fixed illegalstateexception handling in defaultexceptionhandler fixed fixed + illegalstateexception handling in defaultexceptionhandler Fixed + IllegalStateException handling in DefaultExceptionHandler + + fixed interaction with resourcepaths and proxy demo. fixed interaction fixed + interaction with resourcepaths and proxy demo. Fixed interaction with + resourcePaths and proxy demo. + + improved htmlfilter.activate header modifications. improved improved + htmlfilter.activate header modifications. Improved HtmlFilter.activate + header modifications. + + include from linux rather than genunix for native builds include from + include from linux rather than genunix for native builds include from linux + rather than genunix for native builds + + methodtag.invoke() is now public. methodtag.invoke() is now public. + methodtag.invoke() is now public. MethodTag.invoke() is now public. + + servlet properties allow objects to be stored. servlet properties allo + servlet properties allow objects to be stored. Servlet properties allow + objects to be stored. + + uri decodes applies url decoding to the path. uri decodes applies url uri + decodes applies url decoding to the path. URI decodes applies URL decoding + to the path. jetty-3.0.A5 - 19 October 1999 - + Do our own URL string encoding with 8859-1 - + Replaced LF wait in LineInput with state boolean. - + Use char array in UrlEncoded.decode - + Use ISO8859_1 instead of UTF8 for headers etc. + + do our own url string encoding with 8859-1 do our own url string encod do + our own url string encoding with 8859-1 Do our own URL string encoding with + 8859-1 + + replaced lf wait in lineinput with state boolean. replaced lf wait in + replaced lf wait in lineinput with state boolean. Replaced LF wait in + LineInput with state boolean. + + use char array in urlencoded.decode use char array in urlencoded.decod use + char array in urlencoded.decode Use char array in UrlEncoded.decode + + use iso8859_1 instead of utf8 for headers etc. use iso8859_1 instead o use + iso8859_1 instead of utf8 for headers etc. Use ISO8859_1 instead of UTF8 for + headers etc. jetty-2.3.3 - 19 October 1999 - + Do our own URL encoding with ISO-8859-1 - + HTTP.HTML.EmbedUrl uses contents encoding. - + Replaced UTF8 encoding with ISO-8859-1 for headers. - + Use UrlEncoded for form parameters. + + do our own url encoding with iso-8859-1 do our own url encoding with do our + own url encoding with iso-8859-1 Do our own URL encoding with ISO-8859-1 + + http.html.embedurl uses contents encoding. http.html.embedurl uses con + http.html.embedurl uses contents encoding. HTTP.HTML.EmbedUrl uses contents + encoding. + + replaced utf8 encoding with iso-8859-1 for headers. replaced utf8 enco + replaced utf8 encoding with iso-8859-1 for headers. Replaced UTF8 encoding + with ISO-8859-1 for headers. + + use urlencoded for form parameters. use urlencoded for form parameters use + urlencoded for form parameters. Use UrlEncoded for form parameters. jetty-2.3.2 - 17 October 1999 - + Fixed getReader bug with HttpRequest. - + Updated UrlEncoded with Jetty3 version. + + fixed getreader bug with httprequest. fixed getreader bug with httpreq fixed + getreader bug with httprequest. Fixed getReader bug with HttpRequest. + + updated urlencoded with jetty3 version. updated urlencoded with jetty3 + updated urlencoded with jetty3 version. Updated UrlEncoded with Jetty3 + version. jetty-3.0.A4 - 16 October 1999 - + Added LF wait after CR to LineInput. - + Basic Authentication Handler. - + Request attributes - + UTF8 in UrlDecoded.decodeString. + + added lf wait after cr to lineinput. added lf wait after cr to lineinp added + lf wait after cr to lineinput. Added LF wait after CR to LineInput. + + basic authentication handler. basic authentication handler. basic + authentication handler. Basic Authentication Handler. + + request attributes request attributes request attributes Request attributes + + utf8 in urldecoded.decodestring. utf8 in urldecoded.decodestring. utf8 in + urldecoded.decodestring. UTF8 in UrlDecoded.decodeString. jetty-2.3.1 - 14 October 1999 - + Added assert with no message to Code - + Added Oracle DB adapter - + Changed demo servlets to use writers in preference to outputstreams - + Fixed GNUJSP 1.0 resource bug. - + Force UTF8 for FTP commands - + Force UTF8 for HTML - + HTTP/1.0 Keep-Alive (about time!). - + NullHandler/Server default name.name.PROPERTIES to load - prefix/name.name.properties - + Prevented thread churn on idle server. - + ThreadedServer calls setSoTimeout(_maxThreadIdleMs) on accepted sockets. + + added assert with no message to code added assert with no message to c added + assert with no message to code Added assert with no message to Code + + added oracle db adapter added oracle db adapter added oracle db adapter + Added Oracle DB adapter + + changed demo servlets to use writers in preference to outputstreams ch + changed demo servlets to use writers in preference to outputstreams Changed + demo servlets to use writers in preference to outputstreams + + fixed gnujsp 1.0 resource bug. fixed gnujsp 1.0 resource bug. fixed gnujsp + 1.0 resource bug. Fixed GNUJSP 1.0 resource bug. + + force utf8 for ftp commands force utf8 for ftp commands force utf8 for ftp + commands Force UTF8 for FTP commands + + force utf8 for html force utf8 for html force utf8 for html Force UTF8 for + HTML + + http/1.0 keep-alive (about time!). http/1.0 keep-alive (about time!). + http/1.0 keep-alive (about time!). HTTP/1.0 Keep-Alive (about time!). + + nullhandler/server default name.name.properties to load nullhandler/se + nullhandler/server default name.name.properties to load NullHandler/Server + default name.name.PROPERTIES to load prefix/name.name.properties + + prevented thread churn on idle server. prevented thread churn on idle + prevented thread churn on idle server. Prevented thread churn on idle + server. + + threadedserver calls setsotimeout(_maxthreadidlems) on accepted socket + threadedserver calls setsotimeout(_maxthreadidlems) on accepted socket + ThreadedServer calls setSoTimeout(_maxThreadIdleMs) on accepted sockets. Idle reads will timeout. - + Use UTF8 in HTTP headers + + use utf8 in http headers use utf8 in http headers use utf8 in http headers + Use UTF8 in HTTP headers jetty-3.0.A3 - 14 October 1999 - + Added LifeCycle interface to Utils implemented by ThreadPool, - ThreadedServer, HttpListener & HttpHandler - + Added service method to HttpConnection for specialization. - + MaxReadTimeMs added to ThreadedServer. - + StartAll, stopAll and destroyAll methods added to HttpServer. + + added lifecycle interface to utils implemented by threadpool, added added + lifecycle interface to utils implemented by threadpool, Added LifeCycle + interface to Utils implemented by ThreadPool, ThreadedServer, HttpListener & + HttpHandler + + added service method to httpconnection for specialization. added servi added + service method to httpconnection for specialization. Added service method to + HttpConnection for specialization. + + maxreadtimems added to threadedserver. maxreadtimems added to maxreadtimems + added to threadedserver. MaxReadTimeMs added to ThreadedServer. + + startall, stopall and destroyall methods added to httpserver. startall + startall, stopall and destroyall methods added to httpserver. StartAll, + stopAll and destroyAll methods added to HttpServer. jetty-3.0.A2 - 13 October 1999 - + Added cookie support and demo. - + Cleaned up Util TestHarness. - + Fixed LineInput problem with repeated CRs - + HEAD handling. - + HTTP/1.0 Keep-alive (about time!) - + NotFound Handler - + OPTION * Handling. - + Prevent entity content for responses 100-199,203,304 - + Reduced flushing on writing response. - + TRACE handling. - + UTF8 handling on raw output stream. - + Virtual Hosts. + + added cookie support and demo. added cookie support and demo. added cookie + support and demo. Added cookie support and demo. + + cleaned up util testharness. cleaned up util testharness. cleaned up util + testharness. Cleaned up Util TestHarness. + + fixed lineinput problem with repeated crs fixed lineinput problem with fixed + lineinput problem with repeated crs Fixed LineInput problem with repeated + CRs + + head handling. head handling. head handling. HEAD handling. + + http/1.0 keep-alive (about time!) http/1.0 keep-alive (about time!) http/1.0 + keep-alive (about time!) HTTP/1.0 Keep-alive (about time!) + + notfound handler notfound handler notfound handler NotFound Handler + + option * handling. option * handling. option * handling. OPTION * Handling. + + prevent entity content for responses 100-199,203,304 prevent entity co + prevent entity content for responses 100-199,203,304 Prevent entity content + for responses 100-199,203,304 + + reduced flushing on writing response. reduced flushing on writing resp + reduced flushing on writing response. Reduced flushing on writing response. + + trace handling. trace handling. trace handling. TRACE handling. + + utf8 handling on raw output stream. utf8 handling on raw output stream utf8 + handling on raw output stream. UTF8 handling on raw output stream. + + virtual hosts. virtual hosts. virtual hosts. Virtual Hosts. jetty-3.0.A1 - 12 October 1999 - + Added HttpHandler interface with start/stop/destroy lifecycle - + Added MultiMap for common handling of multiple valued parameters. - + Added parameters to HttpRequest - + Added PathMap implementing mapping as defined in the 2.2 API specification - (ie. /exact, /prefix/*, *.extention & default ). - + Implemented simple extension architecture in HttpServer. - + LineInput uses own buffering and uses character encodings. - + Quick port of FileHandler - + Setup demo pages. - + Updated HttpListener is start/stop/destroy lifecycle. + + added httphandler interface with start/stop/destroy lifecycle added added + httphandler interface with start/stop/destroy lifecycle Added HttpHandler + interface with start/stop/destroy lifecycle + + added multimap for common handling of multiple valued parameters. adde added + multimap for common handling of multiple valued parameters. Added MultiMap + for common handling of multiple valued parameters. + + added parameters to httprequest added parameters to httprequest added + parameters to httprequest Added parameters to HttpRequest + + added pathmap implementing mapping as defined in the 2.2 api specifica added + pathmap implementing mapping as defined in the 2.2 api specifica Added + PathMap implementing mapping as defined in the 2.2 API specification (ie. + /exact, /prefix/*, *.extention & default ). + + implemented simple extension architecture in httpserver. implemented s + implemented simple extension architecture in httpserver. Implemented simple + extension architecture in HttpServer. + + lineinput uses own buffering and uses character encodings. lineinput u + lineinput uses own buffering and uses character encodings. LineInput uses + own buffering and uses character encodings. + + quick port of filehandler quick port of filehandler quick port of + filehandler Quick port of FileHandler + + setup demo pages. setup demo pages. setup demo pages. Setup demo pages. + + updated httplistener is start/stop/destroy lifecycle. updated httplist + updated httplistener is start/stop/destroy lifecycle. Updated HttpListener + is start/stop/destroy lifecycle. jetty-3.0.A0 - 09 October 1999 - + Added generalized HTTP Connection. - + Added support for servlet 2.2 outbut buffer control. - + Added support for transfer and content encoding filters. - + Cleaned up chunking code to use LineInput and reduce buffering. - + Cleanup and abstraction of ThreadPool. - + Cleanup of HttpRequest and decoupled from Servlet API - + Cleanup of HttpResponse and decoupled from Servlet API - + Cleanup of LineInput, using 1.2 Collections. - + Cleanup of URI, using 1.2 Collections. - + Cleanup of UrlEncoded, using 1.2 Collections. - + Created RFC2616 test harness. - + Extended URI to handle absolute URLs - + Generalized notification of outputStream events. - + gzip and deflate request transfer encodings - + HttpExceptions now produce error pages with specific detail of the + + added generalized http connection. added generalized http connection. added + generalized http connection. Added generalized HTTP Connection. + + added support for servlet 2.2 outbut buffer control. added support for added + support for servlet 2.2 outbut buffer control. Added support for servlet 2.2 + outbut buffer control. + + added support for transfer and content encoding filters. added support added + support for transfer and content encoding filters. Added support for + transfer and content encoding filters. + + cleaned up chunking code to use lineinput and reduce buffering. cleane + cleaned up chunking code to use lineinput and reduce buffering. Cleaned up + chunking code to use LineInput and reduce buffering. + + cleanup and abstraction of threadpool. cleanup and abstraction of cleanup + and abstraction of threadpool. Cleanup and abstraction of ThreadPool. + + cleanup of httprequest and decoupled from servlet api cleanup of httpr + cleanup of httprequest and decoupled from servlet api Cleanup of HttpRequest + and decoupled from Servlet API + + cleanup of httpresponse and decoupled from servlet api cleanup of cleanup of + httpresponse and decoupled from servlet api Cleanup of HttpResponse and + decoupled from Servlet API + + cleanup of lineinput, using 1.2 collections. cleanup of lineinput, usi + cleanup of lineinput, using 1.2 collections. Cleanup of LineInput, using 1.2 + Collections. + + cleanup of uri, using 1.2 collections. cleanup of uri, using 1.2 cleanup of + uri, using 1.2 collections. Cleanup of URI, using 1.2 Collections. + + cleanup of urlencoded, using 1.2 collections. cleanup of urlencoded, u + cleanup of urlencoded, using 1.2 collections. Cleanup of UrlEncoded, using + 1.2 Collections. + + created rfc2616 test harness. created rfc2616 test harness. created rfc2616 + test harness. Created RFC2616 test harness. + + extended uri to handle absolute urls extended uri to handle absolute u + extended uri to handle absolute urls Extended URI to handle absolute URLs + + generalized notification of outputstream events. generalized notificat + generalized notification of outputstream events. Generalized notification of + outputStream events. + + gzip and deflate request transfer encodings gzip and deflate request gzip + and deflate request transfer encodings gzip and deflate request transfer + encodings + + httpexceptions now produce error pages with specific detail of the + httpexceptions now produce error pages with specific detail of the + HttpExceptions now produce error pages with specific detail of the exception. - + HttpMessage supports chunked trailers. - + HttpMessage supports message states. - + Moved com.mortbay.Base classes to com.mortbay.Util - + Moved HttpInput/OutputStream to ChunkableInput/OutputStream. - + Split HttpHeader into HttpFields and HttpMessage. - + Started fresh repository in CVS - + TE field coding and trailer handler - + ThreadedServer based on ThreadPool. + + httpmessage supports chunked trailers. httpmessage supports chunked + httpmessage supports chunked trailers. HttpMessage supports chunked + trailers. + + httpmessage supports message states. httpmessage supports message stat + httpmessage supports message states. HttpMessage supports message states. + + moved com.mortbay.base classes to com.mortbay.util moved com.mortbay.b moved + com.mortbay.base classes to com.mortbay.util Moved com.mortbay.Base classes + to com.mortbay.Util + + moved httpinput/outputstream to chunkableinput/outputstream. moved moved + httpinput/outputstream to chunkableinput/outputstream. Moved + HttpInput/OutputStream to ChunkableInput/OutputStream. + + split httpheader into httpfields and httpmessage. split httpheader int split + httpheader into httpfields and httpmessage. Split HttpHeader into HttpFields + and HttpMessage. + + started fresh repository in cvs started fresh repository in cvs started + fresh repository in cvs Started fresh repository in CVS + + te field coding and trailer handler te field coding and trailer handle te + field coding and trailer handler TE field coding and trailer handler + + threadedserver based on threadpool. threadedserver based on threadpool + threadedserver based on threadpool. ThreadedServer based on ThreadPool. jetty-2.3.0 - 05 October 1999 - + Added SetUID class with native Unix call to set the effective User ID. - + FTP closes files after put/get. - + FTP uses InetAddress of command socket for data socket. + + added setuid class with native unix call to set the effective user id. added + setuid class with native unix call to set the effective user id. Added + SetUID class with native Unix call to set the effective User ID. + + ftp closes files after put/get. ftp closes files after put/get. ftp closes + files after put/get. FTP closes files after put/get. + + ftp uses inetaddress of command socket for data socket. ftp uses ineta ftp + uses inetaddress of command socket for data socket. FTP uses InetAddress of + command socket for data socket. jetty-2.3.0A - 22 September 1999 - + Added "Powered by Jetty" button. - + Added BuildJetty.java file. - + Added GNUJSP 1.0 for the JSP 1.0 API. - + Expanded tabs to spaces in source. - + Made session IDs less predictable and removed race. - + ServerContext available to HtmlFilters via context param - + Use javax.servlet classes from JWSDK1.0 + + added "powered by jetty" button. added "powered by jetty" button. added + "powered by jetty" button. Added "Powered by Jetty" button. + + added buildjetty.java file. added buildjetty.java file. added + buildjetty.java file. Added BuildJetty.java file. + + added gnujsp 1.0 for the jsp 1.0 api. added gnujsp 1.0 for the jsp 1.0 added + gnujsp 1.0 for the jsp 1.0 api. Added GNUJSP 1.0 for the JSP 1.0 API. + + expanded tabs to spaces in source. expanded tabs to spaces in source. + expanded tabs to spaces in source. Expanded tabs to spaces in source. + + made session ids less predictable and removed race. made session ids l made + session ids less predictable and removed race. Made session IDs less + predictable and removed race. + + servercontext available to htmlfilters via context param servercontext + servercontext available to htmlfilters via context param ServerContext + available to HtmlFilters via context param + + use javax.servlet classes from jwsdk1.0 use javax.servlet classes from use + javax.servlet classes from jwsdk1.0 Use javax.servlet classes from JWSDK1.0 jetty-2.2.8 - 15 September 1999 - + Added disableLog() to turn off logging. - + Allow default table attributes to be overriden. - + Fixed bug in Element.attribute with empty string values. - + Improved quoting in HTML element values - + Made translation of getRequestURI() optional. - + Removed recursion from TranslationHandler + + added disablelog() to turn off logging. added disablelog() to turn off added + disablelog() to turn off logging. Added disableLog() to turn off logging. + + allow default table attributes to be overriden. allow default table allow + default table attributes to be overriden. Allow default table attributes to + be overriden. + + fixed bug in element.attribute with empty string values. fixed bug in fixed + bug in element.attribute with empty string values. Fixed bug in + Element.attribute with empty string values. + + improved quoting in html element values improved quoting in html eleme + improved quoting in html element values Improved quoting in HTML element + values + + made translation of getrequesturi() optional. made translation of made + translation of getrequesturi() optional. Made translation of getRequestURI() + optional. + + removed recursion from translationhandler removed recursion from removed + recursion from translationhandler Removed recursion from TranslationHandler jetty-2.2.7 - 09 September 1999 - + Added default row, head and cell elements to Table. - + Added GzipFilter for content encoding. - + FileHandler passes POST request through if the file does not exist. - + Reverted semantics of getRequestURI() to return untranslated URI. + + added default row, head and cell elements to table. added default row, added + default row, head and cell elements to table. Added default row, head and + cell elements to Table. + + added gzipfilter for content encoding. added gzipfilter for content added + gzipfilter for content encoding. Added GzipFilter for content encoding. + + filehandler passes post request through if the file does not exist. + filehandler passes post request through if the file does not exist. + FileHandler passes POST request through if the file does not exist. + + reverted semantics of getrequesturi() to return untranslated uri. reve + reverted semantics of getrequesturi() to return untranslated uri. Reverted + semantics of getRequestURI() to return untranslated URI. jetty-2.2.6 - 05 September 1999 - + Added destroy() method on all HttpHandlers. - + Added ServletRunnerHandler to the contrib directories. - + Allow the handling of getPathTranslated to be configured in ServletHandler. - + class StyleLink added. - + Cookies always available from getCookies. - + Cookies parameter renamed to CookiesAsParameters - + cssClass, cssID and style methods added to element. - + FileHandler does not server files ending in '/' - + Fixed Cookie max age order of magnitude bug. - + HttpRequest.getSession() always returns a session as per the latest API + + added destroy() method on all httphandlers. added destroy() method on added + destroy() method on all httphandlers. Added destroy() method on all + HttpHandlers. + + added servletrunnerhandler to the contrib directories. added added + servletrunnerhandler to the contrib directories. Added ServletRunnerHandler + to the contrib directories. + + allow the handling of getpathtranslated to be configured in servlethan allow + the handling of getpathtranslated to be configured in servlethan Allow the + handling of getPathTranslated to be configured in ServletHandler. + + class stylelink added. class stylelink added. class stylelink added. class + StyleLink added. + + cookies always available from getcookies. cookies always available fro + cookies always available from getcookies. Cookies always available from + getCookies. + + cookies parameter renamed to cookiesasparameters cookies parameter ren + cookies parameter renamed to cookiesasparameters Cookies parameter renamed + to CookiesAsParameters + + cssclass, cssid and style methods added to element. cssclass, cssid an + cssclass, cssid and style methods added to element. cssClass, cssID and + style methods added to element. + + filehandler does not server files ending in '/' filehandler does not s + filehandler does not server files ending in '/' FileHandler does not server + files ending in '/' + + fixed cookie max age order of magnitude bug. fixed cookie max age orde fixed + cookie max age order of magnitude bug. Fixed Cookie max age order of + magnitude bug. + + httprequest.getsession() always returns a session as per the latest ap + httprequest.getsession() always returns a session as per the latest ap + HttpRequest.getSession() always returns a session as per the latest API spec. - + Ignore duplicate single valued headers, rather than reply with bad request, + + ignore duplicate single valued headers, rather than reply with bad req + ignore duplicate single valued headers, rather than reply with bad req + Ignore duplicate single valued headers, rather than reply with bad request, as IE4 breaks the rules. - + media added to Style - + New implementation of ThreadPool, avoids a thread leak problem. - + Removed JRUN options from ServletHandler configuration. - + ServletHandler.destroy destroys all servlets. - + SPAN added to Block - + Updated HTML package to better support CSS: + + media added to style media added to style media added to style media added + to Style + + new implementation of threadpool, avoids a thread leak problem. new new + implementation of threadpool, avoids a thread leak problem. New + implementation of ThreadPool, avoids a thread leak problem. + + removed jrun options from servlethandler configuration. removed jrun o + removed jrun options from servlethandler configuration. Removed JRUN options + from ServletHandler configuration. + + servlethandler.destroy destroys all servlets. servlethandler.destroy + servlethandler.destroy destroys all servlets. ServletHandler.destroy + destroys all servlets. + + span added to block span added to block span added to block SPAN added to + Block + + updated html package to better support css: updated html package to be + updated html package to better support css: Updated HTML package to better + support CSS: jetty-2.2.5 - 19 August 1999 - + Always close connection after a bad request. - + Better default handling of ServletExceptions - + Close loaded class files so Win32 can overwrite them before GC (what a silly - file system!). - + Don't override the cookie as parameter option. - + Fixed bug with closing connections in ThreadedServer - + Improved error messages from Jetty.Server. - + Limited growth in MultiPartResponse boundary. - + Made start and stop non final in ThreadedServer - + Set Expires header in HtmlFilter. + + always close connection after a bad request. always close connection a + always close connection after a bad request. Always close connection after a + bad request. + + better default handling of servletexceptions better default handling o + better default handling of servletexceptions Better default handling of + ServletExceptions + + close loaded class files so win32 can overwrite them before gc (what a close + loaded class files so win32 can overwrite them before gc (what a Close + loaded class files so Win32 can overwrite them before GC (what a silly file + system!). + + don't override the cookie as parameter option. don't override the cook don't + override the cookie as parameter option. Don't override the cookie as + parameter option. + + fixed bug with closing connections in threadedserver fixed bug with cl fixed + bug with closing connections in threadedserver Fixed bug with closing + connections in ThreadedServer + + improved error messages from jetty.server. improved error messages fro + improved error messages from jetty.server. Improved error messages from + Jetty.Server. + + limited growth in multipartresponse boundary. limited growth in limited + growth in multipartresponse boundary. Limited growth in MultiPartResponse + boundary. + + made start and stop non final in threadedserver made start and stop no made + start and stop non final in threadedserver Made start and stop non final in + ThreadedServer + + set expires header in htmlfilter. set expires header in htmlfilter. set + expires header in htmlfilter. Set Expires header in HtmlFilter. jetty-2.2.4 - 02 August 1999 - + Better help on Jetty.Server - + Fixed bugs in HtmlFilter parser and added TestHarness. - + HtmlFilter blanks IfModifiedSince headers on construction - + HttpRequests may be passed to HttpFilter constructors. - + Improved cfg RCS script. - + ThreadedServer can use subclasses of Thread. + + better help on jetty.server better help on jetty.server better help on + jetty.server Better help on Jetty.Server + + fixed bugs in htmlfilter parser and added testharness. fixed bugs in fixed + bugs in htmlfilter parser and added testharness. Fixed bugs in HtmlFilter + parser and added TestHarness. + + htmlfilter blanks ifmodifiedsince headers on construction htmlfilter b + htmlfilter blanks ifmodifiedsince headers on construction HtmlFilter blanks + IfModifiedSince headers on construction + + httprequests may be passed to httpfilter constructors. httprequests ma + httprequests may be passed to httpfilter constructors. HttpRequests may be + passed to HttpFilter constructors. + + improved cfg rcs script. improved cfg rcs script. improved cfg rcs script. + Improved cfg RCS script. + + threadedserver can use subclasses of thread. threadedserver can use + threadedserver can use subclasses of thread. ThreadedServer can use + subclasses of Thread. jetty-2.2.3 - 27 July 1999 - + Added stop call to HttpServer, used by Exit Servlet. - + FileHandler defaults to allowing directory access. - + Fixed parser bug in HtmlFilter - + Improved performance of com.mortbay.HTML.Heading - + JDBC tests modified to use cloudscape as DB. - + Made setInitialize public in ServletHolder - + Simplified JDBC connection handling so that it works with Java1.2 - albeit + + added stop call to httpserver, used by exit servlet. added stop call t added + stop call to httpserver, used by exit servlet. Added stop call to + HttpServer, used by Exit Servlet. + + filehandler defaults to allowing directory access. filehandler default + filehandler defaults to allowing directory access. FileHandler defaults to + allowing directory access. + + fixed parser bug in htmlfilter fixed parser bug in htmlfilter fixed parser + bug in htmlfilter Fixed parser bug in HtmlFilter + + improved performance of com.mortbay.html.heading improved performance + improved performance of com.mortbay.html.heading Improved performance of + com.mortbay.HTML.Heading + + jdbc tests modified to use cloudscape as db. jdbc tests modified to us jdbc + tests modified to use cloudscape as db. JDBC tests modified to use + cloudscape as DB. + + made setinitialize public in servletholder made setinitialize public i made + setinitialize public in servletholder Made setInitialize public in + ServletHolder + + simplified jdbc connection handling so that it works with java1.2 - al + simplified jdbc connection handling so that it works with java1.2 - al + Simplified JDBC connection handling so that it works with Java1.2 - albeit less efficiently. jetty-2.2.2 - 22 July 1999 - + File handler passes through not allowed options for non existant files. - + Fixed bug in com.mortbay.Util.IO with thread routines. - + Fixed bug in HtmlFilter that prevented single char buffers from being - written. - + Fixed bug with CLASSPATH in FileJarServletLoader after attempt to load from - a jar. - + Implemented getResourceAsStream in FileJarServletLoader - + Improved com.mortbay.Base.Log handling of different JVMs - + Minor fixes to README - + Moved more test harnesses out of classes. - + NotFoundHandler can repond with SC_METHOD_NOT_ALLOWED. + + file handler passes through not allowed options for non existant files file + handler passes through not allowed options for non existant files File + handler passes through not allowed options for non existant files. + + fixed bug in com.mortbay.util.io with thread routines. fixed bug in fixed + bug in com.mortbay.util.io with thread routines. Fixed bug in + com.mortbay.Util.IO with thread routines. + + fixed bug in htmlfilter that prevented single char buffers from being fixed + bug in htmlfilter that prevented single char buffers from being Fixed bug in + HtmlFilter that prevented single char buffers from being written. + + fixed bug with classpath in filejarservletloader after attempt to load fixed + bug with classpath in filejarservletloader after attempt to load Fixed bug + with CLASSPATH in FileJarServletLoader after attempt to load from a jar. + + implemented getresourceasstream in filejarservletloader implemented + implemented getresourceasstream in filejarservletloader Implemented + getResourceAsStream in FileJarServletLoader + + improved com.mortbay.base.log handling of different jvms improved improved + com.mortbay.base.log handling of different jvms Improved + com.mortbay.Base.Log handling of different JVMs + + minor fixes to readme minor fixes to readme minor fixes to readme Minor + fixes to README + + moved more test harnesses out of classes. moved more test harnesses ou moved + more test harnesses out of classes. Moved more test harnesses out of + classes. + + notfoundhandler can repond with sc_method_not_allowed. notfoundhandler + notfoundhandler can repond with sc_method_not_allowed. NotFoundHandler can + repond with SC_METHOD_NOT_ALLOWED. jetty-2.2.1 - 18 July 1999 - + Added optional resourceBase property to HttpConfiguration. This is used as a - URL prefix in the getResource API and was suggested by the JSERV and Tomcat + + added optional resourcebase property to httpconfiguration. this is use added + optional resourcebase property to httpconfiguration. this is use Added + optional resourceBase property to HttpConfiguration. This is used as a URL + prefix in the getResource API and was suggested by the JSERV and Tomcat implementors. - + Added TerseExceptionHandler - + Comma separate header fields. - + Decoupled ExceptionHandler configuration from Handler stacks. Old config + + added terseexceptionhandler added terseexceptionhandler added + terseexceptionhandler Added TerseExceptionHandler + + comma separate header fields. comma separate header fields. comma separate + header fields. Comma separate header fields. + + decoupled exceptionhandler configuration from handler stacks. old conf + decoupled exceptionhandler configuration from handler stacks. old conf + Decoupled ExceptionHandler configuration from Handler stacks. Old config style will produce warning and Default behavior. See new config file format for changes. - + Handle continuation lines in HttpHeader. - + HtmlFilter resets last-modified and content-length headers. - + Ignore IOException in ThreadedServer.run() when closing. - + Implemented com.mortbay.Util.IO as a ThreadPool - + Less verbose debug in PropertyTree - + Limit maximum line length in HttpInputStream. - + Protect against duplicate single valued headers. - + Response with SC_BAD_REQUEST rather than close in more circumstances + + handle continuation lines in httpheader. handle continuation lines in handle + continuation lines in httpheader. Handle continuation lines in HttpHeader. + + htmlfilter resets last-modified and content-length headers. htmlfilter + htmlfilter resets last-modified and content-length headers. HtmlFilter + resets last-modified and content-length headers. + + ignore ioexception in threadedserver.run() when closing. ignore ioexce + ignore ioexception in threadedserver.run() when closing. Ignore IOException + in ThreadedServer.run() when closing. + + implemented com.mortbay.util.io as a threadpool implemented implemented + com.mortbay.util.io as a threadpool Implemented com.mortbay.Util.IO as a + ThreadPool + + less verbose debug in propertytree less verbose debug in propertytree less + verbose debug in propertytree Less verbose debug in PropertyTree + + limit maximum line length in httpinputstream. limit maximum line lengt limit + maximum line length in httpinputstream. Limit maximum line length in + HttpInputStream. + + protect against duplicate single valued headers. protect against dupli + protect against duplicate single valued headers. Protect against duplicate + single valued headers. + + response with sc_bad_request rather than close in more circumstances + response with sc_bad_request rather than close in more circumstances + Response with SC_BAD_REQUEST rather than close in more circumstances jetty-2.2.0 - 01 July 1999 - + Added Protekt SSL HttpListener - + Exit servlet improved (a little). - + Fixed some of the javadoc formatting. - + Improved feature description page. - + Moved GNUJSP and Protekt listener to a contrib hierarchy. - + ThreadedServer.stop() closes socket before interrupting threads. + + added protekt ssl httplistener added protekt ssl httplistener added protekt + ssl httplistener Added Protekt SSL HttpListener + + exit servlet improved (a little). exit servlet improved (a little). exit + servlet improved (a little). Exit servlet improved (a little). + + fixed some of the javadoc formatting. fixed some of the javadoc format fixed + some of the javadoc formatting. Fixed some of the javadoc formatting. + + improved feature description page. improved feature description page. + improved feature description page. Improved feature description page. + + moved gnujsp and protekt listener to a contrib hierarchy. moved gnujsp moved + gnujsp and protekt listener to a contrib hierarchy. Moved GNUJSP and Protekt + listener to a contrib hierarchy. + + threadedserver.stop() closes socket before interrupting threads. + threadedserver.stop() closes socket before interrupting threads. + ThreadedServer.stop() closes socket before interrupting threads. jetty-2.2.Beta4 - 29 June 1999 - + Added comments to configuration files. - + Added getGlobalProperty to Jetty.Server and used this to configure default - page type. - + Added JettyMinimalDemo.prp as an example of an abbreviated configuration. - + Added property handling to ServletHandler to read JRUN servlet configuration + + added comments to configuration files. added comments to configuration added + comments to configuration files. Added comments to configuration files. + + added getglobalproperty to jetty.server and used this to configure def added + getglobalproperty to jetty.server and used this to configure def Added + getGlobalProperty to Jetty.Server and used this to configure default page + type. + + added jettyminimaldemo.prp as an example of an abbreviated configurati added + jettyminimaldemo.prp as an example of an abbreviated configurati Added + JettyMinimalDemo.prp as an example of an abbreviated configuration. + + added property handling to servlethandler to read jrun servlet configu added + property handling to servlethandler to read jrun servlet configu Added + property handling to ServletHandler to read JRUN servlet configuration files. - + Altered meaning of * in PropertyTree to assist in abbreviated configuration + + altered meaning of * in propertytree to assist in abbreviated configur + altered meaning of * in propertytree to assist in abbreviated configur + Altered meaning of * in PropertyTree to assist in abbreviated configuration files. - + Expanded Mime.prp file - + FileHandler flushes files from cache in DELETE method. - + Made ServerSocket and accept call generic in ThreadedServer for SSL - listeners. - + Options "allowDir" added to FileHandler. - + Restructured com.mortbay.Jetty.Server for better clarity and documentation. - + ThreadedServer.stop() now waits until all threads are stopped. - + Updated README.txt + + expanded mime.prp file expanded mime.prp file expanded mime.prp file + Expanded Mime.prp file + + filehandler flushes files from cache in delete method. filehandler flu + filehandler flushes files from cache in delete method. FileHandler flushes + files from cache in DELETE method. + + made serversocket and accept call generic in threadedserver for ssl ma made + serversocket and accept call generic in threadedserver for ssl Made + ServerSocket and accept call generic in ThreadedServer for SSL listeners. + + options "allowdir" added to filehandler. options "allowdir" added to options + "allowdir" added to filehandler. Options "allowDir" added to FileHandler. + + restructured com.mortbay.jetty.server for better clarity and documenta + restructured com.mortbay.jetty.server for better clarity and documenta + Restructured com.mortbay.Jetty.Server for better clarity and documentation. + + threadedserver.stop() now waits until all threads are stopped. + threadedserver.stop() now waits until all threads are stopped. + ThreadedServer.stop() now waits until all threads are stopped. + + updated readme.txt updated readme.txt updated readme.txt Updated README.txt jetty-2.2.Beta3 - 22 June 1999 - + Added alternate constructors to HTML.Include for InputStream. - + Added file cache to FileHandler - + Applied contributed patch of spelling and typo corrections - + Fixed bug in HttpResponse flush. - + Fixed file and socket leaks in Include and Embed tags. - + Implemented efficient version of ServletContext.getResourceAsStream() that + + added alternate constructors to html.include for inputstream. added added + alternate constructors to html.include for inputstream. Added alternate + constructors to HTML.Include for InputStream. + + added file cache to filehandler added file cache to filehandler added file + cache to filehandler Added file cache to FileHandler + + applied contributed patch of spelling and typo corrections applied applied + contributed patch of spelling and typo corrections Applied contributed patch + of spelling and typo corrections + + fixed bug in httpresponse flush. fixed bug in httpresponse flush. fixed bug + in httpresponse flush. Fixed bug in HttpResponse flush. + + fixed file and socket leaks in include and embed tags. fixed file and fixed + file and socket leaks in include and embed tags. Fixed file and socket leaks + in Include and Embed tags. + + implemented efficient version of servletcontext.getresourceasstream() + implemented efficient version of servletcontext.getresourceasstream() + Implemented efficient version of ServletContext.getResourceAsStream() that does not open a new socket connection (as does getResource()). - + Improved Block.write. - + LookAndFeelServlet uses getResourceAsStream to get the file to wrap. This + + improved block.write. improved block.write. improved block.write. Improved + Block.write. + + lookandfeelservlet uses getresourceasstream to get the file to wrap. t + lookandfeelservlet uses getresourceasstream to get the file to wrap. t + LookAndFeelServlet uses getResourceAsStream to get the file to wrap. This allows it to benefit from any caching done and to wrap arbitrary content (not just files). - + Ran dos2unix on all text files - + Re-implemented ThreadedServer to improve and balance performance. - + Restructure demo so that LookAndFeel content comes from simple handler + + ran dos2unix on all text files ran dos2unix on all text files ran dos2unix + on all text files Ran dos2unix on all text files + + re-implemented threadedserver to improve and balance performance. + re-implemented threadedserver to improve and balance performance. + Re-implemented ThreadedServer to improve and balance performance. + + restructure demo so that lookandfeel content comes from simple handler + restructure demo so that lookandfeel content comes from simple handler + Restructure demo so that LookAndFeel content comes from simple handler stack. - + Server.shutdown() clears configuration so that server may be restarted in + + server.shutdown() clears configuration so that server may be restarted + server.shutdown() clears configuration so that server may be restarted + Server.shutdown() clears configuration so that server may be restarted in same virtual machine. jetty-2.2.Beta2 - 12 June 1999 - + Added all write methods to HttpOutputStream$SwitchOutputStream - + Added com.mortbay.Jetty.Server.shutdown() for gentler shutdown of server. - Called from Exit servlet - + Handle path info of a dynamic loaded servlets and correctly set the servlet + + added all write methods to httpoutputstream$switchoutputstream added a added + all write methods to httpoutputstream$switchoutputstream Added all write + methods to HttpOutputStream$SwitchOutputStream + + added com.mortbay.jetty.server.shutdown() for gentler shutdown of serv added + com.mortbay.jetty.server.shutdown() for gentler shutdown of serv Added + com.mortbay.Jetty.Server.shutdown() for gentler shutdown of server. Called + from Exit servlet + + handle path info of a dynamic loaded servlets and correctly set the s + handle path info of a dynamic loaded servlets and correctly set the s + Handle path info of a dynamic loaded servlets and correctly set the servlet path. - + HttpRequest.getParameterNames() no longer alters the order returned by + + httprequest.getparameternames() no longer alters the order returned by + httprequest.getparameternames() no longer alters the order returned by + HttpRequest.getParameterNames() no longer alters the order returned by getQueryString(). - + Standardized date format in persistent cookies. + + standardized date format in persistent cookies. standardized date form + standardized date format in persistent cookies. Standardized date format in + persistent cookies. jetty-2.2.Beta1 - 07 June 1999 - + Allow configuration of MinListenerThreads, MaxListenerThreads, - MaxListenerThreadIdleMs - + Close files after use to avoid "file leak" under heavy load. - + Defined abstract ServletLoader, derivations of which can be specified in + + allow configuration of minlistenerthreads, maxlistenerthreads, allow allow + configuration of minlistenerthreads, maxlistenerthreads, Allow configuration + of MinListenerThreads, MaxListenerThreads, MaxListenerThreadIdleMs + + close files after use to avoid "file leak" under heavy load. close fil close + files after use to avoid "file leak" under heavy load. Close files after use + to avoid "file leak" under heavy load. + + defined abstract servletloader, derivations of which can be specified + defined abstract servletloader, derivations of which can be specified + Defined abstract ServletLoader, derivations of which can be specified in HttpConfiguration properties. - + Destroy requests and responses to help garbage collector. - + Don't warn about IOExceptions unless Debug is on. - + Fixed cache in FileJarServletLoader - + Fixed incorrect version numbers in a few places. - + Fixed missing copyright messages from some contributions - + HtmlFilter optimized for being called by a buffered writer. - + Implemented all HttpServer attribute methods by mapping to the - HttpConfiguration properties. Dynamic reconfiguration is NOT supported by - these methods (but we are thinking about it). - + Improved ThreadPool synchronization and added minThreads. - + Included GNUJSP 0.9.9 - + Limit the job queue only grow to the max number of threads. - + Optional use of DateCache in log file format - + Restructure ThreadedServer to reduce object creation. + + destroy requests and responses to help garbage collector. destroy requ + destroy requests and responses to help garbage collector. Destroy requests + and responses to help garbage collector. + + don't warn about ioexceptions unless debug is on. don't warn about don't + warn about ioexceptions unless debug is on. Don't warn about IOExceptions + unless Debug is on. + + fixed cache in filejarservletloader fixed cache in filejarservletloade fixed + cache in filejarservletloader Fixed cache in FileJarServletLoader + + fixed incorrect version numbers in a few places. fixed incorrect versi fixed + incorrect version numbers in a few places. Fixed incorrect version numbers + in a few places. + + fixed missing copyright messages from some contributions fixed missing fixed + missing copyright messages from some contributions Fixed missing copyright + messages from some contributions + + htmlfilter optimized for being called by a buffered writer. htmlfilter + htmlfilter optimized for being called by a buffered writer. HtmlFilter + optimized for being called by a buffered writer. + + implemented all httpserver attribute methods by mapping to the impleme + implemented all httpserver attribute methods by mapping to the Implemented + all HttpServer attribute methods by mapping to the HttpConfiguration + properties. Dynamic reconfiguration is NOT supported by these methods (but + we are thinking about it). + + improved threadpool synchronization and added minthreads. improved improved + threadpool synchronization and added minthreads. Improved ThreadPool + synchronization and added minThreads. + + included gnujsp 0.9.9 included gnujsp 0.9.9 included gnujsp 0.9.9 Included + GNUJSP 0.9.9 + + limit the job queue only grow to the max number of threads. limit the limit + the job queue only grow to the max number of threads. Limit the job queue + only grow to the max number of threads. + + optional use of datecache in log file format optional use of datecache + optional use of datecache in log file format Optional use of DateCache in + log file format + + restructure threadedserver to reduce object creation. restructure + restructure threadedserver to reduce object creation. Restructure + ThreadedServer to reduce object creation. jetty-2.2.Beta0 - 31 May 1999 - + Added "Initialize" attribute to servlet configuration to allow servlet to be + + added "initialize" attribute to servlet configuration to allow servlet added + "initialize" attribute to servlet configuration to allow servlet Added + "Initialize" attribute to servlet configuration to allow servlet to be initialized when loaded. - + Added HttpResponse.requestHandled() method to avoid bug with servlet doHead + + added httpresponse.requesthandled() method to avoid bug with servlet d added + httpresponse.requesthandled() method to avoid bug with servlet d Added + HttpResponse.requestHandled() method to avoid bug with servlet doHead method. - + Added Page.rewind() method to allow a page to be written multiple times - + Handle malformed % characters in URLs. - + HttpRequest.getCookies returns empty array rather than null for no cookies. - + Included and improved version of ThreadPool for significant performance + + added page.rewind() method to allow a page to be written multiple time added + page.rewind() method to allow a page to be written multiple time Added + Page.rewind() method to allow a page to be written multiple times + + handle malformed % characters in urls. handle malformed % characters i + handle malformed % characters in urls. Handle malformed % characters in + URLs. + + httprequest.getcookies returns empty array rather than null for no coo + httprequest.getcookies returns empty array rather than null for no coo + HttpRequest.getCookies returns empty array rather than null for no cookies. + + included and improved version of threadpool for significant performanc + included and improved version of threadpool for significant performanc + Included and improved version of ThreadPool for significant performance improvement under high load. - + Included contributed com.mortbay.Jetty.StressTester class - + LogHandler changed to support only a single outfile and optional append. - + Removed support for STF - + Servlet loader handles jar files with different files separator. - + ThreadedServer gently shuts down. - + Token effort to keep test files out of the jar + + included contributed com.mortbay.jetty.stresstester class included included + contributed com.mortbay.jetty.stresstester class Included contributed + com.mortbay.Jetty.StressTester class + + loghandler changed to support only a single outfile and optional appen + loghandler changed to support only a single outfile and optional appen + LogHandler changed to support only a single outfile and optional append. + + removed support for stf removed support for stf removed support for stf + Removed support for STF + + servlet loader handles jar files with different files separator. servl + servlet loader handles jar files with different files separator. Servlet + loader handles jar files with different files separator. + + threadedserver gently shuts down. threadedserver gently shuts down. + threadedserver gently shuts down. ThreadedServer gently shuts down. + + token effort to keep test files out of the jar token effort to keep te token + effort to keep test files out of the jar Token effort to keep test files out + of the jar jetty-2.2.Alpha1 - 07 May 1999 - + Call destroy on old servlets when reloading. - + Dynamic servlets can have autoReload configured - + Fixed bug in SessionDump - + Made capitalization of config file more consistent(ish) - + ServletHolder can auto reload servlets - + Wait for requests to complete before reloading. + + call destroy on old servlets when reloading. call destroy on old servl call + destroy on old servlets when reloading. Call destroy on old servlets when + reloading. + + dynamic servlets can have autoreload configured dynamic servlets can h + dynamic servlets can have autoreload configured Dynamic servlets can have + autoReload configured + + fixed bug in sessiondump fixed bug in sessiondump fixed bug in sessiondump + Fixed bug in SessionDump + + made capitalization of config file more consistent(ish) made capitaliz made + capitalization of config file more consistent(ish) Made capitalization of + config file more consistent(ish) + + servletholder can auto reload servlets servletholder can auto reload + servletholder can auto reload servlets ServletHolder can auto reload + servlets + + wait for requests to complete before reloading. wait for requests to wait + for requests to complete before reloading. Wait for requests to complete + before reloading. jetty-2.2.Alpha0 - 06 May 1999 - + Added reload method to ServletHolder, but no way to call it yet. - + Added ServletLoader implementation if ClassLoader. - + Changed options for FileServer - + Dynamic loading of servlets. - + Fixed date overflow in Cookies - + HttpHandlers given setProperties method to configure via Properties. - + HttpListener class can be configured - + HttpResponse.sendError avoids IllegalStateException - + Implemented ServletServer - + Improved PropertyTree implementation - + Improved SessionDump servlet - + Mime suffix mapping can be configured. - + New Server class using PropertyTree for configuration - + Old Jetty.Server class renamed to Jetty.Server21 - + Removed historic API from sessions - + Removed SimpleServletServer + + added reload method to servletholder, but no way to call it yet. added added + reload method to servletholder, but no way to call it yet. Added reload + method to ServletHolder, but no way to call it yet. + + added servletloader implementation if classloader. added servletloader added + servletloader implementation if classloader. Added ServletLoader + implementation if ClassLoader. + + changed options for fileserver changed options for fileserver changed + options for fileserver Changed options for FileServer + + dynamic loading of servlets. dynamic loading of servlets. dynamic loading of + servlets. Dynamic loading of servlets. + + fixed date overflow in cookies fixed date overflow in cookies fixed date + overflow in cookies Fixed date overflow in Cookies + + httphandlers given setproperties method to configure via properties. + httphandlers given setproperties method to configure via properties. + HttpHandlers given setProperties method to configure via Properties. + + httplistener class can be configured httplistener class can be configu + httplistener class can be configured HttpListener class can be configured + + httpresponse.senderror avoids illegalstateexception httpresponse.sende + httpresponse.senderror avoids illegalstateexception HttpResponse.sendError + avoids IllegalStateException + + implemented servletserver implemented servletserver implemented + servletserver Implemented ServletServer + + improved propertytree implementation improved propertytree implementat + improved propertytree implementation Improved PropertyTree implementation + + improved sessiondump servlet improved sessiondump servlet improved + sessiondump servlet Improved SessionDump servlet + + mime suffix mapping can be configured. mime suffix mapping can be mime + suffix mapping can be configured. Mime suffix mapping can be configured. + + new server class using propertytree for configuration new server class new + server class using propertytree for configuration New Server class using + PropertyTree for configuration + + old jetty.server class renamed to jetty.server21 old jetty.server clas old + jetty.server class renamed to jetty.server21 Old Jetty.Server class renamed + to Jetty.Server21 + + removed historic api from sessions removed historic api from sessions + removed historic api from sessions Removed historic API from sessions + + removed simpleservletserver removed simpleservletserver removed + simpleservletserver Removed SimpleServletServer jetty-2.1.7 - 22 April 1999 - + Fixed showstopper bug with getReader and getWriter in requests and - responses. - + HttpFilter uses package interface to get HttpOutputStream + + fixed showstopper bug with getreader and getwriter in requests and fix fixed + showstopper bug with getreader and getwriter in requests and Fixed + showstopper bug with getReader and getWriter in requests and responses. + + httpfilter uses package interface to get httpoutputstream httpfilter u + httpfilter uses package interface to get httpoutputstream HttpFilter uses + package interface to get HttpOutputStream jetty-2.1.6 - 21 April 1999 - + Added additional date formats for HttpHeader.getDateHeader - + New simpler version of PropertyTree - + Reduced initial size of most hashtables to reduce default memory overheads. - + Return EOF from HttpInputStream that has a content length. - + Throw IllegalStateException as required from gets of - input/output/reader/writer in requests/responses. - + Updated PropertyTreeEditor + + added additional date formats for httpheader.getdateheader added addit added + additional date formats for httpheader.getdateheader Added additional date + formats for HttpHeader.getDateHeader + + new simpler version of propertytree new simpler version of propertytre new + simpler version of propertytree New simpler version of PropertyTree + + reduced initial size of most hashtables to reduce default memory overh + reduced initial size of most hashtables to reduce default memory overh + Reduced initial size of most hashtables to reduce default memory overheads. + + return eof from httpinputstream that has a content length. return eof + return eof from httpinputstream that has a content length. Return EOF from + HttpInputStream that has a content length. + + throw illegalstateexception as required from gets of throw throw + illegalstateexception as required from gets of Throw IllegalStateException + as required from gets of input/output/reader/writer in requests/responses. + + updated propertytreeeditor updated propertytreeeditor updated + propertytreeeditor Updated PropertyTreeEditor jetty-2.1.5 - 15 April 1999 - + Added setType methods to com.mortbay.FTP.Ftp - + Fixed alignment bug in TableForm - + Fixed bug in ServletDispatch for null pathInfo - + Fixed bugs with invalid sessions - + Form parameters protected against multiple decodes when redirected. - + HtmlFilter now expands to the URL encoded session if required. - + Implemented HttpRequest.getReader() - + Instrumented most of the demo to support URL session encoding. - + Moved SessionHandler to front of stacks - + Page factory requires response for session encoding - + Reduced session memory overhead of sessions - + Removed RFCs from package - + Servlet log has been diverted to com.mortbay.Base.Log.event() Thus debug + + added settype methods to com.mortbay.ftp.ftp added settype methods to added + settype methods to com.mortbay.ftp.ftp Added setType methods to + com.mortbay.FTP.Ftp + + fixed alignment bug in tableform fixed alignment bug in tableform fixed + alignment bug in tableform Fixed alignment bug in TableForm + + fixed bug in servletdispatch for null pathinfo fixed bug in servletdis fixed + bug in servletdispatch for null pathinfo Fixed bug in ServletDispatch for + null pathInfo + + fixed bugs with invalid sessions fixed bugs with invalid sessions fixed bugs + with invalid sessions Fixed bugs with invalid sessions + + form parameters protected against multiple decodes when redirected. fo form + parameters protected against multiple decodes when redirected. Form + parameters protected against multiple decodes when redirected. + + htmlfilter now expands to the url encoded session if requi + htmlfilter now expands to the url encoded session if requi + HtmlFilter now expands to the URL encoded session if required. + + implemented httprequest.getreader() implemented httprequest.getreader( + implemented httprequest.getreader() Implemented HttpRequest.getReader() + + instrumented most of the demo to support url session encoding. instrum + instrumented most of the demo to support url session encoding. Instrumented + most of the demo to support URL session encoding. + + moved sessionhandler to front of stacks moved sessionhandler to front moved + sessionhandler to front of stacks Moved SessionHandler to front of stacks + + page factory requires response for session encoding page factory requi page + factory requires response for session encoding Page factory requires + response for session encoding + + reduced session memory overhead of sessions reduced session memory ove + reduced session memory overhead of sessions Reduced session memory overhead + of sessions + + removed rfcs from package removed rfcs from package removed rfcs from + package Removed RFCs from package + + servlet log has been diverted to com.mortbay.base.log.event() thus deb + servlet log has been diverted to com.mortbay.base.log.event() thus deb + Servlet log has been diverted to com.mortbay.Base.Log.event() Thus debug does not need to be turned on to see servlet logs. - + Session URL encoding fixed for relative URLs. + + session url encoding fixed for relative urls. session url encoding fix + session url encoding fixed for relative urls. Session URL encoding fixed for + relative URLs. jetty-2.1.4 - 26 March 1999 - + fixed bug in getRealPath - + Fixed problem compiling PathMap under some JDKs. - + getPathTranslated now call getRealPath with pathInfo (as per spec). - + HttpRequest attributes implemented. - + pathInfo returns null for zero length pathInfo (as per spec). Sorry if this + + fixed bug in getrealpath fixed bug in getrealpath fixed bug in getrealpath + fixed bug in getRealPath + + fixed problem compiling pathmap under some jdks. fixed problem compili fixed + problem compiling pathmap under some jdks. Fixed problem compiling PathMap + under some JDKs. + + getpathtranslated now call getrealpath with pathinfo (as per spec). + getpathtranslated now call getrealpath with pathinfo (as per spec). + getPathTranslated now call getRealPath with pathInfo (as per spec). + + httprequest attributes implemented. httprequest attributes implemented + httprequest attributes implemented. HttpRequest attributes implemented. + + pathinfo returns null for zero length pathinfo (as per spec). sorry if + pathinfo returns null for zero length pathinfo (as per spec). sorry if + pathInfo returns null for zero length pathInfo (as per spec). Sorry if this breaks your servlets - it is a pain! - + Reduced HTML dependence in HTTP package to allow minimal configuration - + Session max idle time implemented. - + Tightened license agreement so that binary distributions are required to + + reduced html dependence in http package to allow minimal configuration + reduced html dependence in http package to allow minimal configuration + Reduced HTML dependence in HTTP package to allow minimal configuration + + session max idle time implemented. session max idle time implemented. + session max idle time implemented. Session max idle time implemented. + + tightened license agreement so that binary distributions are required + tightened license agreement so that binary distributions are required + Tightened license agreement so that binary distributions are required to include the license file. jetty-2.1.3 - 19 March 1999 - + Added support for suffixes to PathMap - + Included GNUJSP implementation of Java Server Pages - + Use Java2 javadoc + + added support for suffixes to pathmap added support for suffixes to pa added + support for suffixes to pathmap Added support for suffixes to PathMap + + included gnujsp implementation of java server pages included gnujsp included + gnujsp implementation of java server pages Included GNUJSP implementation of + Java Server Pages + + use java2 javadoc use java2 javadoc use java2 javadoc Use Java2 javadoc jetty-2.1.2 - 09 March 1999 - + API documentation for JSDK 2.1.1 - + Cascading style sheet HTML element added. - + Converted most servlets to HttpServlets using do Methods. - + Fixed trailing / bug in FileHandler (again!). - + JSDK 2.1.1 + + api documentation for jsdk 2.1.1 api documentation for jsdk 2.1.1 api + documentation for jsdk 2.1.1 API documentation for JSDK 2.1.1 + + cascading style sheet html element added. cascading style sheet html e + cascading style sheet html element added. Cascading style sheet HTML element + added. + + converted most servlets to httpservlets using do methods. converted mo + converted most servlets to httpservlets using do methods. Converted most + servlets to HttpServlets using do Methods. + + fixed trailing / bug in filehandler (again!). fixed trailing / bug in fixed + trailing / bug in filehandler (again!). Fixed trailing / bug in FileHandler + (again!). + + jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 JSDK 2.1.1 jetty-2.1.1 - 05 March 1999 - + com.mortbay.Base.DateCache class added and used to speed date handling. - + Fast char buffer handling in HttpInputStream - + Faster version of HttpHeader.read() - + Faster version of HttpInputStream.readLine(). - + Faster version of HttpRequest - + Handle '.' in configured paths (temp fix until PropertyTrees) - + Reduced number of calls to getRemoteHost for optimization - + Size all StringBuffers + + com.mortbay.base.datecache class added and used to speed date handling + com.mortbay.base.datecache class added and used to speed date handling + com.mortbay.Base.DateCache class added and used to speed date handling. + + fast char buffer handling in httpinputstream fast char buffer handling fast + char buffer handling in httpinputstream Fast char buffer handling in + HttpInputStream + + faster version of httpheader.read() faster version of httpheader.read( + faster version of httpheader.read() Faster version of HttpHeader.read() + + faster version of httpinputstream.readline(). faster version of faster + version of httpinputstream.readline(). Faster version of + HttpInputStream.readLine(). + + faster version of httprequest faster version of httprequest faster version + of httprequest Faster version of HttpRequest + + handle '.' in configured paths (temp fix until propertytrees) handle ' + handle '.' in configured paths (temp fix until propertytrees) Handle '.' in + configured paths (temp fix until PropertyTrees) + + reduced number of calls to getremotehost for optimization reduced numb + reduced number of calls to getremotehost for optimization Reduced number of + calls to getRemoteHost for optimization + + size all stringbuffers size all stringbuffers size all stringbuffers Size + all StringBuffers jetty-2.1.0 - 22 February 1999 - + Deprecated com.mortbay.Util.STF - + getServlet methods return null. - + image/jpg -> image/jpeg - + PropertyTrees (see new Demo page) - + ServletDispatch (see new Demo page) - + Session URL Encoding + + deprecated com.mortbay.util.stf deprecated com.mortbay.util.stf deprecated + com.mortbay.util.stf Deprecated com.mortbay.Util.STF + + getservlet methods return null. getservlet methods return null. getservlet + methods return null. getServlet methods return null. + + image/jpg -> image/jpeg image/jpg -> image/jpeg image/jpg -> image/jpeg + image/jpg -> image/jpeg + + propertytrees (see new demo page) propertytrees (see new demo page) + propertytrees (see new demo page) PropertyTrees (see new Demo page) + + servletdispatch (see new demo page) servletdispatch (see new demo page + servletdispatch (see new demo page) ServletDispatch (see new Demo page) + + session url encoding session url encoding session url encoding Session URL + Encoding jetty-2.1.B1 - 13 February 1999 - + Added video/quicktime to default MIME types. - + Fixed bug with if-modified-since in FileHandler - + Fixed bug with MultipartRequest. - + Implemented getResource and getResourceAsStream (NOT Tested!). - + Implemented Handler translations and getRealPath. - + Implemented RequestDispatcher (NOT Tested!). - + Improved handling of File.separator in FileHandler. - + Replace package com.mortbay.Util.Gateway with class - com.mortbay.Util.InetGateway - + Updated DefaultExceptionHandler. - + Updated InetAddrPort. - + Updated URI. + + added video/quicktime to default mime types. added video/quicktime to added + video/quicktime to default mime types. Added video/quicktime to default MIME + types. + + fixed bug with if-modified-since in filehandler fixed bug with fixed bug + with if-modified-since in filehandler Fixed bug with if-modified-since in + FileHandler + + fixed bug with multipartrequest. fixed bug with multipartrequest. fixed bug + with multipartrequest. Fixed bug with MultipartRequest. + + implemented getresource and getresourceasstream (not tested!). impleme + implemented getresource and getresourceasstream (not tested!). Implemented + getResource and getResourceAsStream (NOT Tested!). + + implemented handler translations and getrealpath. implemented handler + implemented handler translations and getrealpath. Implemented Handler + translations and getRealPath. + + implemented requestdispatcher (not tested!). implemented requestdispat + implemented requestdispatcher (not tested!). Implemented RequestDispatcher + (NOT Tested!). + + improved handling of file.separator in filehandler. improved handling + improved handling of file.separator in filehandler. Improved handling of + File.separator in FileHandler. + + replace package com.mortbay.util.gateway with class replace package replace + package com.mortbay.util.gateway with class Replace package + com.mortbay.Util.Gateway with class com.mortbay.Util.InetGateway + + updated defaultexceptionhandler. updated defaultexceptionhandler. updated + defaultexceptionhandler. Updated DefaultExceptionHandler. + + updated inetaddrport. updated inetaddrport. updated inetaddrport. Updated + InetAddrPort. + + updated uri. updated uri. updated uri. Updated URI. jetty-2.1.B0 - 30 January 1999 - + Added plug gateway classes com.mortbay.Util.Gateway - + Added support for PUT, MOVE, DELETE in FileHandler - + FileHandler now sets content length. - + Fixed command line bug with SimpleServletConfig - + Minor changes to support MS J++ and its non standard language extensions - - MMMmmm should have left it unchanged! - + Uses JSDK2.1 API, but not all methods implemented. + + added plug gateway classes com.mortbay.util.gateway added plug gateway added + plug gateway classes com.mortbay.util.gateway Added plug gateway classes + com.mortbay.Util.Gateway + + added support for put, move, delete in filehandler added support for p added + support for put, move, delete in filehandler Added support for PUT, MOVE, + DELETE in FileHandler + + filehandler now sets content length. filehandler now sets content leng + filehandler now sets content length. FileHandler now sets content length. + + fixed command line bug with simpleservletconfig fixed command line bug fixed + command line bug with simpleservletconfig Fixed command line bug with + SimpleServletConfig + + minor changes to support ms j++ and its non standard language extensio minor + changes to support ms j++ and its non standard language extensio Minor + changes to support MS J++ and its non standard language extensions - MMMmmm + should have left it unchanged! + + uses jsdk2.1 api, but not all methods implemented. uses jsdk2.1 api, b uses + jsdk2.1 api, but not all methods implemented. Uses JSDK2.1 API, but not all + methods implemented. jetty-2.0.5 - 15 December 1998 - + added getHeaderNoParams - + Temp fix to getCharacterEncoding + + added getheadernoparams added getheadernoparams added getheadernoparams + added getHeaderNoParams + + temp fix to getcharacterencoding temp fix to getcharacterencoding temp fix + to getcharacterencoding Temp fix to getCharacterEncoding jetty-2.0.4 - 10 December 1998 - + Implement getCharacterEncoding - + Improved default Makefile behaviour - + Improved error code returns - + Portability issues solved for Apple's - + Removed MORTBAY_HOME support from Makefiles - + Use real release of JSDK2.0 (rather than beta). + + implement getcharacterencoding implement getcharacterencoding implement + getcharacterencoding Implement getCharacterEncoding + + improved default makefile behaviour improved default makefile behaviou + improved default makefile behaviour Improved default Makefile behaviour + + improved error code returns improved error code returns improved error code + returns Improved error code returns + + portability issues solved for apple's portability issues solved for ap + portability issues solved for apple's Portability issues solved for Apple's + + removed mortbay_home support from makefiles removed mortbay_home suppo + removed mortbay_home support from makefiles Removed MORTBAY_HOME support + from Makefiles + + use real release of jsdk2.0 (rather than beta). use real release of js use + real release of jsdk2.0 (rather than beta). Use real release of JSDK2.0 + (rather than beta). jetty-2.0.3 - 13 November 1998 - + Fix bug with index files for Jetty.Server. Previously servers configured - with com.mortbay.Jetty.Server would not handle index.html files. Need to - make this configurable in the prp file. - + Fixed errors in README file: com.mortbay.Jetty.Server was called - com.mortbay.HTTP.Server - + Limit threads in ThreadedServer and low priority listener option greatly - improve performance under worse case loads. + + fix bug with index files for jetty.server. previously servers configur fix + bug with index files for jetty.server. previously servers configur Fix bug + with index files for Jetty.Server. Previously servers configured with + com.mortbay.Jetty.Server would not handle index.html files. Need to make + this configurable in the prp file. + + fixed errors in readme file: com.mortbay.jetty.server was called fixed fixed + errors in readme file: com.mortbay.jetty.server was called Fixed errors in + README file: com.mortbay.Jetty.Server was called com.mortbay.HTTP.Server + + limit threads in threadedserver and low priority listener option great limit + threads in threadedserver and low priority listener option great Limit + threads in ThreadedServer and low priority listener option greatly improve + performance under worse case loads. jetty-2.0.2 - 01 November 1998 - + Add thread pool to threaded server for significant performance improvement. - + Buffer files during configuration - + Buffer HTTP Response headers. - + Use JETTY_HOME rather than MORTBAY_HOME for build environment + + add thread pool to threaded server for significant performance improve add + thread pool to threaded server for significant performance improve Add + thread pool to threaded server for significant performance improvement. + + buffer files during configuration buffer files during configuration buffer + files during configuration Buffer files during configuration + + buffer http response headers. buffer http response headers. buffer http + response headers. Buffer HTTP Response headers. + + use jetty_home rather than mortbay_home for build environment use jett use + jetty_home rather than mortbay_home for build environment Use JETTY_HOME + rather than MORTBAY_HOME for build environment jetty-2.0.1 - 27 October 1998 - + Released under an Open Source license. + + released under an open source license. released under an open source + released under an open source license. Released under an Open Source + license. jetty-2.0.0 - 25 October 1998 - + Added multipart/form-data demo. - + Fixed Code.formatObject handling of null objects. - + Removed Chat demo (too many netscape dependencies). - + Removed exceptional case from FileHandler redirect. + + added multipart/form-data demo. added multipart/form-data demo. added + multipart/form-data demo. Added multipart/form-data demo. + + fixed code.formatobject handling of null objects. fixed code.formatobj fixed + code.formatobject handling of null objects. Fixed Code.formatObject handling + of null objects. + + removed chat demo (too many netscape dependencies). removed chat demo + removed chat demo (too many netscape dependencies). Removed Chat demo (too + many netscape dependencies). + + removed exceptional case from filehandler redirect. removed exceptiona + removed exceptional case from filehandler redirect. Removed exceptional case + from FileHandler redirect. jetty-2.0.Beta3 - 29 September 1998 - + Added com.mortbay.HTTP.MultiPartRequest to handle file uploads - + Added com.mortbay.Jetty.Server (see README.Jetty) - + Demo converted to an instance of com.mortbay.Jetty.Server - + Fixed Log Handler again. - + Ignore exception from HttpListener - + Properly implemented multiple listening addresses - + Send 301 for directories without trailing / in FileHandler + + added com.mortbay.http.multipartrequest to handle file uploads added added + com.mortbay.http.multipartrequest to handle file uploads Added + com.mortbay.HTTP.MultiPartRequest to handle file uploads + + added com.mortbay.jetty.server (see readme.jetty) added added + com.mortbay.jetty.server (see readme.jetty) Added com.mortbay.Jetty.Server + (see README.Jetty) + + demo converted to an instance of com.mortbay.jetty.server demo convert demo + converted to an instance of com.mortbay.jetty.server Demo converted to an + instance of com.mortbay.Jetty.Server + + fixed log handler again. fixed log handler again. fixed log handler again. + Fixed Log Handler again. + + ignore exception from httplistener ignore exception from httplistener ignore + exception from httplistener Ignore exception from HttpListener + + properly implemented multiple listening addresses properly implemented + properly implemented multiple listening addresses Properly implemented + multiple listening addresses + + send 301 for directories without trailing / in filehandler send 301 fo send + 301 for directories without trailing / in filehandler Send 301 for + directories without trailing / in FileHandler jetty-2.0Beta2 - 01 July 1998 - + Fixed Log Handler for HTTP/1.1 - + Slight improvement in READMEEs + + fixed log handler for http/1.1 fixed log handler for http/1.1 fixed log + handler for http/1.1 Fixed Log Handler for HTTP/1.1 + + slight improvement in readmees slight improvement in readmees slight + improvement in readmees Slight improvement in READMEEs jetty-2.0Beta1 - 01 June 1998 - + Fixed bug with calls to service during initialization of servlet - + Handle full URLs in HTTP requests (to some extent) - + Improved performance of Code.debug() calls, significantly in the case of non + + fixed bug with calls to service during initialization of servlet fixed fixed + bug with calls to service during initialization of servlet Fixed bug with + calls to service during initialization of servlet + + handle full urls in http requests (to some extent) handle full urls in + handle full urls in http requests (to some extent) Handle full URLs in HTTP + requests (to some extent) + + improved performance of code.debug() calls, significantly in the case + improved performance of code.debug() calls, significantly in the case + Improved performance of Code.debug() calls, significantly in the case of non matching debug patterns. - + Improved performance with special asciiToLowerCase - + Provided addSection on com.mortbay.HTML.Page - + Provided reset on com.mortbay.HTML.Composite. - + Proxy demo in different server instance - + Warn if MSIE used for multi part MIME. + + improved performance with special asciitolowercase improved performanc + improved performance with special asciitolowercase Improved performance with + special asciiToLowerCase + + provided addsection on com.mortbay.html.page provided addsection on provided + addsection on com.mortbay.html.page Provided addSection on + com.mortbay.HTML.Page + + provided reset on com.mortbay.html.composite. provided reset on provided + reset on com.mortbay.html.composite. Provided reset on + com.mortbay.HTML.Composite. + + proxy demo in different server instance proxy demo in different server proxy + demo in different server instance Proxy demo in different server instance + + warn if msie used for multi part mime. warn if msie used for multi par warn + if msie used for multi part mime. Warn if MSIE used for multi part MIME. jetty-2.0Alpha2 - 01 May 1998 - + Added date format to Log - + Added timezone to Log - + Handle params in getIntHeader and getDateHeader - + Handle Single Threaded servlets with servlet pool - + JDK1.2 javax.servlet API - + Removed HttpRequest.getByteContent - + Use javax.servlet.http.Cookie - + Use javax.servlet.http.HttpSession - + Use javax.servlet.http.HttpUtils.parsePostData + + added date format to log added date format to log added date format to log + Added date format to Log + + added timezone to log added timezone to log added timezone to log Added + timezone to Log + + handle params in getintheader and getdateheader handle params in handle + params in getintheader and getdateheader Handle params in getIntHeader and + getDateHeader + + handle single threaded servlets with servlet pool handle single thread + handle single threaded servlets with servlet pool Handle Single Threaded + servlets with servlet pool + + jdk1.2 javax.servlet api jdk1.2 javax.servlet api jdk1.2 javax.servlet api + JDK1.2 javax.servlet API + + removed httprequest.getbytecontent removed httprequest.getbytecontent + removed httprequest.getbytecontent Removed HttpRequest.getByteContent + + use javax.servlet.http.cookie use javax.servlet.http.cookie use + javax.servlet.http.cookie Use javax.servlet.http.Cookie + + use javax.servlet.http.httpsession use javax.servlet.http.httpsession use + javax.servlet.http.httpsession Use javax.servlet.http.HttpSession + + use javax.servlet.http.httputils.parsepostdata use use + javax.servlet.http.httputils.parsepostdata Use + javax.servlet.http.HttpUtils.parsePostData jetty-1.3.5 - 01 May 1998 - + Added date format to Log - + Correct handling of multiple parameters - + Debug triggers added to com.mortbay.Base.Code - + Fixed socket inet bug in FTP + + added date format to log added date format to log added date format to log + Added date format to Log + + correct handling of multiple parameters correct handling of multiple correct + handling of multiple parameters Correct handling of multiple parameters + + debug triggers added to com.mortbay.base.code debug triggers added to debug + triggers added to com.mortbay.base.code Debug triggers added to + com.mortbay.Base.Code + + fixed socket inet bug in ftp fixed socket inet bug in ftp fixed socket inet + bug in ftp Fixed socket inet bug in FTP jetty-2.0Alpha1 - 08 April 1998 - + accept chunked data - + Add HTTP/1.1 Date: header - + Correct formatting of Date HTTP headers - + Debug triggers added to com.mortbay.Base.Code - + Fixed forward bug with no port number - + handle extra spaces in HTTP headers - + Handle file requests with If-Modified-Since: or If-Unmodified-Since: - + Handle HEAD properly - + Handle HTTP/1.1 Host: header - + HttpTests test harness - + persistent connections - + Really fixed handling of multiple parameters - + Removed HttpRequestHeader class - + Requires Host: header for 1.1 requests - + Send 100 Continue for HTTP/1.1 requests (concerned about push???) - + Send Connection: close - + Sends chunked data for 1.1 responses of unknown length. + + accept chunked data accept chunked data accept chunked data accept chunked + data + + add http/1.1 date: header add http/1.1 date: header add http/1.1 date: + header Add HTTP/1.1 Date: header + + correct formatting of date http headers correct formatting of date htt + correct formatting of date http headers Correct formatting of Date HTTP + headers + + debug triggers added to com.mortbay.base.code debug triggers added to debug + triggers added to com.mortbay.base.code Debug triggers added to + com.mortbay.Base.Code + + fixed forward bug with no port number fixed forward bug with no port n fixed + forward bug with no port number Fixed forward bug with no port number + + handle extra spaces in http headers handle extra spaces in http header + handle extra spaces in http headers handle extra spaces in HTTP headers + + handle file requests with if-modified-since: or if-unmodified-since: h + handle file requests with if-modified-since: or if-unmodified-since: Handle + file requests with If-Modified-Since: or If-Unmodified-Since: + + handle head properly handle head properly handle head properly Handle HEAD + properly + + handle http/1.1 host: header handle http/1.1 host: header handle http/1.1 + host: header Handle HTTP/1.1 Host: header + + httptests test harness httptests test harness httptests test harness + HttpTests test harness + + persistent connections persistent connections persistent connections + persistent connections + + really fixed handling of multiple parameters really fixed handling of really + fixed handling of multiple parameters Really fixed handling of multiple + parameters + + removed httprequestheader class removed httprequestheader class removed + httprequestheader class Removed HttpRequestHeader class + + requires host: header for 1.1 requests requires host: header for 1.1 + requires host: header for 1.1 requests Requires Host: header for 1.1 + requests + + send 100 continue for http/1.1 requests (concerned about push???) send send + 100 continue for http/1.1 requests (concerned about push???) Send 100 + Continue for HTTP/1.1 requests (concerned about push???) + + send connection: close send connection: close send connection: close Send + Connection: close + + sends chunked data for 1.1 responses of unknown length. sends chunked sends + chunked data for 1.1 responses of unknown length. Sends chunked data for 1.1 + responses of unknown length. jetty-1.3.4 - 15 March 1998 - + Dump servlet enhanced to exercise these changes. - + Fixed handling of multiple parameters in query and form content. - "?A=1%2C2&A=C%2CD" now returns two values ("1,2" & "C,D") rather than 4. - + ServletHandler now takes an optional file base directory name which is used + + dump servlet enhanced to exercise these changes. dump servlet enhanced dump + servlet enhanced to exercise these changes. Dump servlet enhanced to + exercise these changes. + + fixed handling of multiple parameters in query and form content. fixed fixed + handling of multiple parameters in query and form content. Fixed handling of + multiple parameters in query and form content. "?A=1%2C2&A=C%2CD" now + returns two values ("1,2" & "C,D") rather than 4. + + servlethandler now takes an optional file base directory name which is + servlethandler now takes an optional file base directory name which is + ServletHandler now takes an optional file base directory name which is used to set the translated path for pathInfo in servlet requests. jetty-1.3.3 - + Closed exception window in HttpListener.java - + Fixed TableForm.addButtonArea bug. - + TableForm.extendRow() uses existing cell + + closed exception window in httplistener.java closed exception window i + closed exception window in httplistener.java Closed exception window in + HttpListener.java + + fixed tableform.addbuttonarea bug. fixed tableform.addbuttonarea bug. fixed + tableform.addbuttonarea bug. Fixed TableForm.addButtonArea bug. + + tableform.extendrow() uses existing cell tableform.extendrow() uses ex + tableform.extendrow() uses existing cell TableForm.extendRow() uses existing + cell jetty-1.3.2 - + Added per Table cell composite factories - + Fixed proxy bug with no port number + + added per table cell composite factories added per table cell composit added + per table cell composite factories Added per Table cell composite factories + + fixed proxy bug with no port number fixed proxy bug with no port numbe fixed + proxy bug with no port number Fixed proxy bug with no port number jetty-1.3.1 - + Better handling of InvocationTargetException in debug - + ForwardHandler only forwards as http/1.0 (from Tobias.Miller) - + Improved parsing of stack traces - + Minor fixes in SmtpMail - + Minor release adjustments for Tracker + + better handling of invocationtargetexception in debug better handling + better handling of invocationtargetexception in debug Better handling of + InvocationTargetException in debug + + forwardhandler only forwards as http/1.0 (from tobias.miller) forwardh + forwardhandler only forwards as http/1.0 (from tobias.miller) ForwardHandler + only forwards as http/1.0 (from Tobias.Miller) + + improved parsing of stack traces improved parsing of stack traces improved + parsing of stack traces Improved parsing of stack traces + + minor fixes in smtpmail minor fixes in smtpmail minor fixes in smtpmail + Minor fixes in SmtpMail + + minor release adjustments for tracker minor release adjustments for tr minor + release adjustments for tracker Minor release adjustments for Tracker jetty-1.3.0 - + Added DbAdaptor to JDBC wrappers - + Beta release of Tracker + + added dbadaptor to jdbc wrappers added dbadaptor to jdbc wrappers added + dbadaptor to jdbc wrappers Added DbAdaptor to JDBC wrappers + + beta release of tracker beta release of tracker beta release of tracker Beta + release of Tracker jetty-1.2.0 - + Alternate look and feel for Jetty - + Better Debug configuration - + DebugServlet - + Fixed install bug for nested classes - + Reintroduced STF + + alternate look and feel for jetty alternate look and feel for jetty + alternate look and feel for jetty Alternate look and feel for Jetty + + better debug configuration better debug configuration better debug + configuration Better Debug configuration + + debugservlet debugservlet debugservlet DebugServlet + + fixed install bug for nested classes fixed install bug for nested clas fixed + install bug for nested classes Fixed install bug for nested classes + + reintroduced stf reintroduced stf reintroduced stf Reintroduced STF jetty-1.1.1 - + Improved documentation + + improved documentation improved documentation improved documentation + Improved documentation jetty-1.1 - + Improved connection caching in java.mortbay.JDBC - + Moved HttpCode to com.mortbay.Util + + improved connection caching in java.mortbay.jdbc improved connection c + improved connection caching in java.mortbay.jdbc Improved connection caching + in java.mortbay.JDBC + + moved httpcode to com.mortbay.util moved httpcode to com.mortbay.util moved + httpcode to com.mortbay.util Moved HttpCode to com.mortbay.Util jetty-1.0.1 - + Bug fixes + + bug fixes bug fixes bug fixes Bug fixes jetty-1.0 - + First release in com.mortbay package structure - + Included Util, JDBC, HTML, HTTP, Jetty + + first release in com.mortbay package structure first release in com.mo first + release in com.mortbay package structure First release in com.mortbay + package structure + + included util, jdbc, html, http, jetty included util, jdbc, html, http + included util, jdbc, html, http, jetty Included Util, JDBC, HTML, HTTP, + Jetty diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index b9bb01834d8..9cc32f7059e 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 4e269db70aa..939f7604ba1 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index 6e7a2b0868e..bd303e219e8 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 9050948bd1d..4ad47576466 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index a5ed5337da9..03fd4ac87a8 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 7a8c60c7a1a..5c8dd815a0d 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index d6348b7a5ad..93d9270fea5 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 7fbcf0619b5..b6ca55770fb 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index dd74c23164b..1bd1e617e4e 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 42d3aa3f3a1..9d30a1bee7a 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 00691005869..eb0443041f5 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 0e06a79b59a..f40c51de3d4 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index c224113c64c..d845f6eb2b1 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index eeec0f52747..e387b62da5d 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index 4bdd6c1a3a6..25feb30e2cf 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index 65e09159b11..576286e0b3f 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index a4ae6af2215..263317b54d2 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index 78ee055565e..f20ea29596f 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index a54d965d325..e7e1c940c75 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index 5fc3b400657..393febe4ac4 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 93f909ef239..0f9bf25bf59 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index 050d64335fd..22b675fe990 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 6e39ced70f4..4e523cbc400 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index ccb5676f37f..ac108725202 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 5622861528d..f841ac92789 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index ed8374485dc..4eca99c5ac9 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index b78383ec4e9..140697dbe20 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index ef86b8b663c..a8f47a538c1 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml index 0b93ac00f61..3e36b92b781 100644 --- a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index e5a59fc6967..6e9ec5a8f6f 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index d9cd44d4df8..33915f46944 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 7f10d0ec394..46da956c166 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index e0e00470f03..80607cabd1a 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index 08c5ea7433d..e048d5586d0 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 6daad3b013e..538c4b08f93 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 183e6f119a4..47330017adc 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 0f05ea5efea..89891cacd75 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index 51cb69c469f..d2f6a6696d0 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 1f98b7c2081..0d6087aa301 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 6d26e00d658..448eb6c023e 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 5bbe1e98259..5e46ec55cfb 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index fc36de57af5..c9167d3dbd3 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index aa2a710bfbb..80565fa762c 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index edd6c288bab..05f7804b6a2 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 9ac78d37374..2ea102d1a5e 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 4c43087d190..2db02eb0a2e 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index f3845911cc9..50265250efc 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 5c07c44ccee..64f939395b1 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-maven-plugin diff --git a/jetty-monitor/pom.xml b/jetty-monitor/pom.xml index 7f4277b4fde..b8a346eff37 100644 --- a/jetty-monitor/pom.xml +++ b/jetty-monitor/pom.xml @@ -19,7 +19,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-monitor diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 7284bbfdf47..3bfcb5020e7 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index 375bda04d26..719156f927a 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index f07bbf5111a..4bb79dbd0f9 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index d37e806668a..c2b77d10df5 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index bf65330e1b8..24e8036e3ed 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index add7b3a3182..37d8e7c2453 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index f36272cc0ae..264ab7c4419 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 2e5aa552fcb..fdc23825aee 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index 554d2662e71..d3e258dd5bb 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index 6f4d3f6ce4e..341abeb3033 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index a9ea107b9e8..e2aae248eba 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index 0a9941facc9..e5608b3bc73 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index 57bbe0c37df..62590c8a8b4 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 2a74ee2727c..2b7e4e04fab 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 199768d8fcb..4e66657e2cb 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 9b562172b81..52cb3e2eb23 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index 1c054083087..c39f75dfd96 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index 834ee00b898..951f91fc7ce 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index e2477e4ba12..22f79554912 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index d552992e935..c69ebd742c5 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index 43d54f377cf..fa9a226698c 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 00fe62f6e8c..1d3ba1ff5a9 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-start diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index 43acf0d8951..9b849f75cc2 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index 254861c2ad1..f4e275591b3 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 97152ec4bc6..fd702c9d478 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 6ff6f668438..8df0f769c3e 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 5b277fd43f4..5a1c73a4335 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index c674ee00fc1..2a34b960cc8 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 7e14f7640ad..4429b885ab0 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index c412933a99d..c55b26ce814 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index de5f8e0a90e..802b1fec5f1 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index e3dda805001..ac8d81ecbd8 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 07bf8a9e8a4..f0344864d39 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index f5e8889540b..8fd1ee2085b 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 5c1dc8c4b48..78e76f5ebf4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 25 jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 Jetty :: Project http://www.eclipse.org/jetty pom diff --git a/tests/pom.xml b/tests/pom.xml index df1ce1a0490..30ca6bb1751 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index c483bd96e85..8f452b66619 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index b835c863c81..4498109a54b 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index d5a8ab6cf2d..1bd90e0099e 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index a1a6cf9382b..7908dbef6a5 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 60ce51fd00c..b5fa3fa0198 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 880282cf25c..84436367a1b 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 01037237355..8913a70e29e 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index 5cb2e5c73ba..e45ce1833e9 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 723dd2d4127..48905b84e40 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml index a59d1139570..339f703c69a 100644 --- a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-gcloud-memcached-sessions Jetty Tests :: Sessions :: GCloud with Memcached diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index 3421733d0d4..74314260da6 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index 25bec59849b..6c89b605338 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 1b6033adf15..c07b5594bb9 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 6e83c739abf..1d8e27fd7f8 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 0c366637036..77542bd743a 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 82f20629a72..750871f886e 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 221a16b4056..666bed0f807 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 2ac7fbcd99e..a0278647aea 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index 4047be7163f..58ad2214844 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 1c9b3cc32aa..a04af5d3e7a 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index fce35f0a6ea..72b884e655b 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index 3cd613f8785..f657fc935dc 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 8fb930235ec..af8f80fae86 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 0168c6a249d..17bae6a717b 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 5ab7382ee11..63c4db32143 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index d6da041f16a..10da372bcf2 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 3a643a2b768..f5369b6dc8e 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13-SNAPSHOT + 9.3.13.v20161014 test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From ade14ba34bec40651ea66f6840615c53a1dbe2cb Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 14 Oct 2016 11:33:51 -0700 Subject: [PATCH 002/109] Updating to version 9.3.14-SNAPSHOT --- VERSION.txt | 2 ++ aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml | 2 +- jetty-gcloud/jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- jetty-http2/http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- jetty-monitor/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- jetty-websocket/javax-websocket-client-impl/pom.xml | 2 +- jetty-websocket/javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- tests/test-sessions/test-gcloud-memcached-sessions/pom.xml | 2 +- tests/test-sessions/test-gcloud-sessions/pom.xml | 2 +- tests/test-sessions/test-hash-sessions/pom.xml | 2 +- tests/test-sessions/test-infinispan-sessions/pom.xml | 2 +- tests/test-sessions/test-jdbc-sessions/pom.xml | 2 +- tests/test-sessions/test-mongodb-sessions/pom.xml | 2 +- tests/test-sessions/test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- tests/test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-servlet-spec/test-container-initializer/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml | 2 +- tests/test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 113 files changed, 114 insertions(+), 112 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 9b07018cc7c..449a1525dc5 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,3 +1,5 @@ +jetty-9.3.14-SNAPSHOT + jetty-9.3.13.v20161014 - 14 October 2016 + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid memory leak diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 9cc32f7059e..77cd1a5d1d5 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 939f7604ba1..f53ae54f931 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index bd303e219e8..e69c9396a87 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 4ad47576466..e6eae088bad 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 03fd4ac87a8..438de03cb2d 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 5c8dd815a0d..f480c913657 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index 93d9270fea5..db316c75f91 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index b6ca55770fb..0835e608460 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index 1bd1e617e4e..ccd28f80d3e 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 9d30a1bee7a..5ad8d195091 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index eb0443041f5..088bdaf1519 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index f40c51de3d4..84bf734b8c6 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index d845f6eb2b1..67d5a8574d7 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index e387b62da5d..883ec15972e 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index 25feb30e2cf..f798776056d 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index 576286e0b3f..e038bc431c8 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index 263317b54d2..621ff4593c4 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index f20ea29596f..618b380388c 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index e7e1c940c75..17e5efb0023 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index 393febe4ac4..59d419468c4 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 0f9bf25bf59..d43fdcd25fe 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index 22b675fe990..6d426c1d300 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 4e523cbc400..9e6c84b4eed 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index ac108725202..2d8d0f72cf2 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index f841ac92789..e41d71a11e5 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 4eca99c5ac9..36a7154bcbe 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 140697dbe20..95c8ea6062e 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index a8f47a538c1..71f9654e706 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml index 3e36b92b781..f56e8e5d919 100644 --- a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 6e9ec5a8f6f..157ffe4856a 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 33915f46944..6a35acddb3f 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 46da956c166..e1cb9b8a8d4 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index 80607cabd1a..e600e12d654 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index e048d5586d0..a14c9514966 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 538c4b08f93..ac61e2f87a0 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 47330017adc..5f5bc632086 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 89891cacd75..dea3536a44b 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index d2f6a6696d0..0fd4ae023ed 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 0d6087aa301..7ac426169db 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 448eb6c023e..739dc0e5e91 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 5e46ec55cfb..ff0cd8a7a25 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index c9167d3dbd3..18844347086 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 80565fa762c..ff59c9f42a6 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index 05f7804b6a2..f63afaef061 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 2ea102d1a5e..966ffb3a932 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 2db02eb0a2e..4e1b7e45ee0 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 50265250efc..6986737b357 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 64f939395b1..1c44b58a62c 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-maven-plugin diff --git a/jetty-monitor/pom.xml b/jetty-monitor/pom.xml index b8a346eff37..e88fdaf12af 100644 --- a/jetty-monitor/pom.xml +++ b/jetty-monitor/pom.xml @@ -19,7 +19,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-monitor diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 3bfcb5020e7..fb33560e7a7 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index 719156f927a..8becb5b0b6f 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index 4bb79dbd0f9..2376eb52bab 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index c2b77d10df5..a9e09652751 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 24e8036e3ed..aa2472250d6 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index 37d8e7c2453..f8cc6b8b299 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 264ab7c4419..6850a9e0fab 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index fdc23825aee..5a6c8cdb69d 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index d3e258dd5bb..69e2fb2fce0 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index 341abeb3033..1335078fdd9 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index e2aae248eba..d95bb35919a 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index e5608b3bc73..8b8478446ab 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index 62590c8a8b4..70161263ea5 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 2b7e4e04fab..8cee4f98ea9 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 4e66657e2cb..e9e1068da9f 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 52cb3e2eb23..9200294df94 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index c39f75dfd96..466affeeadc 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index 951f91fc7ce..a804306c22a 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index 22f79554912..059e0c32684 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index c69ebd742c5..087d3267f15 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index fa9a226698c..a8fbec1c7b1 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 1d3ba1ff5a9..b7de4e16b3d 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-start diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index 9b849f75cc2..ac68ae6196e 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index f4e275591b3..bf5fb3941cf 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index fd702c9d478..87c8e95a6c4 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 8df0f769c3e..75247b8f464 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 5a1c73a4335..79b007471b8 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index 2a34b960cc8..80033281236 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 4429b885ab0..5f58acd85de 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index c55b26ce814..80e262ae6e1 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index 802b1fec5f1..d5129cc78dc 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index ac8d81ecbd8..d20cadbce43 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index f0344864d39..6f62104a93a 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index 8fd1ee2085b..3823cdc6f6e 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 78e76f5ebf4..842c309d5c9 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 25 jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT Jetty :: Project http://www.eclipse.org/jetty pom diff --git a/tests/pom.xml b/tests/pom.xml index 30ca6bb1751..6f9b746af5f 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 8f452b66619..8919a1edb91 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index 4498109a54b..5c059152885 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index 1bd90e0099e..8246c78029e 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index 7908dbef6a5..bbb60ec6f8e 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index b5fa3fa0198..7b12ae54ce0 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 84436367a1b..a61a2eb872b 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 8913a70e29e..37015c72e0c 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index e45ce1833e9..200acb9ec26 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 48905b84e40..7545e51a7ea 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml index 339f703c69a..13e9927af06 100644 --- a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-gcloud-memcached-sessions Jetty Tests :: Sessions :: GCloud with Memcached diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index 74314260da6..7d6c221a2df 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index 6c89b605338..910ef552458 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index c07b5594bb9..c050758583e 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 1d8e27fd7f8..b9adac56824 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 77542bd743a..21b0b292ca0 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 750871f886e..8595d463677 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 666bed0f807..14f686c887e 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index a0278647aea..5902f17cefe 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index 58ad2214844..c91afeda7a4 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index a04af5d3e7a..6c11927cd0f 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index 72b884e655b..a223b230b76 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index f657fc935dc..a9a60042c24 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index af8f80fae86..b4ecfb70b6e 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 17bae6a717b..59213709d7a 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 63c4db32143..bb775ba1f10 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index 10da372bcf2..c2246677d14 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index f5369b6dc8e..9de46c9d54d 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.13.v20161014 + 9.3.14-SNAPSHOT test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From 97470c4736427d2f85f7fedd35c8ecc790b65b89 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 20 Oct 2016 17:42:42 +1100 Subject: [PATCH 003/109] Overlay directories for modules #1013 Implemented overlay directories for modules. Implemented by extending the basehome initializer to be able to handle directory to directory copies, with a default of jetty.base if no location is specified. --- .../main/config/modules/gcloud-datastore.mod | 97 ++++---- .../org/eclipse/jetty/start/BaseBuilder.java | 121 +++------- .../main/java/org/eclipse/jetty/start/FS.java | 4 + .../java/org/eclipse/jetty/start/FileArg.java | 12 +- .../eclipse/jetty/start/FileInitializer.java | 207 +++++++++++++++++- .../java/org/eclipse/jetty/start/Main.java | 2 +- .../org/eclipse/jetty/start/StartArgs.java | 41 ++-- .../fileinits/BaseHomeFileInitializer.java | 69 ++++-- .../start/fileinits/LocalFileInitializer.java | 87 ++++++++ .../MavenLocalRepoFileInitializer.java | 51 +++-- .../start/fileinits/TestFileInitializer.java | 30 ++- .../start/fileinits/UriFileInitializer.java | 115 +--------- .../usecases/basehome.withfiles.assert.txt | 15 ++ .../usecases/basehome.withfiles.prepare.txt | 2 + .../usecases/basehome/modules/withfiles.mod | 12 + .../modules/withfiles/four/sub/dir/test.txt | 1 + .../basehome/modules/withfiles/four/test.txt | 1 + .../basehome/modules/withfiles/test.txt | 1 + .../modules/jcl/commons-logging.properties | 1 - .../src/main/config/modules/jul-impl.mod | 3 +- .../{ => etc}/java-util-logging.properties | 0 .../src/main/config/modules/jul-slf4j.mod | 3 +- .../{ => etc}/java-util-logging.properties | 0 .../src/main/config/modules/log4j-impl.mod | 3 +- .../{log4j => log4j-impl/resources}/log4j.xml | 0 .../src/main/config/modules/log4j2-impl.mod | 3 +- .../resources}/log4j2.xml | 4 +- .../src/main/config/modules/logback-impl.mod | 3 +- .../resources}/logback.xml | 0 .../src/main/config/modules/logging-jetty.mod | 2 +- .../{ => resources}/jetty-logging.properties | 0 .../src/main/config/modules/slf4j-logback.mod | 1 - .../main/config/modules/slf4j-simple-impl.mod | 3 +- .../resources}/simplelogger.properties | 0 34 files changed, 561 insertions(+), 333 deletions(-) create mode 100644 jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/LocalFileInitializer.java create mode 100644 jetty-start/src/test/resources/usecases/basehome.withfiles.assert.txt create mode 100644 jetty-start/src/test/resources/usecases/basehome.withfiles.prepare.txt create mode 100644 jetty-start/src/test/resources/usecases/basehome/modules/withfiles.mod create mode 100644 jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/sub/dir/test.txt create mode 100644 jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/test.txt create mode 100644 jetty-start/src/test/resources/usecases/basehome/modules/withfiles/test.txt delete mode 100644 jetty-util/src/main/config/modules/jcl/commons-logging.properties rename jetty-util/src/main/config/modules/jul-impl/{ => etc}/java-util-logging.properties (100%) rename jetty-util/src/main/config/modules/jul-slf4j/{ => etc}/java-util-logging.properties (100%) rename jetty-util/src/main/config/modules/{log4j => log4j-impl/resources}/log4j.xml (100%) rename jetty-util/src/main/config/modules/{log4j2 => log4j2-impl/resources}/log4j2.xml (87%) rename jetty-util/src/main/config/modules/{logback => logback-impl/resources}/logback.xml (100%) rename jetty-util/src/main/config/modules/logging-jetty/{ => resources}/jetty-logging.properties (100%) rename jetty-util/src/main/config/modules/{slf4j => slf4j-simple-impl/resources}/simplelogger.properties (100%) diff --git a/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod b/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod index ef41e952f9c..d87ad7f94c4 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod +++ b/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod @@ -8,68 +8,67 @@ gcloud [depends] gcloud jcl-slf4j -jul-slf4j +jul-impl [files] -maven://com.google.cloud/google-cloud-datastore/0.4.0|lib/gcloud/google-cloud-datastore-0.4.0.jar -maven://com.google.cloud/google-cloud-core/0.4.0|lib/gcloud/google-cloud-core-0.4.0.jar +maven://aopalliance/aopalliance/1.0|lib/gcloud/aopalliance-1.0.jar +maven://com.fasterxml.jackson.core/jackson-core/2.1.3|lib/gcloud/jackson-core-2.1.3.jar +maven://com.google.api-client/google-api-client-appengine/1.21.0|lib/gcloud/google-api-client-appengine-1.21.0.jar +maven://com.google.api-client/google-api-client-servlet/1.21.0|lib/gcloud/google-api-client-servlet-1.21.0.jar +maven://com.google.api-client/google-api-client/1.20.0|lib/gcloud/google-api-client-1.20.0.jar +maven://com.google.api.grpc/grpc-google-common-protos/0.1.0|lib/gcloud/grpc-google-common-protos-0.1.0.jar +maven://com.google.api.grpc/grpc-google-iam-v1/0.1.0|lib/gcloud/grpc-google-iam-v1-0.1.0.jar +maven://com.google.api/gax/0.0.18|lib/gcloud/gax-0.0.18.jar maven://com.google.auth/google-auth-library-credentials/0.3.1|lib/gcloud/google-auth-library-credentials-0.3.1.jar maven://com.google.auth/google-auth-library-oauth2-http/0.3.1|lib/gcloud/google-auth-library-oauth2-http-0.3.1.jar -maven://com.google.http-client/google-http-client-jackson2/1.19.0|lib/gcloud/google-http-client-jackson2-1.19.0.jar -maven://com.fasterxml.jackson.core/jackson-core/2.1.3|lib/gcloud/jackson-core-2.1.3.jar -maven://com.google.http-client/google-http-client/1.21.0|lib/gcloud/google-http-client-1.21.0.jar +maven://com.google.auto.value/auto-value/1.1|lib/gcloud/auto-value-1.1.jar +maven://com.google.cloud.datastore/datastore-v1-proto-client/1.2.0|lib/gcloud/datastore-v1-proto-client-1.2.0.jar +maven://com.google.cloud.datastore/datastore-v1-protos/1.2.0|lib/gcloud/datastore-v1-protos-1.2.0.jar +maven://com.google.cloud/google-cloud-core/0.4.0|lib/gcloud/google-cloud-core-0.4.0.jar +maven://com.google.cloud/google-cloud-datastore/0.4.0|lib/gcloud/google-cloud-datastore-0.4.0.jar maven://com.google.code.findbugs/jsr305/1.3.9|lib/gcloud/jsr305-1.3.9.jar -maven://org.apache.httpcomponents/httpclient/4.0.1|lib/gcloud/httpclient-4.0.1.jar -maven://org.apache.httpcomponents/httpcore/4.0.1|lib/gcloud/httpcore-4.0.1.jar -maven://commons-codec/commons-codec/1.3|lib/gcloud/commons-codec-1.3.jar -maven://com.google.oauth-client/google-oauth-client/1.21.0|lib/gcloud/google-oauth-client-1.21.0.jar +maven://com.google.code.gson/gson/2.3|lib/gcloud/gson-2.3.jar maven://com.google.guava/guava/19.0|lib/gcloud/guava-19.0.jar -maven://com.google.api-client/google-api-client-appengine/1.21.0|lib/gcloud/google-api-client-appengine-1.21.0.jar -maven://com.google.oauth-client/google-oauth-client-appengine/1.21.0|lib/gcloud/google-oauth-client-appengine-1.21.0.jar -maven://com.google.oauth-client/google-oauth-client-servlet/1.21.0|lib/gcloud/google-oauth-client-servlet-1.21.0.jar -maven://com.google.http-client/google-http-client-jdo/1.21.0|lib/gcloud/google-http-client-jdo-1.21.0.jar -maven://com.google.api-client/google-api-client-servlet/1.21.0|lib/gcloud/google-api-client-servlet-1.21.0.jar -maven://javax.jdo/jdo2-api/2.3-eb|lib/gcloud/jdo2-api-2.3-eb.jar -maven://javax.transaction/transaction-api/1.1|lib/gcloud/transaction-api-1.1.jar maven://com.google.http-client/google-http-client-appengine/1.21.0|lib/gcloud/google-http-client-appengine-1.21.0.jar maven://com.google.http-client/google-http-client-jackson/1.21.0|lib/gcloud/google-http-client-jackson-1.21.0.jar -maven://org.codehaus.jackson/jackson-core-asl/1.9.11|lib/gcloud/jackson-core-asl-1.9.11.jar -maven://joda-time/joda-time/2.9.2|lib/gcloud/joda-time-2.9.2.jar -maven://org.json/json/20151123|lib/gcloud/json-20151123.jar +maven://com.google.http-client/google-http-client-jackson2/1.19.0|lib/gcloud/google-http-client-jackson2-1.19.0.jar +maven://com.google.http-client/google-http-client-jdo/1.21.0|lib/gcloud/google-http-client-jdo-1.21.0.jar +maven://com.google.http-client/google-http-client-protobuf/1.20.0|lib/gcloud/google-http-client-protobuf-1.20.0.jar +maven://com.google.http-client/google-http-client/1.21.0|lib/gcloud/google-http-client-1.21.0.jar +maven://com.google.inject/guice/4.0|lib/gcloud/guice-4.0.jar +maven://com.google.oauth-client/google-oauth-client-appengine/1.21.0|lib/gcloud/google-oauth-client-appengine-1.21.0.jar +maven://com.google.oauth-client/google-oauth-client-servlet/1.21.0|lib/gcloud/google-oauth-client-servlet-1.21.0.jar +maven://com.google.oauth-client/google-oauth-client/1.21.0|lib/gcloud/google-oauth-client-1.21.0.jar +maven://com.google.protobuf.nano/protobuf-javanano/3.0.0-alpha-5|lib/gcloud/protobuf-javanano-3.0.0-alpha-5.jar +maven://com.google.protobuf/protobuf-java-util/3.0.0|lib/gcloud/protobuf-java-util-3.0.0.jar maven://com.google.protobuf/protobuf-java/3.0.0|lib/gcloud/protobuf-java-3.0.0.jar -maven://com.google.api/gax/0.0.18|lib/gcloud/gax-0.0.18.jar -maven://com.google.auto.value/auto-value/1.1|lib/gcloud/auto-value-1.1.jar +maven://com.google.protobuf/protobuf-lite/3.0.1|lib/gcloud/protobuf-lite-3.0.1.jar +maven://com.squareup.okhttp/okhttp/2.5.0|lib/gcloud/okhttp-2.5.0.jar +maven://com.squareup.okio/okio/1.6.0|lib/gcloud/okio-1.6.0.jar +maven://commons-codec/commons-codec/1.3|lib/gcloud/commons-codec-1.3.jar maven://io.grpc/grpc-all/1.0.1|lib/gcloud/grpc-all-1.0.1.jar maven://io.grpc/grpc-auth/1.0.1|lib/gcloud/grpc-auth-1.0.1.jar maven://io.grpc/grpc-context/1.0.1|lib/gcloud/grpc-context-1.0.1.jar -maven://io.grpc/grpc-protobuf/1.0.1|lib/gcloud/grpc-protobuf-1.0.1.jar -maven://com.google.protobuf/protobuf-java-util/3.0.0|lib/gcloud/protobuf-java-util-3.0.0.jar -maven://com.google.code.gson/gson/2.3|lib/gcloud/gson-2.3.jar -maven://io.grpc/grpc-netty/1.0.1|lib/gcloud/grpc-netty-1.0.1.jar -maven://io.netty/netty-codec-http2/4.1.3.Final|lib/gcloud/netty-codec-http2-4.1.3.jar -maven://io.netty/netty-codec-http/4.1.3.Final|lib/gcloud/netty-codec-http-4.1.3.Final.jar -maven://io.netty/netty-codec/4.1.3.Final|lib/gcloud/netty-codec-4.1.3.Final.jar -maven://io.netty/netty-handler/4.1.3.Final|lib/gcloud/netty-handler-4.1.3.Final.jar -maven://io.netty/netty-buffer/4.1.3.Final|lib/gcloud/netty-buffer-4.1.3.Final.jar -maven://io.netty/netty-common/4.1.3.Final|lib/gcloud/netty-common-4.1.3.Final.jar -maven://io.netty/netty-transport/4.1.3.Final|lib/gcloud/netty-transport-4.1.3.Final.jar -maven://io.netty/netty-resolver/4.1.3.Final|lib/gcloud/netty-resolver-4.1.3.Final.jar -maven://io.grpc/grpc-stub/1.0.1|lib/gcloud/grpc-stub-1.0.1.jar -maven://io.grpc/grpc-protobuf-nano/1.0.1|lib/gcloud/grpc-protobuf-nano-1.0.1.jar -maven://com.google.protobuf.nano/protobuf-javanano/3.0.0-alpha-5|lib/gcloud/protobuf-javanano/3.0.0-alpha-5.jar maven://io.grpc/grpc-core/1.0.1|lib/gcloud/grpc-core-1.0.1.jar +maven://io.grpc/grpc-netty/1.0.1|lib/gcloud/grpc-netty-1.0.1.jar maven://io.grpc/grpc-okhttp/1.0.1|lib/gcloud/grpc-okhttp-1.0.1.jar -maven://com.squareup.okio/okio/1.6.0|lib/gcloud/okio-1.6.0.jar -maven://com.squareup.okhttp/okhttp/2.5.0|lib/gcloud/okhttp-2.5.0.jar maven://io.grpc/grpc-protobuf-lite/1.0.1|lib/gcloud/grpc-protobuf-lite-1.0.1.jar -maven://com.google.protobuf/protobuf-lite/3.0.1|lib/gcloud/protobuf-lite-3.0.1.jar -maven://com.google.inject/guice/4.0|lib/gcloud/guice-4.0.jar +maven://io.grpc/grpc-protobuf-nano/1.0.1|lib/gcloud/grpc-protobuf-nano-1.0.1.jar +maven://io.grpc/grpc-protobuf/1.0.1|lib/gcloud/grpc-protobuf-1.0.1.jar +maven://io.grpc/grpc-stub/1.0.1|lib/gcloud/grpc-stub-1.0.1.jar +maven://io.netty/netty-buffer/4.1.3.Final|lib/gcloud/netty-buffer-4.1.3.Final.jar +maven://io.netty/netty-codec-http/4.1.3.Final|lib/gcloud/netty-codec-http-4.1.3.Final.jar +maven://io.netty/netty-codec-http2/4.1.3.Final|lib/gcloud/netty-codec-http2-4.1.3.jar +maven://io.netty/netty-codec/4.1.3.Final|lib/gcloud/netty-codec-4.1.3.Final.jar +maven://io.netty/netty-common/4.1.3.Final|lib/gcloud/netty-common-4.1.3.Final.jar +maven://io.netty/netty-handler/4.1.3.Final|lib/gcloud/netty-handler-4.1.3.Final.jar +maven://io.netty/netty-resolver/4.1.3.Final|lib/gcloud/netty-resolver-4.1.3.Final.jar +maven://io.netty/netty-transport/4.1.3.Final|lib/gcloud/netty-transport-4.1.3.Final.jar maven://javax.inject/javax.inject/1|lib/gcloud/javax.inject-1.jar -maven://aopalliance/aopalliance/1.0|lib/gcloud/aopalliance-1.0.jar -maven://com.google.api.grpc/grpc-google-common-protos/0.1.0|lib/gcloud/grpc-google-common-protos-0.1.0.jar -maven://com.google.api.grpc/grpc-google-iam-v1/0.1.0|lib/gcloud/grpc-google-iam-v1-0.1.0.jar -maven://com.google.cloud.datastore/datastore-v1-protos/1.2.0|lib/gcloud/datastore-v1-protos-1.2.0.jar -maven://com.google.cloud.datastore/datastore-v1-proto-client/1.2.0|lib/gcloud/datastore-v1-proto-client-1.2.0.jar -maven://com.google.http-client/google-http-client-protobuf/1.20.0|lib/gcloud/google-http-client-protobuf-1.20.0.jar -maven://com.google.api-client/google-api-client/1.20.0|lib/gcloud/google-api-client/1.20.0 - +maven://javax.jdo/jdo2-api/2.3-eb|lib/gcloud/jdo2-api-2.3-eb.jar +maven://javax.transaction/transaction-api/1.1|lib/gcloud/transaction-api-1.1.jar +maven://joda-time/joda-time/2.9.2|lib/gcloud/joda-time-2.9.2.jar +maven://org.apache.httpcomponents/httpclient/4.0.1|lib/gcloud/httpclient-4.0.1.jar +maven://org.apache.httpcomponents/httpcore/4.0.1|lib/gcloud/httpcore-4.0.1.jar +maven://org.codehaus.jackson/jackson-core-asl/1.9.11|lib/gcloud/jackson-core-asl-1.9.11.jar +maven://org.json/json/20151123|lib/gcloud/json-20151123.jar diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/BaseBuilder.java b/jetty-start/src/main/java/org/eclipse/jetty/start/BaseBuilder.java index cb95adbcd67..e9d42eadb3c 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/BaseBuilder.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/BaseBuilder.java @@ -34,6 +34,7 @@ import org.eclipse.jetty.start.builders.StartDirBuilder; import org.eclipse.jetty.start.builders.StartIniBuilder; import org.eclipse.jetty.start.fileinits.BaseHomeFileInitializer; import org.eclipse.jetty.start.fileinits.MavenLocalRepoFileInitializer; +import org.eclipse.jetty.start.fileinits.LocalFileInitializer; import org.eclipse.jetty.start.fileinits.TestFileInitializer; import org.eclipse.jetty.start.fileinits.UriFileInitializer; @@ -73,19 +74,25 @@ public class BaseBuilder { // Copy from basehome fileInitializers.add(new BaseHomeFileInitializer(baseHome)); + + // Handle local directories + fileInitializers.add(new LocalFileInitializer(baseHome)); // No downloads performed - fileInitializers.add(new TestFileInitializer()); + fileInitializers.add(new TestFileInitializer(baseHome)); } - else if (args.isDownload()) + else if (args.isCreateFiles()) { + // Handle local directories + fileInitializers.add(new LocalFileInitializer(baseHome)); + // Downloads are allowed to be performed // Setup Maven Local Repo - Path localRepoDir = args.getMavenLocalRepoDir(); + Path localRepoDir = args.findMavenLocalRepoDir(); if (localRepoDir != null) { // Use provided local repo directory - fileInitializers.add(new MavenLocalRepoFileInitializer(baseHome,localRepoDir)); + fileInitializers.add(new MavenLocalRepoFileInitializer(baseHome,localRepoDir,args.getMavenLocalRepoDir()==null)); } else { @@ -258,104 +265,35 @@ public class BaseBuilder /** * Process a specific file resource * - * @param arg - * the fileArg to work with - * @param file - * the resolved file reference to work with + * @param arg the fileArg to work with * @return true if change was made as a result of the file, false if no change made. * @throws IOException - * if there was an issue in processing this file + * if there was an issue in processing this file */ - private boolean processFileResource(FileArg arg, Path file) throws IOException + private boolean processFileResource(FileArg arg) throws IOException { - // now on copy/download paths (be safe above all else) - if (!file.startsWith(baseHome.getBasePath())) - throw new IOException("For security reasons, Jetty start is unable to process maven file resource not in ${jetty.base} - " + file); - - if (startArgs.isDownload() && (arg.uri != null)) - { - // make the directories in ${jetty.base} that we need - boolean modified = FS.ensureDirectoryExists(file.getParent()); - if (modified) - StartLog.log("MKDIR",baseHome.toShortForm(file.getParent())); - - URI uri = URI.create(arg.uri); + URI uri = arg.uri==null?null:URI.create(arg.uri); - // Process via initializers + if (startArgs.isCreateFiles()) + { for (FileInitializer finit : fileInitializers) { - if (finit.init(uri,file,arg.location)) - { - // Completed successfully - return true; - } + if (finit.isApplicable(uri)) + return finit.create(uri,arg.location); } - - if (!FS.exists(file)) - System.err.println("Failed to initialize: "+arg.uri+"|"+arg.location); - return modified; + throw new IOException(String.format("Unable to create %s",arg)); } - else + + for (FileInitializer finit : fileInitializers) { - // Process directly - boolean isDir = arg.location.endsWith("/"); - - if (FS.exists(file)) - { - // Validate existence - if (isDir) - { - if (!Files.isDirectory(file)) - { - throw new IOException("Invalid: path should be a directory (but isn't): " + file); - } - if (!FS.canReadDirectory(file)) - { - throw new IOException("Unable to read directory: " + file); - } - } - else - { - if (!FS.canReadFile(file)) - { - throw new IOException("Unable to read file: " + file); - } - } - - return false; - } - - if (isDir) - { - // Create directory - boolean mkdir = FS.ensureDirectoryExists(file); - if (mkdir) - StartLog.log("MKDIR",baseHome.toShortForm(file)); - return mkdir; - } - else - { - // Warn on missing file (this has to be resolved manually by user) - String shortRef = baseHome.toShortForm(file); - if (startArgs.isTestingModeEnabled()) - { - StartLog.log("TESTING MODE","Skipping required file check on: %s",shortRef); - return false; - } - - StartLog.warn("Missing Required File: %s",baseHome.toShortForm(file)); - startArgs.setRun(false); - if (arg.uri != null) - { - StartLog.warn(" Can be downloaded From: %s",arg.uri); - StartLog.warn(" Run start.jar --create-files to download"); - } - - return false; - } + if (finit.isApplicable(uri)) + if (!finit.check(uri,arg.location)) + startArgs.setRun(false); } + return false; } + /** * Process the {@link FileArg} for startup, assume that all licenses have @@ -378,16 +316,15 @@ public class BaseBuilder for (FileArg arg : files) { - Path file = baseHome.getBasePath(arg.location); try { - boolean processed = processFileResource(arg,file); + boolean processed = processFileResource(arg); dirty |= processed; } catch (Throwable t) { StartLog.warn(t); - failures.add(String.format("[%s] %s - %s",t.getClass().getSimpleName(),t.getMessage(),file.toAbsolutePath().toString())); + failures.add(String.format("[%s] %s - %s",t.getClass().getSimpleName(),t.getMessage(),arg.location)); } } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/FS.java b/jetty-start/src/main/java/org/eclipse/jetty/start/FS.java index 10d993e17b9..ffc281e50cd 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/FS.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/FS.java @@ -71,6 +71,10 @@ public class FS { if (exists(dir)) { + // Is it a directory? + if (!Files.isDirectory(dir)) + throw new IOException("Path is not directory: " + dir.toAbsolutePath()); + // exists already, nothing to do return false; } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/FileArg.java b/jetty-start/src/main/java/org/eclipse/jetty/start/FileArg.java index b934649f280..ba8c6f57e1f 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/FileArg.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/FileArg.java @@ -46,6 +46,7 @@ public class FileArg err.append(LN).append("Valid Syntaxes: "); err.append(LN).append(" - eg: resources/"); err.append(LN).append(" or - eg: /var/run/jetty.pid"); + err.append(LN).append(" or - eg: basehome:some/path"); err.append(LN).append(" or | - eg: http://machine/my.conf|resources/my.conf"); err.append(LN).append(" or | - eg: http://machine/glob.dat|/opt/run/glob.dat"); err.append(LN).append("Known uri schemes: http, maven, home"); @@ -56,6 +57,11 @@ public class FileArg this.uri = parts[0]; this.location = parts[1]; } + else if (uriLocation.contains(":")) + { + this.uri = uriLocation; + this.location = null; + } else { this.uri = null; @@ -118,11 +124,7 @@ public class FileArg public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("DownloadArg [uri="); - builder.append(uri); - builder.append(", location="); - builder.append(location); - builder.append("]"); + builder.append("DownloadArg [uri=").append(uri).append(", location=").append(location).append("]"); return builder.toString(); } } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/FileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/FileInitializer.java index 715b1329f19..967a402f333 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/FileInitializer.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/FileInitializer.java @@ -19,28 +19,219 @@ package org.eclipse.jetty.start; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; import java.net.URI; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Stream; /** * Interface for initializing a file resource. */ -public interface FileInitializer +public abstract class FileInitializer { + protected final Set _scheme = new HashSet<>(); + protected final BaseHome _basehome; + + protected FileInitializer(BaseHome basehome, String... scheme) + { + _basehome = basehome; + if (scheme!=null) + for (String s:scheme) + _scheme.add(s.toLowerCase()); + } + + public boolean isApplicable(URI uri) + { + if (_scheme.isEmpty()) + return uri==null; + + return uri!=null && _scheme.contains(uri.getScheme().toLowerCase()); + } + /** * Initialize a file resource * * @param uri - * the remote URI of the resource acting as its source - * @param file - * the local file resource to initialize. (often in ${jetty.base} directory) - * @param fileRef + * the URI of the resource acting as its source + * @param location * the simple string reference to the output file, suitable for searching * for the file in other locations (like ${jetty.home} or ${jetty.dir}) - * @return true if local file is initialized (resulted in a change on disk), false if this - * {@link FileInitializer} did nothing. + * @param create if True, create the file if missing, otherwise just check for existance. + * + * @return True if local file is initialized (resulted in a change on disk), False if + could not be initialized or null if it does not apply. * @throws IOException * if there was an attempt to initialize, but an error occurred. */ - public boolean init(URI uri, Path file, String fileRef) throws IOException; + + public abstract boolean create(URI uri, String location) throws IOException; + + public boolean check(URI uri, String location) throws IOException + { + if (location!=null) + { + // Process directly + boolean isDir = location.endsWith("/"); + Path destination = getDestination(uri,location); + + if (FS.exists(destination)) + { + // Validate existence + if (isDir) + { + if (!Files.isDirectory(destination)) + { + throw new IOException("Invalid: path should be a directory (but isn't): " + location); + } + if (!FS.canReadDirectory(destination)) + { + throw new IOException("Unable to read directory: " + location); + } + } + else + { + if (!FS.canReadFile(destination)) + { + throw new IOException("Unable to read file: " + location); + } + } + return true; + } + + StartLog.error("Missing Required File: %s",_basehome.toShortForm(location)); + return false; + } + + return true; + } + + + protected Path getDestination(URI uri, String location) throws IOException + { + if (location==null) + return null; + + Path destination = _basehome.getBasePath(location); + + // now on copy/download paths (be safe above all else) + if (destination!=null && !destination.startsWith(_basehome.getBasePath())) + throw new IOException("For security reasons, Jetty start is unable to process file resource not in ${jetty.base} - " + location); + + boolean isDestDir = Files.isDirectory(destination) || !Files.exists(destination) && location.endsWith("/"); + if (isDestDir && uri!=null && uri.getSchemeSpecificPart().contains("/") && !uri.getSchemeSpecificPart().endsWith("/")) + destination = destination.resolve(uri.getSchemeSpecificPart().substring(uri.getSchemeSpecificPart().lastIndexOf('/')+1)); + + return destination; + } + + + protected void download(URI uri, Path destination) throws IOException + { + if (FS.ensureDirectoryExists(destination.getParent())) + StartLog.log("MKDIR",_basehome.toShortForm(destination.getParent())); + + StartLog.log("DOWNLD","%s to %s",uri,_basehome.toShortForm(destination)); + + HttpURLConnection http = (HttpURLConnection)uri.toURL().openConnection(); + http.setInstanceFollowRedirects(true); + http.setAllowUserInteraction(false); + + int status = http.getResponseCode(); + + if(status != HttpURLConnection.HTTP_OK) + { + throw new IOException("URL GET Failure [" + status + "/" + http.getResponseMessage() + "] on " + uri); + } + + byte[] buf = new byte[8192]; + try (InputStream in = http.getInputStream(); OutputStream out = Files.newOutputStream(destination,StandardOpenOption.CREATE_NEW,StandardOpenOption.WRITE)) + { + while (true) + { + int len = in.read(buf); + + if (len > 0) + { + out.write(buf,0,len); + } + if (len < 0) + { + break; + } + } + } + } + + + /** + * Test if any of the Paths exist (as files) + * + * @param paths + * the list of paths to check + * @return true if the path exist (as a file), false if it doesn't exist + * @throws IOException + * if the path points to a non-file, or is not readable. + */ + protected boolean isFilePresent(Path... paths) throws IOException + { + for (Path file : paths) + { + if (Files.exists(file)) + { + if (Files.isDirectory(file)) + { + throw new IOException("Directory in the way: " + file.toAbsolutePath()); + } + + if (!Files.isReadable(file)) + { + throw new IOException("File not readable: " + file.toAbsolutePath()); + } + + return true; + } + } + + return false; + } + + + public boolean copyDirectory(Path source, Path destination) throws IOException + { + boolean modified=false; + + try(DirectoryStream stream = Files.newDirectoryStream(source)) + { + for (Path from : stream) + { + Path to = destination.resolve(from.getFileName()); + if (Files.isDirectory(from)) + { + if (FS.ensureDirectoryExists(to)) + { + StartLog.log("MKDIR",_basehome.toShortForm(to)); + modified = true; + } + + if (copyDirectory(from,to)) + modified = true; + } + else if (!Files.exists(to)) + { + StartLog.log("COPY ","%s to %s",_basehome.toShortForm(from),_basehome.toShortForm(to)); + Files.copy(from,to); + modified = true; + } + } + } + + return modified; + } } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java index 09c7692e959..9f7fc6c62a8 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java @@ -404,7 +404,7 @@ public class Main BaseBuilder baseBuilder = new BaseBuilder(baseHome,args); if(baseBuilder.build()) StartLog.info("Base directory was modified"); - else if (args.isDownload() || !args.getStartModules().isEmpty()) + else if (args.isCreateFiles() || !args.getStartModules().isEmpty()) StartLog.info("Base directory was not modified"); // Check module dependencies diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java b/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java index 68904ba6107..aa3715c42ab 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java @@ -163,8 +163,8 @@ public class StartArgs /** Should the server be run? */ private boolean run = true; - /** Download related args */ - private boolean download = false; + /** Files related args */ + private boolean createFiles = false; private boolean licenseCheckRequired = false; private boolean testingMode = false; @@ -620,24 +620,33 @@ public class StartArgs return System.getProperty("main.class",mainclass); } - public Path getMavenLocalRepoDir() + public String getMavenLocalRepoDir() { - // Try property first String localRepo = getProperties().getString("maven.local.repo"); if (Utils.isBlank(localRepo)) - { - // Try jetty specific env variable localRepo = System.getenv("JETTY_MAVEN_LOCAL_REPO"); - } + + if (Utils.isBlank(localRepo)) + localRepo = System.getenv("MAVEN_LOCAL_REPO"); + + return localRepo; + } + + public Path findMavenLocalRepoDir() + { + // Try property first + String localRepo = getMavenLocalRepoDir(); if (Utils.isBlank(localRepo)) { // Try generic env variable - localRepo = System.getenv("MAVEN_LOCAL_REPO"); + String home = System.getenv("HOME"); + Path home_m2_repository = new File(new File(home,".m2"),"repository").toPath(); + if (Files.exists(home_m2_repository)) + localRepo = home_m2_repository.toString(); } - // TODO: load & use $HOME/.m2/settings.xml ? // TODO: possibly use Eclipse Aether to manage it ? // TODO: see https://bugs.eclipse.org/bugs/show_bug.cgi?id=449511 @@ -710,9 +719,9 @@ public class StartArgs return approveAllLicenses; } - public boolean isDownload() + public boolean isCreateFiles() { - return download; + return createFiles; } public boolean isDryRun() @@ -859,14 +868,14 @@ public class StartArgs { addFile(null,Props.getValue(arg)); run = false; - download = true; + createFiles = true; return; } if (arg.equals("--create-files")) { run = false; - download = true; + createFiles = true; licenseCheckRequired = true; return; } @@ -959,7 +968,7 @@ public class StartArgs { createStartd=true; run = false; - download = true; + createFiles = true; licenseCheckRequired = true; return; } @@ -970,7 +979,7 @@ public class StartArgs createStartd=true; startModules.addAll(Props.getValues(arg)); run = false; - download = true; + createFiles = true; licenseCheckRequired = true; return; } @@ -978,7 +987,7 @@ public class StartArgs { startModules.addAll(Props.getValues(arg)); run = false; - download = true; + createFiles = true; licenseCheckRequired = true; return; } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/BaseHomeFileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/BaseHomeFileInitializer.java index 39615a4e2fc..7c0356df638 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/BaseHomeFileInitializer.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/BaseHomeFileInitializer.java @@ -33,33 +33,66 @@ import org.eclipse.jetty.start.StartLog; * "basehome:some/path" * {@link FileInitializer} */ -public class BaseHomeFileInitializer implements FileInitializer -{ - private final BaseHome _basehome; - +public class BaseHomeFileInitializer extends FileInitializer +{ public BaseHomeFileInitializer(BaseHome basehome) { - _basehome=basehome; + super(basehome,"basehome"); } @Override - public boolean init(URI uri, Path file, String fileRef) throws IOException + public boolean create(URI uri, String location) throws IOException { - if (!"basehome".equalsIgnoreCase(uri.getScheme()) || uri.getSchemeSpecificPart().startsWith("/")) - return false; + if (uri.getSchemeSpecificPart().startsWith("/")) + throw new IllegalArgumentException(String.format("Bad file arg: %s",uri)); Path source = _basehome.getPath(uri.getSchemeSpecificPart()); - if (FS.exists(source) && !FS.exists(file)) - { - if (FS.ensureDirectoryExists(file.getParent())) - StartLog.log("MKDIR",_basehome.toShortForm(file.getParent())); - - StartLog.log("COPY ","%s to %s",_basehome.toShortForm(source),_basehome.toShortForm(file)); - Files.copy(source,file); - return true; - } + if (!FS.exists(source)) + throw new IllegalArgumentException(String.format("File does not exist: %s",uri)); - return false; + Path destination = location==null?_basehome.getBasePath():getDestination(uri,location); + + boolean modified=false; + + if (Files.isDirectory(source)) + { + // Check destination + if (destination!=null && Files.exists(destination)) + { + if (!Files.isDirectory(destination)) + { + StartLog.error("Cannot copy directory %s to file %s",source,destination); + return false; + } + } + else if (FS.ensureDirectoryExists(destination)) + { + modified = true; + StartLog.log("MKDIR",_basehome.toShortForm(destination)); + } + + copyDirectory(source,destination); + } + else + { + if (FS.ensureDirectoryExists(destination.getParent())) + { + modified = true; + StartLog.log("MKDIR",_basehome.toShortForm(destination.getParent())); + } + + if (!FS.exists(destination)) + { + StartLog.log("COPY ","%s to %s",_basehome.toShortForm(source),_basehome.toShortForm(destination)); + Files.copy(source,destination); + modified = true; + } + } + + return modified; } + + + } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/LocalFileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/LocalFileInitializer.java new file mode 100644 index 00000000000..bf4bb28681e --- /dev/null +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/LocalFileInitializer.java @@ -0,0 +1,87 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.start.fileinits; + +import java.io.IOException; +import java.net.URI; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.eclipse.jetty.start.BaseHome; +import org.eclipse.jetty.start.FS; +import org.eclipse.jetty.start.FileInitializer; +import org.eclipse.jetty.start.StartLog; + +public class LocalFileInitializer extends FileInitializer +{ + public LocalFileInitializer(BaseHome basehome) + { + super(basehome); + } + + @Override + public boolean create(URI uri, String location) throws IOException + { + Path destination = getDestination(uri,location); + + if (destination == null) + { + StartLog.error("Bad file arg %s",uri); + return false; + } + + boolean isDir = location.endsWith("/"); + + if (FS.exists(destination)) + { + // Validate existence + if (isDir) + { + if (!Files.isDirectory(destination)) + { + throw new IOException("Invalid: path should be a directory (but isn't): " + location); + } + if (!FS.canReadDirectory(destination)) + { + throw new IOException("Unable to read directory: " + location); + } + } + else + { + if (!FS.canReadFile(destination)) + { + throw new IOException("Unable to read file: " + location); + } + } + + return false; + } + + if (isDir) + { + // Create directory + boolean mkdir = FS.ensureDirectoryExists(destination); + if (mkdir) + StartLog.log("MKDIR",_basehome.toShortForm(destination)); + return mkdir; + } + + throw new IOException("Unable to create "+_basehome.toShortForm(destination)); + } +} diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializer.java index 79c22a1c5a5..a74bf43517e 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializer.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializer.java @@ -25,6 +25,7 @@ import java.nio.file.Path; import org.eclipse.jetty.start.BaseHome; import org.eclipse.jetty.start.FS; +import org.eclipse.jetty.start.FileInitializer; import org.eclipse.jetty.start.StartLog; import org.eclipse.jetty.start.Utils; @@ -46,7 +47,7 @@ import org.eclipse.jetty.start.Utils; *
optional type and classifier requirement
* */ -public class MavenLocalRepoFileInitializer extends UriFileInitializer +public class MavenLocalRepoFileInitializer extends FileInitializer { public static class Coordinates { @@ -79,20 +80,22 @@ public class MavenLocalRepoFileInitializer extends UriFileInitializer } private Path localRepositoryDir; + private final boolean readonly; public MavenLocalRepoFileInitializer(BaseHome baseHome) { - this(baseHome,null); + this(baseHome,null,true); } - public MavenLocalRepoFileInitializer(BaseHome baseHome, Path localRepoDir) + public MavenLocalRepoFileInitializer(BaseHome baseHome, Path localRepoDir, boolean readonly) { - super(baseHome); + super(baseHome,"maven"); this.localRepositoryDir = localRepoDir; + this.readonly = readonly; } @Override - public boolean init(URI uri, Path file, String fileRef) throws IOException + public boolean create(URI uri, String location) throws IOException { Coordinates coords = getCoordinates(uri); if (coords == null) @@ -101,26 +104,31 @@ public class MavenLocalRepoFileInitializer extends UriFileInitializer return false; } - if (isFilePresent(file, baseHome.getPath(fileRef))) - { - // All done + Path destination = getDestination(uri,location); + + if (isFilePresent(destination)) return false; - } + // If using local repository if (this.localRepositoryDir != null) { // Grab copy from local repository (download if needed to local // repository) Path localRepoFile = getLocalRepoFile(coords); - StartLog.log("COPY ","%s to %s",localRepoFile,baseHome.toShortForm(file)); - Files.copy(localRepoFile,file); - } - else - { - // normal non-local repo version - download(coords.toCentralURI(),file); + + if (localRepoFile!=null) + { + if (FS.ensureDirectoryExists(destination.getParent())) + StartLog.log("MKDIR",_basehome.toShortForm(destination.getParent())); + StartLog.log("COPY ","%s to %s",localRepoFile,_basehome.toShortForm(destination)); + Files.copy(localRepoFile,destination); + return true; + } } + + // normal non-local repo version + download(coords.toCentralURI(),destination); return true; } @@ -128,13 +136,16 @@ public class MavenLocalRepoFileInitializer extends UriFileInitializer { Path localFile = localRepositoryDir.resolve(coords.toPath()); if (FS.canReadFile(localFile)) - { return localFile; - } // Download, if needed - download(coords.toCentralURI(),localFile); - return localFile; + if (!readonly) + { + download(coords.toCentralURI(),localFile); + return localFile; + } + + return null; } public Coordinates getCoordinates(URI uri) diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/TestFileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/TestFileInitializer.java index 9dfaf696f05..afdf4722d5d 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/TestFileInitializer.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/TestFileInitializer.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.net.URI; import java.nio.file.Path; +import org.eclipse.jetty.start.BaseHome; import org.eclipse.jetty.start.FS; import org.eclipse.jetty.start.FileInitializer; import org.eclipse.jetty.start.StartLog; @@ -31,14 +32,33 @@ import org.eclipse.jetty.start.StartLog; * or initialize a file, this implementation is merely a no-op for the * {@link FileInitializer} */ -public class TestFileInitializer implements FileInitializer +public class TestFileInitializer extends FileInitializer { - @Override - public boolean init(URI uri, Path file, String fileRef) throws IOException + public TestFileInitializer(BaseHome basehome) { - FS.ensureDirectoryExists(file.getParent()); + super(basehome); + } - StartLog.log("TESTING MODE","Skipping download of " + uri); + @Override + public boolean isApplicable(URI uri) + { return true; } + + + @Override + public boolean create(URI uri, String location) throws IOException + { + Path destination = getDestination(uri,location); + if (destination!=null) + { + if (location.endsWith("/")) + FS.ensureDirectoryExists(destination); + else + FS.ensureDirectoryExists(destination.getParent()); + } + + StartLog.log("TESTING MODE","Skipping download of " + uri); + return Boolean.TRUE; + } } diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/UriFileInitializer.java b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/UriFileInitializer.java index 8e5814aeed0..b2c979102dc 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/UriFileInitializer.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/fileinits/UriFileInitializer.java @@ -32,119 +32,26 @@ import org.eclipse.jetty.start.FS; import org.eclipse.jetty.start.FileInitializer; import org.eclipse.jetty.start.StartLog; -public class UriFileInitializer implements FileInitializer -{ - private final static String[] SUPPORTED_SCHEMES = { "http", "https" }; - protected final BaseHome baseHome; - +public class UriFileInitializer extends FileInitializer +{ public UriFileInitializer(BaseHome baseHome) { - this.baseHome = baseHome; + super(baseHome,"http", "https"); } @Override - public boolean init(URI uri, Path file, String fileRef) throws IOException + public boolean create(URI uri, String location) throws IOException { - if (!isSupportedScheme(uri)) - { - // Not a supported scheme. + Path destination = getDestination(uri,location); + + if (Files.isDirectory(destination)) + destination = destination.resolve(uri.getSchemeSpecificPart().substring(uri.getRawSchemeSpecificPart().lastIndexOf('/')+1)); + + if(isFilePresent(destination)) return false; - } - if(isFilePresent(file, baseHome.getPath(fileRef))) - { - // All done - return false; - } - - download(uri,file); + download(uri,destination); return true; } - - protected void download(URI uri, Path file) throws IOException - { - StartLog.log("DOWNLOAD","%s to %s",uri,baseHome.toShortForm(file)); - - if (FS.ensureDirectoryExists(file.getParent())) - StartLog.log("MKDIR",baseHome.toShortForm(file.getParent())); - - HttpURLConnection http = (HttpURLConnection)uri.toURL().openConnection(); - http.setInstanceFollowRedirects(true); - http.setAllowUserInteraction(false); - - int status = http.getResponseCode(); - - if(status != HttpURLConnection.HTTP_OK) - { - throw new IOException("URL GET Failure [" + status + "/" + http.getResponseMessage() + "] on " + uri); - } - - byte[] buf = new byte[8192]; - try (InputStream in = http.getInputStream(); OutputStream out = Files.newOutputStream(file,StandardOpenOption.CREATE_NEW,StandardOpenOption.WRITE)) - { - while (true) - { - int len = in.read(buf); - - if (len > 0) - { - out.write(buf,0,len); - } - if (len < 0) - { - break; - } - } - } - } - - /** - * Test if any of the Paths exist (as files) - * - * @param paths - * the list of paths to check - * @return true if the path exist (as a file), false if it doesn't exist - * @throws IOException - * if the path points to a non-file, or is not readable. - */ - protected boolean isFilePresent(Path... paths) throws IOException - { - for (Path file : paths) - { - if (Files.exists(file)) - { - if (Files.isDirectory(file)) - { - throw new IOException("Directory in the way: " + file.toAbsolutePath()); - } - - if (!Files.isReadable(file)) - { - throw new IOException("File not readable: " + file.toAbsolutePath()); - } - - return true; - } - } - - return false; - } - - private boolean isSupportedScheme(URI uri) - { - String scheme = uri.getScheme(); - if (scheme == null) - { - return false; - } - for (String supported : SUPPORTED_SCHEMES) - { - if (supported.equalsIgnoreCase(scheme)) - { - return true; - } - } - return false; - } } diff --git a/jetty-start/src/test/resources/usecases/basehome.withfiles.assert.txt b/jetty-start/src/test/resources/usecases/basehome.withfiles.assert.txt new file mode 100644 index 00000000000..54f679f6208 --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome.withfiles.assert.txt @@ -0,0 +1,15 @@ + +DOWNLOAD|basehome:modules/withfiles/test.txt|one/renamed.txt +DOWNLOAD|basehome:modules/withfiles/test.txt|two/ +DOWNLOAD|basehome:modules/withfiles/test.txt|three +DOWNLOAD|basehome:modules/withfiles|null +DOWNLOAD|basehome:modules/withfiles/four/|five/ +DOWNLOAD|basehome:modules/withfiles/four/sub|six + +EXISTS|test.txt +EXISTS|one/renamed.txt +EXISTS|two/test.txt +EXISTS|three/test.txt +EXISTS|four/sub/dir/test.txt +EXISTS|five/sub/dir/test.txt +EXISTS|six/sub/dir/test.txt \ No newline at end of file diff --git a/jetty-start/src/test/resources/usecases/basehome.withfiles.prepare.txt b/jetty-start/src/test/resources/usecases/basehome.withfiles.prepare.txt new file mode 100644 index 00000000000..e6527ad8759 --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome.withfiles.prepare.txt @@ -0,0 +1,2 @@ +--create-startd +--add-to-start=withfiles \ No newline at end of file diff --git a/jetty-start/src/test/resources/usecases/basehome/modules/withfiles.mod b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles.mod new file mode 100644 index 00000000000..0dc7d6eed54 --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles.mod @@ -0,0 +1,12 @@ + +[files] + +basehome:modules/withfiles/test.txt|one/renamed.txt +basehome:modules/withfiles/test.txt|two/ +three/ +basehome:modules/withfiles/test.txt|three + +basehome:modules/withfiles +basehome:modules/withfiles/four/|five/ +six/ +basehome:modules/withfiles/four/sub|six diff --git a/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/sub/dir/test.txt b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/sub/dir/test.txt new file mode 100644 index 00000000000..6f8178886be --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/sub/dir/test.txt @@ -0,0 +1 @@ +sub/dir/test.txt diff --git a/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/test.txt b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/test.txt new file mode 100644 index 00000000000..4871fd52755 --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/four/test.txt @@ -0,0 +1 @@ +test.txt diff --git a/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/test.txt b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/test.txt new file mode 100644 index 00000000000..541cb64f9b8 --- /dev/null +++ b/jetty-start/src/test/resources/usecases/basehome/modules/withfiles/test.txt @@ -0,0 +1 @@ +test.txt \ No newline at end of file diff --git a/jetty-util/src/main/config/modules/jcl/commons-logging.properties b/jetty-util/src/main/config/modules/jcl/commons-logging.properties deleted file mode 100644 index 8cc45de2c72..00000000000 --- a/jetty-util/src/main/config/modules/jcl/commons-logging.properties +++ /dev/null @@ -1 +0,0 @@ -org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog diff --git a/jetty-util/src/main/config/modules/jul-impl.mod b/jetty-util/src/main/config/modules/jul-impl.mod index bcb61de4b5c..0b6b8294da6 100644 --- a/jetty-util/src/main/config/modules/jul-impl.mod +++ b/jetty-util/src/main/config/modules/jul-impl.mod @@ -14,8 +14,7 @@ jul-api jul-impl [files] -basehome:modules/jul-impl/java-util-logging.properties|etc/java-util-logging.properties -logs/ +basehome:modules/jul-impl [exec] -Djava.util.logging.config.file=etc/java-util-logging.properties diff --git a/jetty-util/src/main/config/modules/jul-impl/java-util-logging.properties b/jetty-util/src/main/config/modules/jul-impl/etc/java-util-logging.properties similarity index 100% rename from jetty-util/src/main/config/modules/jul-impl/java-util-logging.properties rename to jetty-util/src/main/config/modules/jul-impl/etc/java-util-logging.properties diff --git a/jetty-util/src/main/config/modules/jul-slf4j.mod b/jetty-util/src/main/config/modules/jul-slf4j.mod index 08a4486c0dd..81bb2330c3d 100644 --- a/jetty-util/src/main/config/modules/jul-slf4j.mod +++ b/jetty-util/src/main/config/modules/jul-slf4j.mod @@ -11,12 +11,13 @@ slf4j-api slf4j-impl [provides] +jul-api jul-impl slf4j+jul [files] maven://org.slf4j/jul-to-slf4j/${slf4j.version}|lib/slf4j/jul-to-slf4j-${slf4j.version}.jar -basehome:modules/jul-slf4j/java-util-logging.properties|etc/java-util-logging.properties +basehome:modules/jul-slf4j [lib] lib/slf4j/jul-to-slf4j-${slf4j.version}.jar diff --git a/jetty-util/src/main/config/modules/jul-slf4j/java-util-logging.properties b/jetty-util/src/main/config/modules/jul-slf4j/etc/java-util-logging.properties similarity index 100% rename from jetty-util/src/main/config/modules/jul-slf4j/java-util-logging.properties rename to jetty-util/src/main/config/modules/jul-slf4j/etc/java-util-logging.properties diff --git a/jetty-util/src/main/config/modules/log4j-impl.mod b/jetty-util/src/main/config/modules/log4j-impl.mod index 3d5ee8bbc20..da0b1e20763 100644 --- a/jetty-util/src/main/config/modules/log4j-impl.mod +++ b/jetty-util/src/main/config/modules/log4j-impl.mod @@ -15,9 +15,8 @@ log4j-api log4j-impl [files] -basehome:modules/log4j/log4j.xml|resources/log4j.xml maven://log4j/log4j/${log4j.version}|lib/log4j/log4j-${log4j.version}.jar -logs/ +basehome:modules/log4j-impl [lib] lib/log4j/log4j-${log4j.version}.jar diff --git a/jetty-util/src/main/config/modules/log4j/log4j.xml b/jetty-util/src/main/config/modules/log4j-impl/resources/log4j.xml similarity index 100% rename from jetty-util/src/main/config/modules/log4j/log4j.xml rename to jetty-util/src/main/config/modules/log4j-impl/resources/log4j.xml diff --git a/jetty-util/src/main/config/modules/log4j2-impl.mod b/jetty-util/src/main/config/modules/log4j2-impl.mod index ab34b0f36b9..e069ecd62b1 100644 --- a/jetty-util/src/main/config/modules/log4j2-impl.mod +++ b/jetty-util/src/main/config/modules/log4j2-impl.mod @@ -17,8 +17,7 @@ log4j2-impl [files] maven://org.apache.logging.log4j/log4j-core/${log4j2.version}|lib/log4j2/log4j-core-${log4j2.version}.jar -basehome:modules/log4j2/log4j2.xml|resources/log4j2.xml -logs/ +basehome:modules/log4j2-impl [lib] lib/log4j2/*.jar diff --git a/jetty-util/src/main/config/modules/log4j2/log4j2.xml b/jetty-util/src/main/config/modules/log4j2-impl/resources/log4j2.xml similarity index 87% rename from jetty-util/src/main/config/modules/log4j2/log4j2.xml rename to jetty-util/src/main/config/modules/log4j2-impl/resources/log4j2.xml index bc05dad0a6b..9fa555d3d68 100644 --- a/jetty-util/src/main/config/modules/log4j2/log4j2.xml +++ b/jetty-util/src/main/config/modules/log4j2-impl/resources/log4j2.xml @@ -11,7 +11,9 @@ - + + %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n + + **/org/eclipse/jetty/ant/** + **/org/eclipse/jetty/maven/** + **/org/eclipse/jetty/jspc/** + + **/org/eclipse/jetty/gcloud/** + **/org/eclipse/jetty/infinispan/** + **/org/eclipse/jetty/osgi/** + **/org/eclipse/jetty/spring/** + **/org/eclipse/jetty/http/spi/** + + **/org/eclipse/jetty/tests/** + **/org/eclipse/jetty/test/** + + jacoco-initialize From d4abbb049969b33e24292f4d2add434eed068ff2 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 10:03:18 -0700 Subject: [PATCH 008/109] Correcting Jenkinsfile warning + Using the 'stage' step without a block argument is deprecated --- Jenkinsfile | 72 ++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b45d3fb5216..d448ec83db5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,8 +11,9 @@ node('linux') { try { - stage 'Checkout' - checkout scm + stage('Checkout') { + checkout scm + } } catch (Exception e) { notifyBuild("Checkout Failure") throw e @@ -20,10 +21,11 @@ node('linux') { try { - stage 'Compile' - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B clean install -Dtest=None" + stage('Compile') { + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B clean install -Dtest=None" + } } } } catch(Exception e) { @@ -33,10 +35,11 @@ node('linux') { try { - stage 'Javadoc' - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B javadoc:javadoc" + stage('Javadoc') { + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B javadoc:javadoc" + } } } } catch(Exception e) { @@ -46,30 +49,31 @@ node('linux') { try { - stage 'Test' - withEnv(mvnEnv) { - timeout(time: 60, unit: 'MINUTES') { - // Run test phase / ignore test failures - sh "mvn -B install -Dmaven.test.failure.ignore=true" - // Report failures in the jenkins UI - step([$class: 'JUnitResultArchiver', - testResults: '**/target/surefire-reports/TEST-*.xml']) - // Collect up the jacoco execution results - step([$class: 'JacocoPublisher', - execPattern: '**/target/jacoco.exec', - classPattern: '**/target/classes', - sourcePattern: '**/src/main/java']) - // Report on Maven and Javadoc warnings - step([$class: 'WarningsPublisher', - consoleParsers: [ - [parserName: 'Maven'], - [parserName: 'JavaDoc'], - [parserName: 'JavaC'] - ]]) - } - if(isUnstable()) - { - notifyBuild("Unstable / Test Errors") + stage('Test') { + withEnv(mvnEnv) { + timeout(time: 60, unit: 'MINUTES') { + // Run test phase / ignore test failures + sh "mvn -B install -Dmaven.test.failure.ignore=true" + // Report failures in the jenkins UI + step([$class: 'JUnitResultArchiver', + testResults: '**/target/surefire-reports/TEST-*.xml']) + // Collect up the jacoco execution results + step([$class: 'JacocoPublisher', + execPattern: '**/target/jacoco.exec', + classPattern: '**/target/classes', + sourcePattern: '**/src/main/java']) + // Report on Maven and Javadoc warnings + step([$class: 'WarningsPublisher', + consoleParsers: [ + [parserName: 'Maven'], + [parserName: 'JavaDoc'], + [parserName: 'JavaC'] + ]]) + } + if(isUnstable()) + { + notifyBuild("Unstable / Test Errors") + } } } } catch(Exception e) { From 09abf0b4bdaa9664a798c95dff47ec404eb7600f Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 11:09:24 -0700 Subject: [PATCH 009/109] Revert "Correcting Jenkinsfile warning" This reverts commit d4abbb049969b33e24292f4d2add434eed068ff2. --- Jenkinsfile | 72 +++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d448ec83db5..b45d3fb5216 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,9 +11,8 @@ node('linux') { try { - stage('Checkout') { - checkout scm - } + stage 'Checkout' + checkout scm } catch (Exception e) { notifyBuild("Checkout Failure") throw e @@ -21,11 +20,10 @@ node('linux') { try { - stage('Compile') { - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B clean install -Dtest=None" - } + stage 'Compile' + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B clean install -Dtest=None" } } } catch(Exception e) { @@ -35,11 +33,10 @@ node('linux') { try { - stage('Javadoc') { - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B javadoc:javadoc" - } + stage 'Javadoc' + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B javadoc:javadoc" } } } catch(Exception e) { @@ -49,31 +46,30 @@ node('linux') { try { - stage('Test') { - withEnv(mvnEnv) { - timeout(time: 60, unit: 'MINUTES') { - // Run test phase / ignore test failures - sh "mvn -B install -Dmaven.test.failure.ignore=true" - // Report failures in the jenkins UI - step([$class: 'JUnitResultArchiver', - testResults: '**/target/surefire-reports/TEST-*.xml']) - // Collect up the jacoco execution results - step([$class: 'JacocoPublisher', - execPattern: '**/target/jacoco.exec', - classPattern: '**/target/classes', - sourcePattern: '**/src/main/java']) - // Report on Maven and Javadoc warnings - step([$class: 'WarningsPublisher', - consoleParsers: [ - [parserName: 'Maven'], - [parserName: 'JavaDoc'], - [parserName: 'JavaC'] - ]]) - } - if(isUnstable()) - { - notifyBuild("Unstable / Test Errors") - } + stage 'Test' + withEnv(mvnEnv) { + timeout(time: 60, unit: 'MINUTES') { + // Run test phase / ignore test failures + sh "mvn -B install -Dmaven.test.failure.ignore=true" + // Report failures in the jenkins UI + step([$class: 'JUnitResultArchiver', + testResults: '**/target/surefire-reports/TEST-*.xml']) + // Collect up the jacoco execution results + step([$class: 'JacocoPublisher', + execPattern: '**/target/jacoco.exec', + classPattern: '**/target/classes', + sourcePattern: '**/src/main/java']) + // Report on Maven and Javadoc warnings + step([$class: 'WarningsPublisher', + consoleParsers: [ + [parserName: 'Maven'], + [parserName: 'JavaDoc'], + [parserName: 'JavaC'] + ]]) + } + if(isUnstable()) + { + notifyBuild("Unstable / Test Errors") } } } catch(Exception e) { From b8127399d795a36723beb0da98aafa51eae4e9f1 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 11:28:26 -0700 Subject: [PATCH 010/109] Tweaking jacoco includes/excludes in pom.xml --- pom.xml | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index af538cc0d79..c599ddebf4c 100644 --- a/pom.xml +++ b/pom.xml @@ -175,26 +175,6 @@ org.jacoco jacoco-maven-plugin 0.7.7.201606060606 - - - **/org/eclipse/jetty/**/*.class - - - - **/org/eclipse/jetty/ant/** - **/org/eclipse/jetty/maven/** - **/org/eclipse/jetty/jspc/** - - **/org/eclipse/jetty/gcloud/** - **/org/eclipse/jetty/infinispan/** - **/org/eclipse/jetty/osgi/** - **/org/eclipse/jetty/spring/** - **/org/eclipse/jetty/http/spi/** - - **/org/eclipse/jetty/tests/** - **/org/eclipse/jetty/test/** - - jacoco-initialize @@ -202,6 +182,31 @@ prepare-agent + + + + + **/org/eclipse/jetty/ant/** + **/org/eclipse/jetty/maven/** + **/org/eclipse/jetty/jspc/** + + **/org/eclipse/jetty/gcloud/** + **/org/eclipse/jetty/infinispan/** + **/org/eclipse/jetty/osgi/** + **/org/eclipse/jetty/spring/** + **/org/eclipse/jetty/http/spi/** + + **/org/eclipse/jetty/tests/** + **/org/eclipse/jetty/test/** + + jacoco-site @@ -209,6 +214,16 @@ report + + + + **/org/eclipse/jetty/** + + From bb0ac6232852257acb19a6e7a9700ec35c44c0ff Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 11:29:24 -0700 Subject: [PATCH 011/109] Correcting for Jenkinsfile "stage" syntax warning The Warning Message: "Using the 'stage' step without a block argument is deprecated" --- Jenkinsfile | 72 ++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b45d3fb5216..d448ec83db5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,8 +11,9 @@ node('linux') { try { - stage 'Checkout' - checkout scm + stage('Checkout') { + checkout scm + } } catch (Exception e) { notifyBuild("Checkout Failure") throw e @@ -20,10 +21,11 @@ node('linux') { try { - stage 'Compile' - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B clean install -Dtest=None" + stage('Compile') { + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B clean install -Dtest=None" + } } } } catch(Exception e) { @@ -33,10 +35,11 @@ node('linux') { try { - stage 'Javadoc' - withEnv(mvnEnv) { - timeout(time: 15, unit: 'MINUTES') { - sh "mvn -B javadoc:javadoc" + stage('Javadoc') { + withEnv(mvnEnv) { + timeout(time: 15, unit: 'MINUTES') { + sh "mvn -B javadoc:javadoc" + } } } } catch(Exception e) { @@ -46,30 +49,31 @@ node('linux') { try { - stage 'Test' - withEnv(mvnEnv) { - timeout(time: 60, unit: 'MINUTES') { - // Run test phase / ignore test failures - sh "mvn -B install -Dmaven.test.failure.ignore=true" - // Report failures in the jenkins UI - step([$class: 'JUnitResultArchiver', - testResults: '**/target/surefire-reports/TEST-*.xml']) - // Collect up the jacoco execution results - step([$class: 'JacocoPublisher', - execPattern: '**/target/jacoco.exec', - classPattern: '**/target/classes', - sourcePattern: '**/src/main/java']) - // Report on Maven and Javadoc warnings - step([$class: 'WarningsPublisher', - consoleParsers: [ - [parserName: 'Maven'], - [parserName: 'JavaDoc'], - [parserName: 'JavaC'] - ]]) - } - if(isUnstable()) - { - notifyBuild("Unstable / Test Errors") + stage('Test') { + withEnv(mvnEnv) { + timeout(time: 60, unit: 'MINUTES') { + // Run test phase / ignore test failures + sh "mvn -B install -Dmaven.test.failure.ignore=true" + // Report failures in the jenkins UI + step([$class: 'JUnitResultArchiver', + testResults: '**/target/surefire-reports/TEST-*.xml']) + // Collect up the jacoco execution results + step([$class: 'JacocoPublisher', + execPattern: '**/target/jacoco.exec', + classPattern: '**/target/classes', + sourcePattern: '**/src/main/java']) + // Report on Maven and Javadoc warnings + step([$class: 'WarningsPublisher', + consoleParsers: [ + [parserName: 'Maven'], + [parserName: 'JavaDoc'], + [parserName: 'JavaC'] + ]]) + } + if(isUnstable()) + { + notifyBuild("Unstable / Test Errors") + } } } } catch(Exception e) { From a733d2768c8ddc8cda7b29e2b73b1e60aa6e9209 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 12:39:47 -0700 Subject: [PATCH 012/109] Setting jacoco jenkins publisher to report only on org.eclipse.jetty.* --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index d448ec83db5..bb6fd7d2272 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,6 +59,7 @@ node('linux') { testResults: '**/target/surefire-reports/TEST-*.xml']) // Collect up the jacoco execution results step([$class: 'JacocoPublisher', + inclusionPattern: '**/org/eclipse/jetty/**/*.class', execPattern: '**/target/jacoco.exec', classPattern: '**/target/classes', sourcePattern: '**/src/main/java']) From 2d650512bf2db785d80442498b07b28a11885af2 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 12:48:32 -0700 Subject: [PATCH 013/109] Skipping jacoco collection on build/test/support/integration modules --- apache-jsp/pom.xml | 7 +++++++ apache-jstl/pom.xml | 7 +++++++ jetty-ant/pom.xml | 7 +++++++ jetty-http-spi/pom.xml | 7 +++++++ jetty-jspc-maven-plugin/pom.xml | 7 +++++++ jetty-maven-plugin/pom.xml | 7 +++++++ jetty-osgi/pom.xml | 7 +++++++ jetty-spring/pom.xml | 7 +++++++ pom.xml | 25 ------------------------- tests/test-webapps/pom.xml | 7 +++++++ 10 files changed, 63 insertions(+), 25 deletions(-) diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index f327831f240..16b6fbae64e 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -78,6 +78,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 54d154ca131..1f152a3c0e7 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -29,6 +29,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index aa0899f4e79..ad32b9789bb 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -30,6 +30,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index e021136c1b4..0005157d09f 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -68,6 +68,13 @@ org.eclipse.jetty.http.spi.* + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 534ee361123..f97d8d2e603 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -32,6 +32,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index cd07ff70406..d63f4559980 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -35,6 +35,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 74c8661d0ce..b89016e727e 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -82,6 +82,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index 2f25b999117..8bd8e39bcd2 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -33,6 +33,13 @@ + + org.jacoco + jacoco-maven-plugin + + true + + diff --git a/pom.xml b/pom.xml index c599ddebf4c..d22ed42d7c6 100644 --- a/pom.xml +++ b/pom.xml @@ -182,31 +182,6 @@ prepare-agent - - - - - **/org/eclipse/jetty/ant/** - **/org/eclipse/jetty/maven/** - **/org/eclipse/jetty/jspc/** - - **/org/eclipse/jetty/gcloud/** - **/org/eclipse/jetty/infinispan/** - **/org/eclipse/jetty/osgi/** - **/org/eclipse/jetty/spring/** - **/org/eclipse/jetty/http/spi/** - - **/org/eclipse/jetty/tests/** - **/org/eclipse/jetty/test/** - - jacoco-site diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index e22433328b5..df2ee6ee2d6 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -38,6 +38,13 @@ true + + org.jacoco + jacoco-maven-plugin + + true + + From 3bfc9148892c0dc3ff29ce8f17f69b7a1dcd59f2 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 20 Oct 2016 14:14:50 -0700 Subject: [PATCH 014/109] More attempts at jacoco exclusions --- Jenkinsfile | 19 +++++++++++++++++++ pom.xml | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index bb6fd7d2272..7fbe3fcba87 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,8 +58,27 @@ node('linux') { step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml']) // Collect up the jacoco execution results + def jacocoExcludes = + // build tools + "**/org/eclipse/jetty/ant/**" + + ",**/org/eclipse/jetty/maven/**" + + ",**/org/eclipse/jetty/jspc/**" + + // example code / documentation + ",**/org/eclipse/jetty/embedded/**" + + ",**/org/eclipse/jetty/asyncrest/**" + + ",**/org/eclipse/jetty/demo/**" + + // special environments / late integrations + ",**/org/eclipse/jetty/gcloud/**" + + ",**/org/eclipse/jetty/infinispan/**" + + ",**/org/eclipse/jetty/osgi/**" + + ",**/org/eclipse/jetty/spring/**" + + ",**/org/eclipse/jetty/http/spi/**" + + // test classes + ",**/org/eclipse/jetty/tests/**" + + ",**/org/eclipse/jetty/test/**"; step([$class: 'JacocoPublisher', inclusionPattern: '**/org/eclipse/jetty/**/*.class', + exclusionPattern: jacocoExcludes, execPattern: '**/target/jacoco.exec', classPattern: '**/target/classes', sourcePattern: '**/src/main/java']) diff --git a/pom.xml b/pom.xml index d22ed42d7c6..60b2858ee0c 100644 --- a/pom.xml +++ b/pom.xml @@ -175,6 +175,27 @@ org.jacoco jacoco-maven-plugin 0.7.7.201606060606 + + + + **/org/eclipse/jetty/ant/** + **/org/eclipse/jetty/maven/** + **/org/eclipse/jetty/jspc/** + + **/org/eclipse/jetty/embedded/** + **/org/eclipse/jetty/asyncrest/** + **/org/eclipse/jetty/demo/** + + **/org/eclipse/jetty/gcloud/** + **/org/eclipse/jetty/infinispan/** + **/org/eclipse/jetty/osgi/** + **/org/eclipse/jetty/spring/** + **/org/eclipse/jetty/http/spi/** + + **/org/eclipse/jetty/tests/** + **/org/eclipse/jetty/test/** + + jacoco-initialize From 638045764e20d32fa85d1ba0ff98333686808be4 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 21 Oct 2016 16:32:45 +1100 Subject: [PATCH 015/109] Issue #1018 --- .../PostConstructAnnotationHandler.java | 25 ++++++++- .../PreDestroyAnnotationHandler.java | 25 ++++++++- .../ResourceAnnotationHandler.java | 52 +++++++++++++++++-- .../org/eclipse/jetty/annotations/Util.java | 2 + .../annotations/WebFilterAnnotation.java | 5 +- .../annotations/WebServletAnnotation.java | 3 +- .../jetty/http/pathmap/ServletPathSpec.java | 16 ++++++ .../webapp/StandardDescriptorProcessor.java | 15 ++---- 8 files changed, 123 insertions(+), 20 deletions(-) diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/PostConstructAnnotationHandler.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/PostConstructAnnotationHandler.java index 0c29bc73062..a57ebeb637d 100644 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/PostConstructAnnotationHandler.java +++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/PostConstructAnnotationHandler.java @@ -44,7 +44,7 @@ public class PostConstructAnnotationHandler extends AbstractIntrospectableAnnota public void doHandle(Class clazz) { //Check that the PostConstruct is on a class that we're interested in - if (Util.supportsPostConstructPreDestroy(clazz)) + if (supportsPostConstruct(clazz)) { Method[] methods = clazz.getDeclaredMethods(); for (int i=0; i> ENV_ENTRY_TYPES = + Arrays.asList(new Class[] {String.class, Character.class, Integer.class, Boolean.class, Double.class, Byte.class, Short.class, Long.class, Float.class}); + protected WebAppContext _context; @@ -57,7 +63,7 @@ public class ResourceAnnotationHandler extends AbstractIntrospectableAnnotationH */ public void doHandle(Class clazz) { - if (Util.supportsResourceInjection(clazz)) + if (supportsResourceInjection(clazz)) { handleClass(clazz); @@ -182,7 +188,7 @@ public class ResourceAnnotationHandler extends AbstractIntrospectableAnnotationH //TODO - an @Resource is equivalent to a resource-ref, resource-env-ref, message-destination metaData.setOrigin("resource-ref."+name+".injection",resource,clazz); } - else if (!Util.isEnvEntryType(type)) + else if (!isEnvEntryType(type)) { //if this is an env-entry type resource and there is no value bound for it, it isn't //an error, it just means that perhaps the code will use a default value instead @@ -196,7 +202,7 @@ public class ResourceAnnotationHandler extends AbstractIntrospectableAnnotationH //if this is an env-entry type resource and there is no value bound for it, it isn't //an error, it just means that perhaps the code will use a default value instead // JavaEE Spec. sec 5.4.1.3 - if (!Util.isEnvEntryType(type)) + if (!isEnvEntryType(type)) throw new IllegalStateException(e); } } @@ -339,7 +345,7 @@ public class ResourceAnnotationHandler extends AbstractIntrospectableAnnotationH //TODO - an @Resource is equivalent to a resource-ref, resource-env-ref, message-destination metaData.setOrigin("resource-ref."+name+".injection",resource,clazz); } - else if (!Util.isEnvEntryType(paramType)) + else if (!isEnvEntryType(paramType)) { //if this is an env-entry type resource and there is no value bound for it, it isn't @@ -353,11 +359,47 @@ public class ResourceAnnotationHandler extends AbstractIntrospectableAnnotationH //if this is an env-entry type resource and there is no value bound for it, it isn't //an error, it just means that perhaps the code will use a default value instead // JavaEE Spec. sec 5.4.1.3 - if (!Util.isEnvEntryType(paramType)) + if (!isEnvEntryType(paramType)) throw new IllegalStateException(e); } } } } + + /** + * Check if the given Class is one that the specification allows to have a Resource annotation. + * + * @param c the class + * @return true if Resource annotation permitted, false otherwise + */ + public boolean supportsResourceInjection (Class c) + { + if (javax.servlet.Servlet.class.isAssignableFrom(c) || + javax.servlet.Filter.class.isAssignableFrom(c) || + javax.servlet.ServletContextListener.class.isAssignableFrom(c) || + javax.servlet.ServletContextAttributeListener.class.isAssignableFrom(c) || + javax.servlet.ServletRequestListener.class.isAssignableFrom(c) || + javax.servlet.ServletRequestAttributeListener.class.isAssignableFrom(c) || + javax.servlet.http.HttpSessionListener.class.isAssignableFrom(c) || + javax.servlet.http.HttpSessionAttributeListener.class.isAssignableFrom(c) || + javax.servlet.http.HttpSessionIdListener.class.isAssignableFrom(c) || + javax.servlet.AsyncListener.class.isAssignableFrom(c) || + javax.servlet.http.HttpUpgradeHandler.class.isAssignableFrom(c)) + return true; + + return false; + } + + + /** + * Check if the class is one of the basic java types permitted as + * env-entries. + * @param clazz the class to check + * @return true if class is permitted by the spec to be an env-entry value + */ + public boolean isEnvEntryType (Class clazz) + { + return ENV_ENTRY_TYPES.contains(clazz); + } } diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java index a277316aa0d..1c02b81c089 100644 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java +++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java @@ -20,12 +20,14 @@ package org.eclipse.jetty.annotations; import java.lang.reflect.Array; +import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.util.Loader; import org.eclipse.jetty.util.TypeUtil; import org.objectweb.asm.Type; /** * Annotation Processing Utilities + * @deprecated and replaced by extra methods in {@link ResourceAnnotationHandler}, {@link PreDestroyAnnotationHandler}, {@link PostConstructAnnotationHandler} and {@link ServletPathSpec} */ public class Util { diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebFilterAnnotation.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebFilterAnnotation.java index cdef8f88e78..02a26cb0889 100644 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebFilterAnnotation.java +++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebFilterAnnotation.java @@ -26,6 +26,7 @@ import javax.servlet.Filter; import javax.servlet.annotation.WebFilter; import javax.servlet.annotation.WebInitParam; +import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.FilterMapping; import org.eclipse.jetty.servlet.Holder; @@ -117,7 +118,7 @@ public class WebFilterAnnotation extends DiscoveredAnnotation ArrayList paths = new ArrayList(); for (String s:urlPatterns) { - paths.add(Util.normalizePattern(s)); + paths.add(ServletPathSpec.normalize(s)); } mapping.setPathSpecs(paths.toArray(new String[paths.size()])); } @@ -188,7 +189,7 @@ public class WebFilterAnnotation extends DiscoveredAnnotation ArrayList paths = new ArrayList(); for (String s:urlPatterns) { - paths.add(Util.normalizePattern(s)); + paths.add(ServletPathSpec.normalize(s)); } mapping.setPathSpecs(paths.toArray(new String[paths.size()])); } diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebServletAnnotation.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebServletAnnotation.java index 06caea42b1f..8688541536a 100644 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebServletAnnotation.java +++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/WebServletAnnotation.java @@ -27,6 +27,7 @@ import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; +import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.servlet.Holder; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletMapping; @@ -102,7 +103,7 @@ public class WebServletAnnotation extends DiscoveredAnnotation //canonicalize the patterns ArrayList urlPatternList = new ArrayList(); for (String p : urlPatterns) - urlPatternList.add(Util.normalizePattern(p)); + urlPatternList.add(ServletPathSpec.normalize(p)); String servletName = (annotation.name().equals("")?clazz.getName():annotation.name()); diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/pathmap/ServletPathSpec.java b/jetty-http/src/main/java/org/eclipse/jetty/http/pathmap/ServletPathSpec.java index 4563305659c..a575b5917c2 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/pathmap/ServletPathSpec.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/pathmap/ServletPathSpec.java @@ -18,10 +18,26 @@ package org.eclipse.jetty.http.pathmap; +import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.URIUtil; public class ServletPathSpec extends PathSpec { + /** + * If a servlet or filter path mapping isn't a suffix mapping, ensure + * it starts with '/' + * + * @param pathSpec the servlet or filter mapping pattern + * @return the pathSpec prefixed by '/' if appropriate + */ + public static String normalize(String pathSpec) + { + if (StringUtil.isNotBlank(pathSpec) && !pathSpec.startsWith("/") && !pathSpec.startsWith("*")) + return "/" + pathSpec; + return pathSpec; + } + + public ServletPathSpec(String servletPathSpec) { super(); diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java index f2374531dd9..d0be672cda3 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java @@ -35,6 +35,7 @@ import javax.servlet.DispatcherType; import javax.servlet.MultipartConfigElement; import javax.servlet.SessionTrackingMode; +import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.security.ConstraintAware; import org.eclipse.jetty.security.ConstraintMapping; import org.eclipse.jetty.security.authentication.FormAuthenticator; @@ -1189,7 +1190,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor while (iter.hasNext()) { String p = iter.next().toString(false, true); - p = normalizePattern(p); + p = ServletPathSpec.normalize(p); //check if there is already a mapping for this path ListIterator listItor = _servletMappings.listIterator(); @@ -1253,7 +1254,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor while (iter.hasNext()) { String p = iter.next().toString(false, true); - p = normalizePattern(p); + p = ServletPathSpec.normalize(p); paths.add(p); context.getMetaData().setOrigin(filterName+".filter.mapping."+p, descriptor); } @@ -1337,7 +1338,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor while (iter2.hasNext()) { String url = iter2.next().toString(false, true); - url = normalizePattern(url); + url = ServletPathSpec.normalize(url); paths.add( url); jpg.addUrlPattern(url); } @@ -1477,7 +1478,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor while (iter2.hasNext()) { String url = iter2.next().toString(false, true); - url = normalizePattern(url); + url = ServletPathSpec.normalize(url); //remember origin so we can process ServletRegistration.Dynamic.setServletSecurityElement() correctly context.getMetaData().setOrigin("constraint.url."+url, descriptor); @@ -1946,10 +1947,4 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor return l; } - - public String normalizePattern(String p) - { - if (p != null && p.length() > 0 && !p.startsWith("/") && !p.startsWith("*")) return "/" + p; - return p; - } } From d2a98206df09b24519f9db1eac023d0d27736f8e Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 21 Oct 2016 16:38:47 +1100 Subject: [PATCH 016/109] Issue #1018 Remove deprecated Util class --- .../org/eclipse/jetty/annotations/Util.java | 277 ------------------ 1 file changed, 277 deletions(-) delete mode 100644 jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java deleted file mode 100644 index 6186eebed22..00000000000 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/Util.java +++ /dev/null @@ -1,277 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.annotations; - -import java.lang.reflect.Array; - -import org.eclipse.jetty.http.pathmap.ServletPathSpec; -import org.eclipse.jetty.util.Loader; -import org.eclipse.jetty.util.TypeUtil; -import org.objectweb.asm.Type; - -/** - * Annotation Processing Utilities - * @deprecated and replaced by extra methods in {@link ResourceAnnotationHandler}, {@link PreDestroyAnnotationHandler}, {@link PostConstructAnnotationHandler} and {@link ServletPathSpec} - */ -public class Util -{ - private static Class[] __envEntryClassTypes = - new Class[] {String.class, Character.class, Integer.class, Boolean.class, Double.class, Byte.class, Short.class, Long.class, Float.class}; - - - private static String[] __envEntryTypes = - new String[] { Type.getDescriptor(String.class), Type.getDescriptor(Character.class), Type.getDescriptor(Integer.class), Type.getDescriptor(Boolean.class), - Type.getDescriptor(Double.class), Type.getDescriptor(Byte.class), Type.getDescriptor(Short.class), Type.getDescriptor(Long.class), Type.getDescriptor(Float.class)}; - - /** - * Check if the presented method belongs to a class that is one - * of the classes with which a servlet container should be concerned. - * @param c the class - * @return true if class is a type of one of the following: - * ({@link javax.servlet.Servlet}, - * {@link javax.servlet.Filter}, - * {@link javax.servlet.ServletContextListener}, - * {@link javax.servlet.ServletContextAttributeListener}, - * {@link javax.servlet.ServletRequestListener}, - * {@link javax.servlet.ServletRequestAttributeListener}, - * {@link javax.servlet.http.HttpSessionListener}, - * {@link javax.servlet.http.HttpSessionAttributeListener}) - */ - public static boolean isServletType (Class c) - { - boolean isServlet = false; - if (javax.servlet.Servlet.class.isAssignableFrom(c) || - javax.servlet.Filter.class.isAssignableFrom(c) || - javax.servlet.ServletContextListener.class.isAssignableFrom(c) || - javax.servlet.ServletContextAttributeListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestAttributeListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionAttributeListener.class.isAssignableFrom(c) || - javax.servlet.AsyncListener.class.isAssignableFrom(c)) - - isServlet=true; - - return isServlet; - } - - - public static boolean supportsResourceInjection (Class c) - { - if (javax.servlet.Servlet.class.isAssignableFrom(c) || - javax.servlet.Filter.class.isAssignableFrom(c) || - javax.servlet.ServletContextListener.class.isAssignableFrom(c) || - javax.servlet.ServletContextAttributeListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestAttributeListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionAttributeListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionIdListener.class.isAssignableFrom(c) || - javax.servlet.AsyncListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpUpgradeHandler.class.isAssignableFrom(c)) - return true; - - return false; - } - - - public static boolean supportsPostConstructPreDestroy (Class c) - { - if (javax.servlet.Servlet.class.isAssignableFrom(c) || - javax.servlet.Filter.class.isAssignableFrom(c) || - javax.servlet.ServletContextListener.class.isAssignableFrom(c) || - javax.servlet.ServletContextAttributeListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestListener.class.isAssignableFrom(c) || - javax.servlet.ServletRequestAttributeListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionAttributeListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpSessionIdListener.class.isAssignableFrom(c) || - javax.servlet.AsyncListener.class.isAssignableFrom(c) || - javax.servlet.http.HttpUpgradeHandler.class.isAssignableFrom(c)) - return true; - - return false; - } - - public static boolean isEnvEntryType (Class type) - { - boolean result = false; - for (int i=0;i<__envEntryClassTypes.length && !result;i++) - { - result = (type.equals(__envEntryClassTypes[i])); - } - return result; - } - - public static boolean isEnvEntryType (String desc) - { - boolean result = false; - for (int i=0;i<__envEntryTypes.length && !result;i++) - { - result = (desc.equals(__envEntryTypes[i])); - } - return result; - } - - public static String normalizePattern(String p) - { - if (p!=null && p.length()>0 && !p.startsWith("/") && !p.startsWith("*")) - return "/"+p; - return p; - } - - - - public static Class[] convertTypes (String params) - throws Exception - { - return convertTypes(Type.getArgumentTypes(params)); - } - - - public static Class[] convertTypes (Type[] types) - throws Exception - { - if (types==null) - return new Class[0]; - - Class[] classArray = new Class[types.length]; - - for (int i=0; i Date: Fri, 21 Oct 2016 12:48:53 -0700 Subject: [PATCH 017/109] Updating to version 9.4.0.RC1 --- VERSION.txt | 41 ++++++++++++++++++- aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- .../jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-home/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- .../http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- .../jetty-memcached-sessions/pom.xml | 2 +- jetty-memcached/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-server/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-unixsocket/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- .../javax-websocket-client-impl/pom.xml | 2 +- .../javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- .../test-sessions/test-file-sessions/pom.xml | 2 +- .../test-gcloud-sessions/pom.xml | 2 +- .../test-sessions/test-hash-sessions/pom.xml | 2 +- .../test-infinispan-sessions/pom.xml | 2 +- .../test-sessions/test-jdbc-sessions/pom.xml | 2 +- .../test-memcached-sessions/pom.xml | 2 +- .../test-mongodb-sessions/pom.xml | 2 +- .../test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- .../test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-container-initializer/pom.xml | 2 +- .../test-spec-webapp/pom.xml | 2 +- .../test-web-fragment/pom.xml | 2 +- .../test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 117 files changed, 156 insertions(+), 117 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index fdb2c94f6cc..54970f599aa 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,4 +1,43 @@ -jetty-9.4.0-SNAPSHOT +jetty-9.4.0.RC1 - 21 October 2016 + + 277 Proxy servlet does not handle HTTP status 100 correctly + + 292 NPE in SslConnectionFactory newConnection + + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid + memory leak + + 382 Support Request auto decompress in GzipHandler + + 644 Modules for enabling logging + + 788 Attempting to activate a module that is already enabled + + 914 Regularize the naming of the session configuration properties + + 915 The jetty-maven-plugin:stop goal doesn't stop everything completely + + 918 Support certificates hot reload + + 926 No LSB Tags on jetty.sh script cause warning on Ubuntu 16.04 + + 927 Allow custom schema for session tables + + 940 Reset Response buffer size + + 941 Make GCloudSessionDataStore more configurable + + 944 Make a NullSessionCache module + + 945 Property for SessionCache.saveOnCreate missing in session-cache-hash.mod + + 946 Fix javadoc on MongoSessionDataStore + + 948 jetty-distribution invalid config etc/jetty-http2c.xml + + 953 Add namespace support to GCloudSessionDataStore + + 954 Fallback to less efficient queries if no indexes for + GCloudSessionDataStore + + 955 Response listeners not invoked when using Connection.send() + + 959 CompleteListener invoked twice for HTTP/2 transport and response content + + 960 Async I/O spin when reading early EOF + + 963 location based black/white classpath patterns + + 966 Remove usages of ConcurrentArrayQueue + + 984 Improve logging modules and module listing + + 989 InputStreamResponseListener.get() throws with HTTP/2 following redirect + + 993 Add GAE_MODULE_INSTANCE env var as default for session id manager + + 998 Normalize [tags] directive in *.mod files + + 999 Create a Flight Recorder module + + 1000 Allow legacy behaviour if 2 servlets map to same path + + 1003 Better error messages when invoking deprecated modules + + 1007 Update to gcloud datastore 0.4.0 + + 1009 ThreadLimitHandler has no method setBlockForMs + + 1013 Overlay directory for modules + + 1014 Sessions created via https throw "invalid for write" exception + + 1017 Output session configuration for dump + + 1018 Remove dependency on asm types in oej.annotations.Util jetty-9.4.0.RC0 - 15 September 2016 + 131 Improve Connector Statistic names and values diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 89daa3e1091..5f8c24b9140 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 88636ca2122..1c0791dabcc 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index 1207c44f4d5..97353fc592a 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 1b5b9fe221b..d8145319f9f 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 1d3dc196926..9eb2c48d5f9 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 52b08a7784a..a4555f67d15 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index 433a36a5fb6..3e5364dd0b6 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index a38ebb6ae2a..761f1eb75fc 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index 3af9816bd01..914163039d6 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 5128921e97f..20ff29b1ca3 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 80a0f425eb4..2e357adc36a 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 4157d6c746c..a0a15f74dd9 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 8f432097d11..5b8777b1862 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index 3ddb82472b9..b3e22ff619a 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index ea315171831..069cfc60e87 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index f8509144daf..033c4ff79a7 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index e3b05934900..edb8945df72 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index 07c6a5a7c35..c544d71d713 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index b1cd311412e..9e5899976a4 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index 2ff830a83a5..79093a38e3e 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index b7e52465020..05f0039a519 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index edd16b1f70c..de8a07ef4fa 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 9f94d9e73b3..cec886cf201 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 3ba7d4ff70a..459fc886409 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 3ad8e2bfec8..66508502fa1 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 8cf9e9a68b6..858af5bf19e 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 271ef70033b..3d99e655611 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index d3f278cff6e..89fa3f214d4 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 4bf6490fc26..5d072dbc40b 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index d73a0ab7667..9b40ff83c0a 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index e5af8106877..c894f509877 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-home diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 18cc645d9f3..733642b3761 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index 9802a9f8a20..dbcfafbd2bd 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index ac3f7fc780c..966840d959d 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 56fb4ddff94..115afc6e90f 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 67f009d44e2..118357972a4 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 407e2db982c..9105b8c582a 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index 7197df72668..25796f7d716 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 78e4dc35c45..9e3f9e2592a 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index f6ed2ff2812..71e374c9ff3 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 2a5cb160a3a..3810e44ad0c 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index 3723e68651f..6ab7ac146b9 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 70fe50f0c4e..43b82cdf9d8 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index db67f580ef3..0815c3bde1e 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 9ed4a201940..51bf62bbebb 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 9df46b81ad8..585906f6646 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 0eb59c6b90e..77c3185bfaa 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 7353c81d950..b63bf923493 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-maven-plugin diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml index 0f517077c41..814c2035a81 100644 --- a/jetty-memcached/jetty-memcached-sessions/pom.xml +++ b/jetty-memcached/jetty-memcached-sessions/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.memcached memcached-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml index d8d64ecdc21..c9464275c53 100644 --- a/jetty-memcached/pom.xml +++ b/jetty-memcached/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 55be194decf..a3ea01d9427 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index 827a916c546..162a37322dd 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index fed4cedb270..7aeddf374ee 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index 009fa996e16..5ddae995b04 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index e3c1d125308..31f99402694 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index 41bb8e078b5..de2a730706c 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index cbeb05f6267..9cd223bc24b 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index afbd60f8d5c..2326bdb7584 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index 1e4e11b725b..b7d7f1e250e 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml index bd609f680f7..2c25e331add 100644 --- a/jetty-osgi/test-jetty-osgi-server/pom.xml +++ b/jetty-osgi/test-jetty-osgi-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 test-jetty-osgi-server diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index c34ca274d5b..dfef2f18a10 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 75663acf2d2..f9a19005da4 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index 9dc78f9980b..27ba8056ea1 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index 4220a83ef5e..e527f0108e3 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index be039807125..697a8109c5f 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 0bd15bb35a8..ef71a093ddc 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index f003192de2c..0c8163a0c99 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index f789288cb30..3c4a649c01f 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index a8aaa2aab56..5634d30b39e 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index cc6fb609116..500575635a0 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 00dada9234f..0a4dea10897 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index f56ccac72e2..4232567473c 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index d70800f7f99..65069c744d7 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-start diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index 91c7af717e4..d48c5111db3 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-unixsocket diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index 0010da443b3..b3393db043c 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index 6af9d1b0cc8..e3b0ee5b628 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index cdd99f7e91a..11253d46e57 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index cd091afd11c..2ed487fc3d4 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 2c88f146c0d..9651d400802 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index b6a13671eeb..b748f5c5782 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 559620f5fcb..89d7244cfaa 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index c076cce1f6f..3129261431e 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index ec9de211aa3..5784806b66f 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index c91380ac88c..6adf5a3074d 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 19e6231c8d9..d9f7de03fa3 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index 741d742bbd6..c56144a7832 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 99ed8b86826..0a627160c37 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 Jetty :: Project The Eclipse Jetty Project diff --git a/tests/pom.xml b/tests/pom.xml index 4db9da434d8..f8ecd79807f 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 2c82398cb69..282fa314ade 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index 5f79cb73e66..adea43bc8cf 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index 6016feecda5..e81f5293b14 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index 695faa3f592..8e8b35b3548 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 237924e08f9..37515c7cfc0 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 5558b8f7d56..a45a8af71f4 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 3f0b4611414..98faf59a0bc 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index 2de6291b18a..fa777110b6e 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 9b9537c8142..50a87b1a1a7 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-file-sessions/pom.xml b/tests/test-sessions/test-file-sessions/pom.xml index 5c0016d2131..8eb05cfa52b 100644 --- a/tests/test-sessions/test-file-sessions/pom.xml +++ b/tests/test-sessions/test-file-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-file-sessions Jetty Tests :: Sessions :: File diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index 6de6e0dbb98..5de5214feca 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index 7345fc9c9cc..181aadb4021 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index b4b195cb997..18bcff0abaf 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 81a04cf994b..5df33cc0cef 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-memcached-sessions/pom.xml b/tests/test-sessions/test-memcached-sessions/pom.xml index 5721fc51c2a..9e2dfff2b4d 100644 --- a/tests/test-sessions/test-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-memcached-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-memcached-sessions Jetty Tests :: Sessions :: Memcached diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index d2aa2576701..9e6c823574d 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 907417571f3..7a744238a29 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 0fecbf4be99..5bc5db3e252 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 6b3e555a1ee..1e199acde36 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index 8bd0b1cda44..b0f65082551 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 67cf9201001..4f92b11923f 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index 1a5c2059a2f..81ecffb74ad 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index ec11b5b9c38..e63b7d65955 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 7cea3d37885..588d8904073 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 7e921553f6d..244a07da821 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index baf5064ea8e..98635ad8f7a 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index 33d03cf7a1c..fa18e63a903 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 15f9b822bbb..49346929ea1 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0-SNAPSHOT + 9.4.0.RC1 test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From 48791aceb2718de25064b33e46d6cd5144b956d2 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 21 Oct 2016 13:57:01 -0700 Subject: [PATCH 018/109] Updating to version 9.4.0-SNAPSHOT --- VERSION.txt | 2 ++ aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- jetty-gcloud/jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-home/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- jetty-http2/http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- jetty-memcached/jetty-memcached-sessions/pom.xml | 2 +- jetty-memcached/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-server/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-unixsocket/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- jetty-websocket/javax-websocket-client-impl/pom.xml | 2 +- jetty-websocket/javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- tests/test-sessions/test-file-sessions/pom.xml | 2 +- tests/test-sessions/test-gcloud-sessions/pom.xml | 2 +- tests/test-sessions/test-hash-sessions/pom.xml | 2 +- tests/test-sessions/test-infinispan-sessions/pom.xml | 2 +- tests/test-sessions/test-jdbc-sessions/pom.xml | 2 +- tests/test-sessions/test-memcached-sessions/pom.xml | 2 +- tests/test-sessions/test-mongodb-sessions/pom.xml | 2 +- tests/test-sessions/test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- tests/test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-servlet-spec/test-container-initializer/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml | 2 +- tests/test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 117 files changed, 118 insertions(+), 116 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 54970f599aa..8c55557cf08 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,3 +1,5 @@ +jetty-9.4.0-SNAPSHOT + jetty-9.4.0.RC1 - 21 October 2016 + 277 Proxy servlet does not handle HTTP status 100 correctly + 292 NPE in SslConnectionFactory newConnection diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 5f8c24b9140..89daa3e1091 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 1c0791dabcc..88636ca2122 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index 97353fc592a..1207c44f4d5 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index d8145319f9f..1b5b9fe221b 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 9eb2c48d5f9..1d3dc196926 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index a4555f67d15..52b08a7784a 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index 3e5364dd0b6..433a36a5fb6 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 761f1eb75fc..a38ebb6ae2a 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index 914163039d6..3af9816bd01 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 20ff29b1ca3..5128921e97f 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 2e357adc36a..80a0f425eb4 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index a0a15f74dd9..4157d6c746c 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 5b8777b1862..8f432097d11 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index b3e22ff619a..3ddb82472b9 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index 069cfc60e87..ea315171831 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index 033c4ff79a7..f8509144daf 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index edb8945df72..e3b05934900 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index c544d71d713..07c6a5a7c35 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index 9e5899976a4..b1cd311412e 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index 79093a38e3e..2ff830a83a5 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 05f0039a519..b7e52465020 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index de8a07ef4fa..edd16b1f70c 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index cec886cf201..9f94d9e73b3 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 459fc886409..3ba7d4ff70a 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 66508502fa1..3ad8e2bfec8 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 858af5bf19e..8cf9e9a68b6 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 3d99e655611..271ef70033b 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index 89fa3f214d4..d3f278cff6e 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 5d072dbc40b..4bf6490fc26 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 9b40ff83c0a..d73a0ab7667 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index c894f509877..e5af8106877 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-home diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 733642b3761..18cc645d9f3 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index dbcfafbd2bd..9802a9f8a20 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index 966840d959d..ac3f7fc780c 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 115afc6e90f..56fb4ddff94 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 118357972a4..67f009d44e2 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 9105b8c582a..407e2db982c 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index 25796f7d716..7197df72668 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 9e3f9e2592a..78e4dc35c45 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 71e374c9ff3..f6ed2ff2812 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 3810e44ad0c..2a5cb160a3a 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index 6ab7ac146b9..3723e68651f 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 43b82cdf9d8..70fe50f0c4e 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index 0815c3bde1e..db67f580ef3 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 51bf62bbebb..9ed4a201940 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 585906f6646..9df46b81ad8 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 77c3185bfaa..0eb59c6b90e 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index b63bf923493..7353c81d950 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-maven-plugin diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml index 814c2035a81..0f517077c41 100644 --- a/jetty-memcached/jetty-memcached-sessions/pom.xml +++ b/jetty-memcached/jetty-memcached-sessions/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.memcached memcached-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml index c9464275c53..d8d64ecdc21 100644 --- a/jetty-memcached/pom.xml +++ b/jetty-memcached/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index a3ea01d9427..55be194decf 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index 162a37322dd..827a916c546 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index 7aeddf374ee..fed4cedb270 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index 5ddae995b04..009fa996e16 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 31f99402694..e3c1d125308 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index de2a730706c..41bb8e078b5 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 9cd223bc24b..cbeb05f6267 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 2326bdb7584..afbd60f8d5c 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index b7d7f1e250e..1e4e11b725b 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml index 2c25e331add..bd609f680f7 100644 --- a/jetty-osgi/test-jetty-osgi-server/pom.xml +++ b/jetty-osgi/test-jetty-osgi-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 test-jetty-osgi-server diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index dfef2f18a10..c34ca274d5b 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index f9a19005da4..75663acf2d2 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index 27ba8056ea1..9dc78f9980b 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index e527f0108e3..4220a83ef5e 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 697a8109c5f..be039807125 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index ef71a093ddc..0bd15bb35a8 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 0c8163a0c99..f003192de2c 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index 3c4a649c01f..f789288cb30 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index 5634d30b39e..a8aaa2aab56 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index 500575635a0..cc6fb609116 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 0a4dea10897..00dada9234f 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index 4232567473c..f56ccac72e2 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 65069c744d7..d70800f7f99 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-start diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index d48c5111db3..91c7af717e4 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-unixsocket diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index b3393db043c..0010da443b3 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index e3b0ee5b628..6af9d1b0cc8 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 11253d46e57..cdd99f7e91a 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 2ed487fc3d4..cd091afd11c 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 9651d400802..2c88f146c0d 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index b748f5c5782..b6a13671eeb 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 89d7244cfaa..559620f5fcb 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 3129261431e..c076cce1f6f 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index 5784806b66f..ec9de211aa3 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index 6adf5a3074d..c91380ac88c 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index d9f7de03fa3..19e6231c8d9 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index c56144a7832..741d742bbd6 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 0a627160c37..99ed8b86826 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT Jetty :: Project The Eclipse Jetty Project diff --git a/tests/pom.xml b/tests/pom.xml index f8ecd79807f..4db9da434d8 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 282fa314ade..2c82398cb69 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index adea43bc8cf..5f79cb73e66 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index e81f5293b14..6016feecda5 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index 8e8b35b3548..695faa3f592 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 37515c7cfc0..237924e08f9 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index a45a8af71f4..5558b8f7d56 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 98faf59a0bc..3f0b4611414 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index fa777110b6e..2de6291b18a 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 50a87b1a1a7..9b9537c8142 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-file-sessions/pom.xml b/tests/test-sessions/test-file-sessions/pom.xml index 8eb05cfa52b..5c0016d2131 100644 --- a/tests/test-sessions/test-file-sessions/pom.xml +++ b/tests/test-sessions/test-file-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-file-sessions Jetty Tests :: Sessions :: File diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index 5de5214feca..6de6e0dbb98 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index 181aadb4021..7345fc9c9cc 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 18bcff0abaf..b4b195cb997 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 5df33cc0cef..81a04cf994b 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-memcached-sessions/pom.xml b/tests/test-sessions/test-memcached-sessions/pom.xml index 9e2dfff2b4d..5721fc51c2a 100644 --- a/tests/test-sessions/test-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-memcached-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-memcached-sessions Jetty Tests :: Sessions :: Memcached diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 9e6c823574d..d2aa2576701 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 7a744238a29..907417571f3 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 5bc5db3e252..0fecbf4be99 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 1e199acde36..6b3e555a1ee 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index b0f65082551..8bd0b1cda44 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 4f92b11923f..67cf9201001 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index 81ecffb74ad..1a5c2059a2f 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index e63b7d65955..ec11b5b9c38 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 588d8904073..7cea3d37885 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 244a07da821..7e921553f6d 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 98635ad8f7a..baf5064ea8e 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index fa18e63a903..33d03cf7a1c 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 49346929ea1..15f9b822bbb 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.0.RC1 + 9.4.0-SNAPSHOT test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From 9569ff64c906c6a2025b71d4b93d5a0609b56765 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Sat, 22 Oct 2016 10:34:14 +1100 Subject: [PATCH 019/109] removed unnecessary dependency #1020 --- jetty-util/src/main/config/modules/jul-impl.mod | 3 --- 1 file changed, 3 deletions(-) diff --git a/jetty-util/src/main/config/modules/jul-impl.mod b/jetty-util/src/main/config/modules/jul-impl.mod index 0b6b8294da6..33beabdab4e 100644 --- a/jetty-util/src/main/config/modules/jul-impl.mod +++ b/jetty-util/src/main/config/modules/jul-impl.mod @@ -6,9 +6,6 @@ logging jul internal -[depends] -resources - [provides] jul-api jul-impl From 726fcd814c9533ecc3f29d1f3bbf5326b1c13751 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Sat, 22 Oct 2016 10:56:50 +1100 Subject: [PATCH 020/109] fixed simple-impl naming #1023 --- jetty-util/src/main/config/modules/slf4j-simple-impl.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-util/src/main/config/modules/slf4j-simple-impl.mod b/jetty-util/src/main/config/modules/slf4j-simple-impl.mod index 197e3de40cd..168ff76e6f3 100644 --- a/jetty-util/src/main/config/modules/slf4j-simple-impl.mod +++ b/jetty-util/src/main/config/modules/slf4j-simple-impl.mod @@ -16,7 +16,7 @@ slf4j-impl [files] maven://org.slf4j/slf4j-simple/${slf4j.version}|lib/slf4j/slf4j-simple-${slf4j.version}.jar -basehome:modules/slf4j-impl +basehome:modules/slf4j-simple-impl [lib] lib/slf4j/slf4j-simple-${slf4j.version}.jar From 1e76c994427fcddaec2faf0a4b6cd8eb88c389e4 Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Fri, 21 Oct 2016 20:07:31 -0400 Subject: [PATCH 021/109] Issue #644 Additional documentation for updated logging modules. (#1021) Signed-off-by: WalkerWatch --- .../logging/configuring-logging-modules.adoc | 179 ++++++++---------- .../default-logging-with-stderrlog.adoc | 77 +++++--- .../example-logback-centralized-logging.adoc | 6 +- 3 files changed, 128 insertions(+), 134 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc index f2a59ff228e..f4734338363 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc @@ -27,9 +27,11 @@ Enabling these frameworks in the Jetty distribution is as easy as activating any [source, screen, subs="{sub-order}"] .... [my-base]$ java -jar ../start.jar --add-to-start=logging-jetty -INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini -INFO : resources transitive -INFO : Base directory was modified +INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini +INFO : resources transitively enabled +MKDIR : ${jetty.base}/resources +COPY : ${jetty.home}/modules/logging-jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties +INFO : Base directory was modified .... As noted above, Jetty supports a wide array of logging technologies. @@ -78,7 +80,8 @@ Most other top level logging modules work in the same way: `logging-jcl`, `loggi Jetty uses the SLF4J api as a binding to provide logging information to additional frameworks such as Log4j or Logback. It can also be used on it's own to provide simple server logging. To enable the SLF4J framework, you need to activate the `logging-slf4j` module. -By default, log files will be stored in `${jetty.base}/logs`. + +//TODO - Update after 1019 is resolved [source, screen, subs="{sub-order}"] .... @@ -115,9 +118,9 @@ Proceed (y/N)? y INFO : slf4j-api transitively enabled INFO : logging-slf4j initialized in ${jetty.base}/start.d/logging-slf4j.ini MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar INFO : Base directory was modified -ERROR : Module logging-slf4j requires a `slf4j-impl` module from one of [slf4j-simple-impl, slf4j-logback, slf4j-jul, slf4j-jcl, slf4j-log4j2, slf4j-log4j] +ERROR : Module logging-slf4j requires a module providing slf4j-impl from one of [slf4j-simple-impl, slf4j-logback, slf4j-jul, slf4j-log4j2, slf4j-log4j] ERROR : Unsatisfied module dependencies: logging-slf4j @@ -154,13 +157,15 @@ INFO : Base directory was modified └── slf4j-simple-impl.ini .... +Jetty is now configured to log using the SLF4J framework. +A standard SLF4J properties file is located in `${jetty.base}/resources/simplelogger.properties`. + [[example-logging-log4j]] ==== Logging with Log4j and Log4j2 It is possible to have the Jetty Server logging configured so that Log4j or Log4j2 controls the output of logging events produced by Jetty. This is accomplished by configuring Jetty for logging to http://logging.apache.org/log4j/[Apache Log4j] via http://slf4j.org/manual.html[Slf4j] and the http://slf4j.org/manual.html#swapping[Slf4j binding layer for Log4j]. Implementation of Log4j can be done by enabling the `logging-log4j` module. -By default, log files will be stored in `${jetty.base}/logs`. [source, screen, subs="{sub-order}"] .... @@ -204,13 +209,12 @@ INFO : resources transitively enabled INFO : slf4j-log4j transitively enabled INFO : logging-log4j initialized in ${jetty.base}/start.d/logging-log4j.ini MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/log4j/log4j.properties to ${jetty.base}/resources/log4j.properties +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/log4j -DOWNLOAD: http://central.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar to ${jetty.base}/lib/log4j/log4j-1.2.17.jar -MKDIR : ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-log4j12-1.7.21.jar +COPY : /Users/chris/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar to ${jetty.base}/lib/log4j/log4j-1.2.17.jar +MKDIR : ${jetty.base}/resources +COPY : ${jetty.home}/modules/log4j-impl/resources/log4j.xml to ${jetty.base}/resources/log4j.xml +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-log4j12-1.7.21.jar INFO : Base directory was modified [my-base]$ tree @@ -221,19 +225,20 @@ INFO : Base directory was modified │   └── slf4j │   ├── slf4j-api-1.7.21.jar │   └── slf4j-log4j12-1.7.21.jar -├── logs ├── resources -│   └── log4j.properties +│   └── log4j.xml └── start.d └── logging-log4j.ini .... -Or, to enable Log4j2, simply enable the `logging-log4j2` module. -By default, log files will be stored in `${jetty.base}/logs`. +Jetty is now configured to log using the Log4j framework. +A standard Log4j configuration file is located in `${jetty.base}/resources/log4j.xml`. + +Or, to set up Log4j2, enable the `logging-log4j2` module. [source, screen, subs="{sub-order}"] .... -[my-base]$ java -jar ../start.jar --add-to-start=logging-log4j2 +[my-base]$ java -jar ../start.jar --add-to-start=logging-log4j2 ALERT: There are enabled module(s) with licenses. The following 2 module(s): @@ -274,34 +279,32 @@ INFO : resources transitively enabled INFO : slf4j-log4j2 transitively enabled INFO : log4j2-impl transitively enabled MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -MKDIR : ${jetty.base}/lib/log4j -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.6.1/log4j-api-2.6.1.jar to ${jetty.base}/lib/log4j/log4j-api-2.6.1.jar -MKDIR : ${jetty.base}/resources -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.6.1/log4j-slf4j-impl-2.6.1.jar to ${jetty.base}/lib/log4j/log4j-slf4j-impl-2.6.1.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/log4j2 -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.6.1/log4j-core-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-core-2.6.1.jar -COPY : ${jetty.home}/modules/log4j2/log4j2.xml to ${jetty.base}/resources/log4j2.xml -MKDIR : ${jetty.base}/logs +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.6.1/log4j-api-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-api-2.6.1.jar +MKDIR : ${jetty.base}/resources +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.6.1/log4j-slf4j-impl-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-slf4j-impl-2.6.1.jar +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.6.1/log4j-core-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-core-2.6.1.jar +COPY : ${jetty.home}/modules/log4j2-impl/resources/log4j2.xml to ${jetty.base}/resources/log4j2.xml INFO : Base directory was modified [my-base]$ tree . ├── lib -│   ├── log4j -│   │   ├── log4j-api-2.6.1.jar -│   │   └── log4j-slf4j-impl-2.6.1.jar │   ├── log4j2 -│   │   └── log4j-core-2.6.1.jar +│   │   ├── log4j-api-2.6.1.jar +│   │   ├── log4j-core-2.6.1.jar +│   │   └── log4j-slf4j-impl-2.6.1.jar │   └── slf4j │   └── slf4j-api-1.7.21.jar -├── logs ├── resources │   └── log4j2.xml └── start.d └── logging-log4j2.ini .... +At this point Jetty is configured so that the Jetty server itself will log using Log4j2, using the Log4j2 configuration found in `{$jetty.base}/resources/log4j2.xml`. + [[example-logging-logback]] ==== Logging with Logback @@ -309,7 +312,6 @@ It is possible to have the Jetty Server logging configured so that Logback contr This is accomplished by configuring Jetty for logging to `Logback`, which uses http://slf4j.org/manual.html[Slf4j] and the http://logback.qos.ch/[Logback Implementation for Slf4j]. To set up Jetty logging via Logback, enable the `logging-logback` module. -By default, log files will be stored in `${jetty.base}/logs`. [source, screen, subs="{sub-order}"] .... @@ -362,13 +364,12 @@ INFO : slf4j-logback transitively enabled INFO : logging-logback initialized in ${jetty.base}/start.d/logging-logback.ini INFO : resources transitively enabled MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/logback -DOWNLOAD: http://central.maven.org/maven2/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar to ${jetty.base}/lib/logback/logback-core-1.1.7.jar +DOWNLD: http://central.maven.org/maven2/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar to ${jetty.base}/lib/logback/logback-core-1.1.7.jar MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/logback/logback.xml to ${jetty.base}/resources/logback.xml -MKDIR : ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar to ${jetty.base}/lib/logback/logback-classic-1.1.7.jar +COPY : ${jetty.home}/modules/logback-impl/resources/logback.xml to ${jetty.base}/resources/logback.xml +DOWNLD: http://central.maven.org/maven2/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar to ${jetty.base}/lib/logback/logback-classic-1.1.7.jar INFO : Base directory was modified [my-base]$ tree @@ -379,7 +380,6 @@ INFO : Base directory was modified │   │   └── logback-core-1.1.7.jar │   └── slf4j │   └── slf4j-api-1.7.21.jar -├── logs ├── resources │   └── logback.xml └── start.d @@ -387,7 +387,6 @@ INFO : Base directory was modified .... At this point Jetty is configured so that the Jetty server itself will log using Logback, using the Logback configuration found in `{$jetty.base}/resources/logback.xml`. -Log files will be stored in `${jetty.base}/logs`. ==== Logging with Java Util Logging @@ -396,7 +395,8 @@ Log files will be stored in `${jetty.base}/logs`. It is possible to have the Jetty Server logging configured so that `java.util.logging` controls the output of logging events produced by Jetty. This example demonstrates how to configuring Jetty for logging to `java.util.logging` via http://slf4j.org/manual.html[Slf4j] and the http://slf4j.org/manual.html#swapping[Slf4j binding layer for java.util.logging]. -By default, log files will be stored in `${jetty.base}/logs`. + +//TODO - Review after 1020 is resolved [source, screen, subs="{sub-order}"] .... @@ -436,11 +436,10 @@ INFO : slf4j-jul transitively enabled INFO : logging-jul initialized in ${jetty.base}/start.d/logging-jul.ini INFO : resources transitively enabled MKDIR : ${jetty.base}/etc -COPY : ${jetty.home}/modules/jul-impl/java-util-logging.properties to ${jetty.base}/etc/java-util-logging.properties -MKDIR : ${jetty.base}/logs +COPY : ${jetty.home}/modules/jul-impl/etc/java-util-logging.properties to ${jetty.base}/etc/java-util-logging.properties MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.21/slf4j-jdk14-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jdk14-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.21/slf4j-jdk14-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jdk14-1.7.21.jar MKDIR : ${jetty.base}/resources INFO : Base directory was modified @@ -452,76 +451,50 @@ INFO : Base directory was modified │   └── slf4j │   ├── slf4j-api-1.7.21.jar │   └── slf4j-jdk14-1.7.21.jar -├── logs ├── resources └── start.d └── logging-jul.ini .... -[[example-logging-java-commons-logging]] -==== Logging with Java Commons Logging -Jetty provides support of the Java Commons Logging (jcl) through the `logging-jcl` module, using Slf4j as a binding. -This is enabled by activating the `logging-jcl` module. -By default, log files will be stored in `${jetty.base}/logs`. +Jetty is now configured to log using the JUL framework. +A standard JUL properties file is located in `${jetty.base}/etc/java-util-logging.properties`. + +==== Capturing Console Output + +By default, enabling the above modules will output log information to the console. +Included in the distribution is the `console-capture` module, which can be used in lieu of additional configuration to the selected logging module to capture this output to a `logs` directory in your `${jetty.base}`. +To enable this functionality, activate the `console-capture` module. [source, screen, subs="{sub-order}"] .... -[my-base]$ java -jar ../start.jar --add-to-start=logging-jcl - -ALERT: There are enabled module(s) with licenses. -The following 2 module(s): - + contains software not provided by the Eclipse Foundation! - + contains software not covered by the Eclipse Public License! - + has not been audited for compliance with its license - - Module: jcl-impl - + Log4j is released under the Apache 2.0 license. - + http://www.apache.org/licenses/LICENSE-2.0.html - - Module: slf4j-api - + SLF4J is distributed under the MIT License. - + Copyright (c) 2004-2013 QOS.ch - + All rights reserved. - + Permission is hereby granted, free of charge, to any person obtaining - + a copy of this software and associated documentation files (the - + "Software"), to deal in the Software without restriction, including - + without limitation the rights to use, copy, modify, merge, publish, - + distribute, sublicense, and/or sell copies of the Software, and to - + permit persons to whom the Software is furnished to do so, subject to - + the following conditions: - + The above copyright notice and this permission notice shall be - + included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Proceed (y/N)? y -INFO : slf4j-api transitively enabled -INFO : jcl-impl transitively enabled -INFO : resources transitively enabled -INFO : slf4j-jcl transitively enabled -INFO : logging-jcl initialized in ${jetty.base}/start.d/logging-jcl.ini -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -DOWNLOAD: http://central.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar to ${jetty.base}/lib/jcl/commons-logging-1.1.3.jar -MKDIR: ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-jcl/1.7.21/slf4j-jcl-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jcl-1.7.21.jar -INFO : Base directory was modified +[my-base]$ java -jar ../start.jar --add-to-start=console-capture +INFO : console-capture initialized in ${jetty.base}/start.d/console-capture.ini +MKDIR : ${jetty.base}/logs +INFO : Base directory was modified [my-base]$ tree . -├── lib -│   ├── jcl -│   │   └── commons-logging-1.1.3.jar -│   └── slf4j -│   ├── slf4j-api-1.7.21.jar -│   └── slf4j-jcl-1.7.21.jar ├── logs -├── resources -│   └── commons-logging.properties └── start.d - └── logging-jcl.ini + └── console-capture.ini +.... + +As an example, here is the output from Logback before using the `console-capture` module: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar +419 [main] INFO org.eclipse.jetty.util.log - Logging initialized @508ms to org.eclipse.jetty.util.log.Slf4jLog +540 [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.0-SNAPSHOT +575 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@3c0ecd4b{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +575 [main] INFO org.eclipse.jetty.server.Server - Started @668ms +.... + +After enabling `console-capture`, the output is as follows: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar +151 [main] INFO org.eclipse.jetty.util.log - Logging initialized @238ms to org.eclipse.jetty.util.log.Slf4jLog +196 [main] INFO org.eclipse.jetty.util.log - Console stderr/stdout captured to /installs/jetty-distribution/mybase/logs/2016_10_21.jetty.log .... diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc index a5af4795221..a750f94a66c 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc @@ -23,21 +23,39 @@ If you do nothing to configure a separate logging framework, Jetty will default to using an internal `org.eclipse.jetty.util.log.StdErrLog` implementation. This will output all logging events to STDERR (aka `System.err`). -Simply use Jetty and `StdErrLog` based logging is output to the console. +Simply use Jetty and `StdErrLog`-based logging is output to the console. -Included in the Jetty distribution is a logging module that is capable of performing simple capturing of all STDOUT (`System.out`) and STDERR (`System.err`) output to a file that is rotated daily. +Included in the Jetty distribution is a logging module named `console-capture` that is capable of performing simple capturing of all STDOUT (`System.out`) and STDERR (`System.err`) output to a file that is rotated daily. -To enable on this feature via the command line: +To enable this feature, simply activate the `console-capture` module on the command line: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar --add-to-start=console-capture +INFO : console-capture initialized in ${jetty.base}/start.d/console-capture.ini +MKDIR : ${jetty.base}/logs +INFO : Base directory was modified + +[my-base]$ tree +. +├── logs +└── start.d + └── console-capture.ini +.... + +The default configuration for logging output will create a file `${jetty.base}/logs/yyyy_mm_dd.stderrout.log` which allows configuration of the output directory by setting the `jetty.logs` property. + +Just enabling the `console-capture` will simply output the values of STDERR and STDOUT to a log file. +To customize the log further, a module named `logging-jetty` is available to provides a default properties file to configure. +As with `console-capture`, you activate the `logging-jetty` on the command line. [source, screen, subs="{sub-order}"] .... [my-base]$ java -jar ../start.jar --add-to-start=logging-jetty INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini -INFO : console-capture transitively enabled, ini template available with --add-to-start=console-capture INFO : resources transitively enabled MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/logging-jetty/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties -MKDIR : ${jetty.base}/logs +COPY : ${jetty.home}/modules/logging-jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties INFO : Base directory was modified [my-base]$ tree @@ -46,26 +64,31 @@ INFO : Base directory was modified ├── resources │   └── jetty-logging.properties └── start.d + ├── console-capture.ini └── logging-jetty.ini .... -The default configuration for logging output will create a file `${jetty.base}/logs/yyyy_mm_dd.stderrout.log` which allows configuration of the output directory by setting the `jetty.logs` property. - -For more advanced logging configurations, please consider use of a separate logging library. - -The recommended way to configure `StdErrLog` is to create a `${jetty.base}/resources/jetty-logging.properties` file, specify the log implementation to `StdErrLog` and then setup logging levels. +Once activated, you can find the properties file at `${jetty.base}/resources/jetty-logging.properties`. +By default, the following parameters are defined. +To change them, un-comment the line and substitute your naming scheme and configuration choices. [source, properties, subs="{sub-order}"] .... -# Configure Jetty for StdErrLog Logging -org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StrErrLog -# Overall Logging Level is INFO -org.eclipse.jetty.LEVEL=INFO -# Detail Logging for WebSocket -org.eclipse.jetty.websocket.LEVEL=DEBUG +## Force jetty logging implementation +#org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog + +## Set logging levels from: ALL, DEBUG, INFO, WARN, OFF +#org.eclipse.jetty.LEVEL=INFO +#com.example.LEVEL=INFO + +## Hide stacks traces in logs? +#com.example.STACKS=false + +## Show the source file of a log location? +#com.example.SOURCE=false .... -There are a number of properties that can be defined in the configuration that will affect the behavior of `StdErrLog`. +There are a number of properties that can be defined in the configuration that will affect the behavior of StdErr logging with `console-capture`. `.LEVEL=`:: Sets the logging level for all loggers within the `name` specified to the level, which can be (in increasing order of restriction) `ALL`, `DEBUG`, `INFO`, `WARN`, `OFF`. @@ -95,22 +118,20 @@ There are a number of properties that can be defined in the configuration that w + [source, screen, subs="{sub-order}"] .... -2014-06-03 14:36:16.013:INFO:oejs.Server:main: jetty-9.2.0.v20140526 -2014-06-03 14:36:16.028:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty/demo-base/webapps/] at interval 1 -2014-06-03 14:36:16.051:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@7d256e50{/oldContextPath,null,AVAILABLE} -2014-06-03 14:36:17.880:INFO:oejs.ServerConnector:main: Started ServerConnector@34f2d11a{HTTP/1.1}{0.0.0.0:8080} -2014-06-03 14:36:17.888:INFO:oejs.Server:main: Started @257ms +2016-10-21 15:31:01.248:INFO::main: Logging initialized @332ms to org.eclipse.jetty.util.log.StdErrLog +2016-10-21 15:31:01.370:INFO:oejs.Server:main: jetty-9.4.0-SNAPSHOT +2016-10-21 15:31:01.400:INFO:oejs.AbstractConnector:main: Started ServerConnector@2c330fbc{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +2016-10-21 15:31:01.400:INFO:oejs.Server:main: Started @485ms .... + * Example when set to true: + [source, screen, subs="{sub-order}"] .... -2014-06-03 14:38:19.019:INFO:org.eclipse.jetty.server.Server:main: jetty-9.2.0.v20140526 -2014-06-03 14:38:19.032:INFO:org.eclipse.jetty.deploy.providers.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty/demo-base/webapps/] at interval 1 -2014-06-03 14:38:19.054:INFO:org.eclipse.jetty.server.handler.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@246d8660{/oldContextPath,null,AVAILABLE} -2014-06-03 14:38:20.715:INFO:org.eclipse.jetty.server.ServerConnector:main: Started ServerConnector@59f625be{HTTP/1.1}{0.0.0.0:8080} -2014-06-03 14:38:20.723:INFO:org.eclipse.jetty.server.Server:main: Started @243ms +2016-10-21 15:31:35.020:INFO::main: Logging initialized @340ms to org.eclipse.jetty.util.log.StdErrLog +2016-10-21 15:31:35.144:INFO:org.eclipse.jetty.server.Server:main: jetty-9.4.0-SNAPSHOT +2016-10-21 15:31:35.174:INFO:org.eclipse.jetty.server.AbstractConnector:main: Started ServerConnector@edf4efb{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +2016-10-21 15:31:35.175:INFO:org.eclipse.jetty.server.Server:main: Started @495ms .... [[deprecated-parameters]] diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc index 2c4600b2c69..27b0a0874d3 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc @@ -15,9 +15,9 @@ // ======================================================================== [[example-logging-logback-centralized]] -=== Example: Centralized Logging with Logback +=== Centralized Logging using Logback -The term _Centralized Logging_ refers to a forced logging configuration for the Jetty Server and all web applications that are deployed on the server. +The term _Centralized Logging_ refers to a forced logging configuration for the Jetty Server and all web applications that are deployed on the server. It routes all logging events from the web applications to a single configuration on the Server side. The example below shows how to accomplish this with Jetty and Slf4j, using `Logback` to manage the final writing of logs to disk. @@ -30,7 +30,7 @@ ____ This configuration is essentially the multiple logger configuration with added configuration to the deployers to force a `WebAppClassLoader` change to use the server classpath over the webapps classpath for the logger specific classes. -The technique used by this configuration is to provide an link:{JDURL}org/eclipse/jetty/deploy/AppLifeCycle.Binding.html[AppLifeCycle.Binding] against the link:{JDURL}/org/eclipse/jetty/deploy/AppLifeCycle.html[`"deploying"`node] that modifies the link:{JDURL}/org/eclipse/jetty/webapp/WebAppContext.html#addSystemClass(java.lang.String)[WebAppContext.addSystemClass(String)] for the common logging classes. +The technique used by this configuration is to provide an link:{JDURL}org/eclipse/jetty/deploy/AppLifeCycle.Binding.html[AppLifeCycle.Binding] against the link:{JDURL}/org/eclipse/jetty/deploy/AppLifeCycle.html[`"deploying"`node] that modifies the link:{JDURL}/org/eclipse/jetty/webapp/WebAppContext.html#addSystemClass(java.lang.String)[WebAppContext.addSystemClass(String)] for the common logging classes. See https://github.com/jetty-project/jetty-webapp-logging/blob/master/src/main/java/org/eclipse/jetty/webapp/logging/CentralizedWebAppLoggingBinding.java[org.eclipse.jetty.logging.CentralizedWebAppLoggingBinding] for actual implementation. A convenient replacement `logging` module has been created to bootstrap your `${jetty.base}` directory for capturing all Jetty server logging from multiple logging frameworks into a single logging output file managed by Logback. From 7d4b46cef4c987e0a5860459bbf683a7a55bb253 Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Fri, 21 Oct 2016 16:40:24 -0400 Subject: [PATCH 022/109] Issue #644 Additional documentation for updated logging modules. Signed-off-by: WalkerWatch --- .../logging/configuring-logging-modules.adoc | 185 +++++++----------- .../default-logging-with-stderrlog.adoc | 77 +++++--- .../example-logback-centralized-logging.adoc | 6 +- 3 files changed, 127 insertions(+), 141 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc index f2a59ff228e..6462653a4f6 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/configuring-logging-modules.adoc @@ -27,9 +27,11 @@ Enabling these frameworks in the Jetty distribution is as easy as activating any [source, screen, subs="{sub-order}"] .... [my-base]$ java -jar ../start.jar --add-to-start=logging-jetty -INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini -INFO : resources transitive -INFO : Base directory was modified +INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini +INFO : resources transitively enabled +MKDIR : ${jetty.base}/resources +COPY : ${jetty.home}/modules/logging-jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties +INFO : Base directory was modified .... As noted above, Jetty supports a wide array of logging technologies. @@ -78,7 +80,6 @@ Most other top level logging modules work in the same way: `logging-jcl`, `loggi Jetty uses the SLF4J api as a binding to provide logging information to additional frameworks such as Log4j or Logback. It can also be used on it's own to provide simple server logging. To enable the SLF4J framework, you need to activate the `logging-slf4j` module. -By default, log files will be stored in `${jetty.base}/logs`. [source, screen, subs="{sub-order}"] .... @@ -115,9 +116,9 @@ Proceed (y/N)? y INFO : slf4j-api transitively enabled INFO : logging-slf4j initialized in ${jetty.base}/start.d/logging-slf4j.ini MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar INFO : Base directory was modified -ERROR : Module logging-slf4j requires a `slf4j-impl` module from one of [slf4j-simple-impl, slf4j-logback, slf4j-jul, slf4j-jcl, slf4j-log4j2, slf4j-log4j] +ERROR : Module logging-slf4j requires a module providing slf4j-impl from one of [slf4j-simple-impl, slf4j-logback, slf4j-jul, slf4j-log4j2, slf4j-log4j] ERROR : Unsatisfied module dependencies: logging-slf4j @@ -134,10 +135,9 @@ To enable the simple SLF4J implementation, we will also need to activate the `sl [my-base]$ java -jar ../start.jar --add-to-start=slf4j-simple-impl INFO : slf4j-simple-impl initialized in ${jetty.base}/start.d/slf4j-simple-impl.ini INFO : resources transitively enabled -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-simple-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-simple-1.7.21.jar MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/slf4j/simplelogger.properties to ${jetty.base}/resources/simplelogger.properties -MKDIR : ${jetty.base}/logs +COPY : ${jetty.home}/modules/slf4j-simple-impl/resources/simplelogger.properties to ${jetty.base}/resources/simplelogger.properties INFO : Base directory was modified [my-base]$ tree @@ -146,7 +146,6 @@ INFO : Base directory was modified │   └── slf4j │   ├── slf4j-api-1.7.21.jar │   └── slf4j-simple-1.7.21.jar -├── logs ├── resources │   └── simplelogger.properties └── start.d @@ -154,13 +153,15 @@ INFO : Base directory was modified └── slf4j-simple-impl.ini .... +Jetty is now configured to log using the SLF4J framework. +A standard SLF4J properties file is located in `${jetty.base}/resources/simplelogger.properties`. + [[example-logging-log4j]] ==== Logging with Log4j and Log4j2 It is possible to have the Jetty Server logging configured so that Log4j or Log4j2 controls the output of logging events produced by Jetty. This is accomplished by configuring Jetty for logging to http://logging.apache.org/log4j/[Apache Log4j] via http://slf4j.org/manual.html[Slf4j] and the http://slf4j.org/manual.html#swapping[Slf4j binding layer for Log4j]. Implementation of Log4j can be done by enabling the `logging-log4j` module. -By default, log files will be stored in `${jetty.base}/logs`. [source, screen, subs="{sub-order}"] .... @@ -204,13 +205,12 @@ INFO : resources transitively enabled INFO : slf4j-log4j transitively enabled INFO : logging-log4j initialized in ${jetty.base}/start.d/logging-log4j.ini MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/log4j/log4j.properties to ${jetty.base}/resources/log4j.properties +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/log4j -DOWNLOAD: http://central.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar to ${jetty.base}/lib/log4j/log4j-1.2.17.jar -MKDIR : ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-log4j12-1.7.21.jar +COPY : /Users/chris/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar to ${jetty.base}/lib/log4j/log4j-1.2.17.jar +MKDIR : ${jetty.base}/resources +COPY : ${jetty.home}/modules/log4j-impl/resources/log4j.xml to ${jetty.base}/resources/log4j.xml +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-log4j12-1.7.21.jar INFO : Base directory was modified [my-base]$ tree @@ -221,19 +221,20 @@ INFO : Base directory was modified │   └── slf4j │   ├── slf4j-api-1.7.21.jar │   └── slf4j-log4j12-1.7.21.jar -├── logs ├── resources -│   └── log4j.properties +│   └── log4j.xml └── start.d └── logging-log4j.ini .... -Or, to enable Log4j2, simply enable the `logging-log4j2` module. -By default, log files will be stored in `${jetty.base}/logs`. +Jetty is now configured to log using the Log4j framework. +A standard Log4j configuration file is located in `${jetty.base}/resources/log4j.xml`. + +Or, to set up Log4j2, enable the `logging-log4j2` module. [source, screen, subs="{sub-order}"] .... -[my-base]$ java -jar ../start.jar --add-to-start=logging-log4j2 +[my-base]$ java -jar ../start.jar --add-to-start=logging-log4j2 ALERT: There are enabled module(s) with licenses. The following 2 module(s): @@ -274,34 +275,32 @@ INFO : resources transitively enabled INFO : slf4j-log4j2 transitively enabled INFO : log4j2-impl transitively enabled MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -MKDIR : ${jetty.base}/lib/log4j -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.6.1/log4j-api-2.6.1.jar to ${jetty.base}/lib/log4j/log4j-api-2.6.1.jar -MKDIR : ${jetty.base}/resources -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.6.1/log4j-slf4j-impl-2.6.1.jar to ${jetty.base}/lib/log4j/log4j-slf4j-impl-2.6.1.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/log4j2 -DOWNLOAD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.6.1/log4j-core-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-core-2.6.1.jar -COPY : ${jetty.home}/modules/log4j2/log4j2.xml to ${jetty.base}/resources/log4j2.xml -MKDIR : ${jetty.base}/logs +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.6.1/log4j-api-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-api-2.6.1.jar +MKDIR : ${jetty.base}/resources +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.6.1/log4j-slf4j-impl-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-slf4j-impl-2.6.1.jar +DOWNLD: http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.6.1/log4j-core-2.6.1.jar to ${jetty.base}/lib/log4j2/log4j-core-2.6.1.jar +COPY : ${jetty.home}/modules/log4j2-impl/resources/log4j2.xml to ${jetty.base}/resources/log4j2.xml INFO : Base directory was modified [my-base]$ tree . ├── lib -│   ├── log4j -│   │   ├── log4j-api-2.6.1.jar -│   │   └── log4j-slf4j-impl-2.6.1.jar │   ├── log4j2 -│   │   └── log4j-core-2.6.1.jar +│   │   ├── log4j-api-2.6.1.jar +│   │   ├── log4j-core-2.6.1.jar +│   │   └── log4j-slf4j-impl-2.6.1.jar │   └── slf4j │   └── slf4j-api-1.7.21.jar -├── logs ├── resources │   └── log4j2.xml └── start.d └── logging-log4j2.ini .... +At this point Jetty is configured so that the Jetty server itself will log using Log4j2, using the Log4j2 configuration found in `{$jetty.base}/resources/log4j2.xml`. + [[example-logging-logback]] ==== Logging with Logback @@ -309,7 +308,6 @@ It is possible to have the Jetty Server logging configured so that Logback contr This is accomplished by configuring Jetty for logging to `Logback`, which uses http://slf4j.org/manual.html[Slf4j] and the http://logback.qos.ch/[Logback Implementation for Slf4j]. To set up Jetty logging via Logback, enable the `logging-logback` module. -By default, log files will be stored in `${jetty.base}/logs`. [source, screen, subs="{sub-order}"] .... @@ -362,13 +360,12 @@ INFO : slf4j-logback transitively enabled INFO : logging-logback initialized in ${jetty.base}/start.d/logging-logback.ini INFO : resources transitively enabled MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar MKDIR : ${jetty.base}/lib/logback -DOWNLOAD: http://central.maven.org/maven2/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar to ${jetty.base}/lib/logback/logback-core-1.1.7.jar +DOWNLD: http://central.maven.org/maven2/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar to ${jetty.base}/lib/logback/logback-core-1.1.7.jar MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/logback/logback.xml to ${jetty.base}/resources/logback.xml -MKDIR : ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar to ${jetty.base}/lib/logback/logback-classic-1.1.7.jar +COPY : ${jetty.home}/modules/logback-impl/resources/logback.xml to ${jetty.base}/resources/logback.xml +DOWNLD: http://central.maven.org/maven2/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar to ${jetty.base}/lib/logback/logback-classic-1.1.7.jar INFO : Base directory was modified [my-base]$ tree @@ -379,7 +376,6 @@ INFO : Base directory was modified │   │   └── logback-core-1.1.7.jar │   └── slf4j │   └── slf4j-api-1.7.21.jar -├── logs ├── resources │   └── logback.xml └── start.d @@ -387,7 +383,6 @@ INFO : Base directory was modified .... At this point Jetty is configured so that the Jetty server itself will log using Logback, using the Logback configuration found in `{$jetty.base}/resources/logback.xml`. -Log files will be stored in `${jetty.base}/logs`. ==== Logging with Java Util Logging @@ -395,8 +390,7 @@ Log files will be stored in `${jetty.base}/logs`. ===== Java Util Logging with SLF4J It is possible to have the Jetty Server logging configured so that `java.util.logging` controls the output of logging events produced by Jetty. -This example demonstrates how to configuring Jetty for logging to `java.util.logging` via http://slf4j.org/manual.html[Slf4j] and the http://slf4j.org/manual.html#swapping[Slf4j binding layer for java.util.logging]. -By default, log files will be stored in `${jetty.base}/logs`. +This example demonstrates how to configuring Jetty for logging to `java.util.logging` via http://slf4j.org/manual.html[SLF4J] as a binding layer. [source, screen, subs="{sub-order}"] .... @@ -436,12 +430,10 @@ INFO : slf4j-jul transitively enabled INFO : logging-jul initialized in ${jetty.base}/start.d/logging-jul.ini INFO : resources transitively enabled MKDIR : ${jetty.base}/etc -COPY : ${jetty.home}/modules/jul-impl/java-util-logging.properties to ${jetty.base}/etc/java-util-logging.properties -MKDIR : ${jetty.base}/logs +COPY : ${jetty.home}/modules/jul-impl/etc/java-util-logging.properties to ${jetty.base}/etc/java-util-logging.properties MKDIR : ${jetty.base}/lib/slf4j -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.21/slf4j-jdk14-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jdk14-1.7.21.jar -MKDIR : ${jetty.base}/resources +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar +DOWNLD: http://central.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.21/slf4j-jdk14-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jdk14-1.7.21.jar INFO : Base directory was modified [my-base]$ tree @@ -452,76 +444,49 @@ INFO : Base directory was modified │   └── slf4j │   ├── slf4j-api-1.7.21.jar │   └── slf4j-jdk14-1.7.21.jar -├── logs -├── resources └── start.d └── logging-jul.ini .... -[[example-logging-java-commons-logging]] -==== Logging with Java Commons Logging -Jetty provides support of the Java Commons Logging (jcl) through the `logging-jcl` module, using Slf4j as a binding. -This is enabled by activating the `logging-jcl` module. -By default, log files will be stored in `${jetty.base}/logs`. +Jetty is now configured to log using the JUL framework. +A standard JUL properties file is located in `${jetty.base}/etc/java-util-logging.properties`. + +==== Capturing Console Output + +By default, enabling the above modules will output log information to the console. +Included in the distribution is the `console-capture` module, which can be used in lieu of additional configuration to the selected logging module to capture this output to a `logs` directory in your `${jetty.base}`. +To enable this functionality, activate the `console-capture` module. [source, screen, subs="{sub-order}"] .... -[my-base]$ java -jar ../start.jar --add-to-start=logging-jcl - -ALERT: There are enabled module(s) with licenses. -The following 2 module(s): - + contains software not provided by the Eclipse Foundation! - + contains software not covered by the Eclipse Public License! - + has not been audited for compliance with its license - - Module: jcl-impl - + Log4j is released under the Apache 2.0 license. - + http://www.apache.org/licenses/LICENSE-2.0.html - - Module: slf4j-api - + SLF4J is distributed under the MIT License. - + Copyright (c) 2004-2013 QOS.ch - + All rights reserved. - + Permission is hereby granted, free of charge, to any person obtaining - + a copy of this software and associated documentation files (the - + "Software"), to deal in the Software without restriction, including - + without limitation the rights to use, copy, modify, merge, publish, - + distribute, sublicense, and/or sell copies of the Software, and to - + permit persons to whom the Software is furnished to do so, subject to - + the following conditions: - + The above copyright notice and this permission notice shall be - + included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Proceed (y/N)? y -INFO : slf4j-api transitively enabled -INFO : jcl-impl transitively enabled -INFO : resources transitively enabled -INFO : slf4j-jcl transitively enabled -INFO : logging-jcl initialized in ${jetty.base}/start.d/logging-jcl.ini -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-api-1.7.21.jar -DOWNLOAD: http://central.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar to ${jetty.base}/lib/jcl/commons-logging-1.1.3.jar -MKDIR: ${jetty.base}/logs -DOWNLOAD: http://central.maven.org/maven2/org/slf4j/slf4j-jcl/1.7.21/slf4j-jcl-1.7.21.jar to ${jetty.base}/lib/slf4j/slf4j-jcl-1.7.21.jar -INFO : Base directory was modified +[my-base]$ java -jar ../start.jar --add-to-start=console-capture +INFO : console-capture initialized in ${jetty.base}/start.d/console-capture.ini +MKDIR : ${jetty.base}/logs +INFO : Base directory was modified [my-base]$ tree . -├── lib -│   ├── jcl -│   │   └── commons-logging-1.1.3.jar -│   └── slf4j -│   ├── slf4j-api-1.7.21.jar -│   └── slf4j-jcl-1.7.21.jar ├── logs -├── resources -│   └── commons-logging.properties └── start.d - └── logging-jcl.ini + └── console-capture.ini +.... + +As an example, here is the output from Logback before using the `console-capture` module: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar +419 [main] INFO org.eclipse.jetty.util.log - Logging initialized @508ms to org.eclipse.jetty.util.log.Slf4jLog +540 [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.0-SNAPSHOT +575 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@3c0ecd4b{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +575 [main] INFO org.eclipse.jetty.server.Server - Started @668ms +.... + +After enabling `console-capture`, the output is as follows, which displays the location the log is being saved to: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar +151 [main] INFO org.eclipse.jetty.util.log - Logging initialized @238ms to org.eclipse.jetty.util.log.Slf4jLog +196 [main] INFO org.eclipse.jetty.util.log - Console stderr/stdout captured to /installs/jetty-distribution/mybase/logs/2016_10_21.jetty.log .... diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc index a5af4795221..a750f94a66c 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/default-logging-with-stderrlog.adoc @@ -23,21 +23,39 @@ If you do nothing to configure a separate logging framework, Jetty will default to using an internal `org.eclipse.jetty.util.log.StdErrLog` implementation. This will output all logging events to STDERR (aka `System.err`). -Simply use Jetty and `StdErrLog` based logging is output to the console. +Simply use Jetty and `StdErrLog`-based logging is output to the console. -Included in the Jetty distribution is a logging module that is capable of performing simple capturing of all STDOUT (`System.out`) and STDERR (`System.err`) output to a file that is rotated daily. +Included in the Jetty distribution is a logging module named `console-capture` that is capable of performing simple capturing of all STDOUT (`System.out`) and STDERR (`System.err`) output to a file that is rotated daily. -To enable on this feature via the command line: +To enable this feature, simply activate the `console-capture` module on the command line: + +[source, screen, subs="{sub-order}"] +.... +[my-base]$ java -jar ../start.jar --add-to-start=console-capture +INFO : console-capture initialized in ${jetty.base}/start.d/console-capture.ini +MKDIR : ${jetty.base}/logs +INFO : Base directory was modified + +[my-base]$ tree +. +├── logs +└── start.d + └── console-capture.ini +.... + +The default configuration for logging output will create a file `${jetty.base}/logs/yyyy_mm_dd.stderrout.log` which allows configuration of the output directory by setting the `jetty.logs` property. + +Just enabling the `console-capture` will simply output the values of STDERR and STDOUT to a log file. +To customize the log further, a module named `logging-jetty` is available to provides a default properties file to configure. +As with `console-capture`, you activate the `logging-jetty` on the command line. [source, screen, subs="{sub-order}"] .... [my-base]$ java -jar ../start.jar --add-to-start=logging-jetty INFO : logging-jetty initialized in ${jetty.base}/start.d/logging-jetty.ini -INFO : console-capture transitively enabled, ini template available with --add-to-start=console-capture INFO : resources transitively enabled MKDIR : ${jetty.base}/resources -COPY : ${jetty.home}/modules/logging-jetty/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties -MKDIR : ${jetty.base}/logs +COPY : ${jetty.home}/modules/logging-jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties INFO : Base directory was modified [my-base]$ tree @@ -46,26 +64,31 @@ INFO : Base directory was modified ├── resources │   └── jetty-logging.properties └── start.d + ├── console-capture.ini └── logging-jetty.ini .... -The default configuration for logging output will create a file `${jetty.base}/logs/yyyy_mm_dd.stderrout.log` which allows configuration of the output directory by setting the `jetty.logs` property. - -For more advanced logging configurations, please consider use of a separate logging library. - -The recommended way to configure `StdErrLog` is to create a `${jetty.base}/resources/jetty-logging.properties` file, specify the log implementation to `StdErrLog` and then setup logging levels. +Once activated, you can find the properties file at `${jetty.base}/resources/jetty-logging.properties`. +By default, the following parameters are defined. +To change them, un-comment the line and substitute your naming scheme and configuration choices. [source, properties, subs="{sub-order}"] .... -# Configure Jetty for StdErrLog Logging -org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StrErrLog -# Overall Logging Level is INFO -org.eclipse.jetty.LEVEL=INFO -# Detail Logging for WebSocket -org.eclipse.jetty.websocket.LEVEL=DEBUG +## Force jetty logging implementation +#org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog + +## Set logging levels from: ALL, DEBUG, INFO, WARN, OFF +#org.eclipse.jetty.LEVEL=INFO +#com.example.LEVEL=INFO + +## Hide stacks traces in logs? +#com.example.STACKS=false + +## Show the source file of a log location? +#com.example.SOURCE=false .... -There are a number of properties that can be defined in the configuration that will affect the behavior of `StdErrLog`. +There are a number of properties that can be defined in the configuration that will affect the behavior of StdErr logging with `console-capture`. `.LEVEL=`:: Sets the logging level for all loggers within the `name` specified to the level, which can be (in increasing order of restriction) `ALL`, `DEBUG`, `INFO`, `WARN`, `OFF`. @@ -95,22 +118,20 @@ There are a number of properties that can be defined in the configuration that w + [source, screen, subs="{sub-order}"] .... -2014-06-03 14:36:16.013:INFO:oejs.Server:main: jetty-9.2.0.v20140526 -2014-06-03 14:36:16.028:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty/demo-base/webapps/] at interval 1 -2014-06-03 14:36:16.051:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@7d256e50{/oldContextPath,null,AVAILABLE} -2014-06-03 14:36:17.880:INFO:oejs.ServerConnector:main: Started ServerConnector@34f2d11a{HTTP/1.1}{0.0.0.0:8080} -2014-06-03 14:36:17.888:INFO:oejs.Server:main: Started @257ms +2016-10-21 15:31:01.248:INFO::main: Logging initialized @332ms to org.eclipse.jetty.util.log.StdErrLog +2016-10-21 15:31:01.370:INFO:oejs.Server:main: jetty-9.4.0-SNAPSHOT +2016-10-21 15:31:01.400:INFO:oejs.AbstractConnector:main: Started ServerConnector@2c330fbc{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +2016-10-21 15:31:01.400:INFO:oejs.Server:main: Started @485ms .... + * Example when set to true: + [source, screen, subs="{sub-order}"] .... -2014-06-03 14:38:19.019:INFO:org.eclipse.jetty.server.Server:main: jetty-9.2.0.v20140526 -2014-06-03 14:38:19.032:INFO:org.eclipse.jetty.deploy.providers.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty/demo-base/webapps/] at interval 1 -2014-06-03 14:38:19.054:INFO:org.eclipse.jetty.server.handler.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@246d8660{/oldContextPath,null,AVAILABLE} -2014-06-03 14:38:20.715:INFO:org.eclipse.jetty.server.ServerConnector:main: Started ServerConnector@59f625be{HTTP/1.1}{0.0.0.0:8080} -2014-06-03 14:38:20.723:INFO:org.eclipse.jetty.server.Server:main: Started @243ms +2016-10-21 15:31:35.020:INFO::main: Logging initialized @340ms to org.eclipse.jetty.util.log.StdErrLog +2016-10-21 15:31:35.144:INFO:org.eclipse.jetty.server.Server:main: jetty-9.4.0-SNAPSHOT +2016-10-21 15:31:35.174:INFO:org.eclipse.jetty.server.AbstractConnector:main: Started ServerConnector@edf4efb{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} +2016-10-21 15:31:35.175:INFO:org.eclipse.jetty.server.Server:main: Started @495ms .... [[deprecated-parameters]] diff --git a/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc b/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc index 2c4600b2c69..27b0a0874d3 100644 --- a/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/logging/example-logback-centralized-logging.adoc @@ -15,9 +15,9 @@ // ======================================================================== [[example-logging-logback-centralized]] -=== Example: Centralized Logging with Logback +=== Centralized Logging using Logback -The term _Centralized Logging_ refers to a forced logging configuration for the Jetty Server and all web applications that are deployed on the server. +The term _Centralized Logging_ refers to a forced logging configuration for the Jetty Server and all web applications that are deployed on the server. It routes all logging events from the web applications to a single configuration on the Server side. The example below shows how to accomplish this with Jetty and Slf4j, using `Logback` to manage the final writing of logs to disk. @@ -30,7 +30,7 @@ ____ This configuration is essentially the multiple logger configuration with added configuration to the deployers to force a `WebAppClassLoader` change to use the server classpath over the webapps classpath for the logger specific classes. -The technique used by this configuration is to provide an link:{JDURL}org/eclipse/jetty/deploy/AppLifeCycle.Binding.html[AppLifeCycle.Binding] against the link:{JDURL}/org/eclipse/jetty/deploy/AppLifeCycle.html[`"deploying"`node] that modifies the link:{JDURL}/org/eclipse/jetty/webapp/WebAppContext.html#addSystemClass(java.lang.String)[WebAppContext.addSystemClass(String)] for the common logging classes. +The technique used by this configuration is to provide an link:{JDURL}org/eclipse/jetty/deploy/AppLifeCycle.Binding.html[AppLifeCycle.Binding] against the link:{JDURL}/org/eclipse/jetty/deploy/AppLifeCycle.html[`"deploying"`node] that modifies the link:{JDURL}/org/eclipse/jetty/webapp/WebAppContext.html#addSystemClass(java.lang.String)[WebAppContext.addSystemClass(String)] for the common logging classes. See https://github.com/jetty-project/jetty-webapp-logging/blob/master/src/main/java/org/eclipse/jetty/webapp/logging/CentralizedWebAppLoggingBinding.java[org.eclipse.jetty.logging.CentralizedWebAppLoggingBinding] for actual implementation. A convenient replacement `logging` module has been created to bootstrap your `${jetty.base}` directory for capturing all Jetty server logging from multiple logging frameworks into a single logging output file managed by Logback. From 33eb768d6972fe67b5058c96941645cb03fea6e7 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Tue, 25 Oct 2016 15:44:54 +0200 Subject: [PATCH 023/109] Fixes #1029 - Restore Request.setHttpVersion(). Also cleaned up the asymmetry in MetaData between the setter (setHttpVersion()) and the getter (getVersion()). --- .../org/eclipse/jetty/http/HttpGenerator.java | 16 ++-- .../java/org/eclipse/jetty/http/MetaData.java | 17 +++- .../eclipse/jetty/http2/hpack/HpackTest.java | 10 +-- .../client/http/HttpReceiverOverHTTP2.java | 2 +- .../http2/server/HttpChannelOverHTTP2.java | 6 +- .../org/eclipse/jetty/server/HttpChannel.java | 4 +- .../jetty/server/HttpChannelOverHttp.java | 6 +- .../org/eclipse/jetty/server/Request.java | 12 ++- .../server/HttpVersionCustomizerTest.java | 81 +++++++++++++++++++ 9 files changed, 125 insertions(+), 29 deletions(-) create mode 100644 jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java index b03133a96b4..0e5047c1066 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java @@ -214,7 +214,7 @@ public class HttpGenerator // If we have not been told our persistence, set the default if (_persistent==null) { - _persistent=info.getVersion().ordinal() > HttpVersion.HTTP_1_0.ordinal(); + _persistent=info.getHttpVersion().ordinal() > HttpVersion.HTTP_1_0.ordinal(); if (!_persistent && HttpMethod.CONNECT.is(info.getMethod())) _persistent=true; } @@ -226,7 +226,7 @@ public class HttpGenerator // generate ResponseLine generateRequestLine(info,header); - if (info.getVersion()==HttpVersion.HTTP_0_9) + if (info.getHttpVersion()==HttpVersion.HTTP_0_9) throw new BadMessageException(500,"HTTP/0.9 not supported"); generateHeaders(info,header,content,last); @@ -342,7 +342,7 @@ public class HttpGenerator { if (info==null) return Result.NEED_INFO; - HttpVersion version=info.getVersion(); + HttpVersion version=info.getHttpVersion(); if (version==null) throw new BadMessageException(500,"No version"); switch(version) @@ -523,7 +523,7 @@ public class HttpGenerator header.put((byte)' '); header.put(StringUtil.getBytes(request.getURIString())); header.put((byte)' '); - header.put(request.getVersion().toBytes()); + header.put(request.getHttpVersion().toBytes()); header.put(HttpTokens.CRLF); } @@ -628,7 +628,7 @@ public class HttpGenerator case TRANSFER_ENCODING: { - if (_info.getVersion() == HttpVersion.HTTP_1_1) + if (_info.getHttpVersion() == HttpVersion.HTTP_1_1) transfer_encoding = field; // Do NOT add yet! break; @@ -682,7 +682,7 @@ public class HttpGenerator case KEEP_ALIVE: { - if (_info.getVersion() == HttpVersion.HTTP_1_0) + if (_info.getHttpVersion() == HttpVersion.HTTP_1_0) { keep_alive = true; if (response!=null) @@ -774,7 +774,7 @@ public class HttpGenerator // For a request with HTTP 1.0 & Connection: keep-alive // we *must* close the connection, otherwise the client // has no way to detect the end of the content. - if (!isPersistent() || _info.getVersion().ordinal() < HttpVersion.HTTP_1_1.ordinal()) + if (!isPersistent() || _info.getHttpVersion().ordinal() < HttpVersion.HTTP_1_1.ordinal()) _endOfContent = EndOfContent.EOF_CONTENT; } break; @@ -825,7 +825,7 @@ public class HttpGenerator // If this is a response, work out persistence if (response!=null) { - if (!isPersistent() && (close || _info.getVersion().ordinal() > HttpVersion.HTTP_1_0.ordinal())) + if (!isPersistent() && (close || _info.getHttpVersion().ordinal() > HttpVersion.HTTP_1_0.ordinal())) { if (connection==null) header.put(CONNECTION_CLOSE); diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java b/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java index 725870db92b..9f683503d0d 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java @@ -57,10 +57,19 @@ public class MetaData implements Iterable return false; } + /** + * @deprecated use {@link #getHttpVersion()} instead + */ + @Deprecated + public HttpVersion getVersion() + { + return getHttpVersion(); + } + /** * @return the HTTP version of this MetaData object */ - public HttpVersion getVersion() + public HttpVersion getHttpVersion() { return _httpVersion; } @@ -155,7 +164,7 @@ public class MetaData implements Iterable public Request(Request request) { - this(request.getMethod(),new HttpURI(request.getURI()), request.getVersion(), new HttpFields(request.getFields()), request.getContentLength()); + this(request.getMethod(),new HttpURI(request.getURI()), request.getHttpVersion(), new HttpFields(request.getFields()), request.getContentLength()); } // TODO MetaData should be immuttable!!! @@ -218,7 +227,7 @@ public class MetaData implements Iterable { HttpFields fields = getFields(); return String.format("%s{u=%s,%s,h=%d}", - getMethod(), getURI(), getVersion(), fields == null ? -1 : fields.size()); + getMethod(), getURI(), getHttpVersion(), fields == null ? -1 : fields.size()); } } @@ -292,7 +301,7 @@ public class MetaData implements Iterable public String toString() { HttpFields fields = getFields(); - return String.format("%s{s=%d,h=%d}", getVersion(), getStatus(), fields == null ? -1 : fields.size()); + return String.format("%s{s=%d,h=%d}", getHttpVersion(), getStatus(), fields == null ? -1 : fields.size()); } } } diff --git a/jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackTest.java b/jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackTest.java index fce577bbb57..353396d48c0 100644 --- a/jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackTest.java +++ b/jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackTest.java @@ -18,10 +18,6 @@ package org.eclipse.jetty.http2.hpack; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; - import java.nio.ByteBuffer; import org.eclipse.jetty.http.BadMessageException; @@ -38,6 +34,10 @@ import org.eclipse.jetty.util.BufferUtil; import org.junit.Assert; import org.junit.Test; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; + public class HpackTest { final static HttpField ServerJetty = new PreEncodedHttpField(HttpHeader.SERVER,"jetty"); @@ -187,7 +187,7 @@ public class HpackTest private void assertMetadataSame(MetaData expected, MetaData actual) { assertThat("Metadata.contentLength",actual.getContentLength(),is(expected.getContentLength())); - assertThat("Metadata.version" + ".version", actual.getVersion(), is(expected.getVersion())); + assertThat("Metadata.version" + ".version", actual.getHttpVersion(),is(expected.getHttpVersion())); assertHttpFieldsSame("Metadata.fields",expected.getFields(),actual.getFields()); } diff --git a/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpReceiverOverHTTP2.java b/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpReceiverOverHTTP2.java index f95c09d429f..be8296a615f 100644 --- a/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpReceiverOverHTTP2.java +++ b/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpReceiverOverHTTP2.java @@ -67,7 +67,7 @@ public class HttpReceiverOverHTTP2 extends HttpReceiver implements Stream.Listen HttpResponse response = exchange.getResponse(); MetaData.Response metaData = (MetaData.Response)frame.getMetaData(); - response.version(metaData.getVersion()).status(metaData.getStatus()).reason(metaData.getReason()); + response.version(metaData.getHttpVersion()).status(metaData.getStatus()).reason(metaData.getReason()); if (responseBegin(exchange)) { diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java index 02ba47cf825..7d6558a333e 100644 --- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java +++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java @@ -126,7 +126,7 @@ public class HttpChannelOverHTTP2 extends HttpChannel LOG.debug("HTTP2 Request #{}/{}, delayed={}:{}{} {} {}{}{}", stream.getId(), Integer.toHexString(stream.getSession().hashCode()), _delayedUntilContent, System.lineSeparator(), - request.getMethod(), request.getURI(), request.getVersion(), + request.getMethod(), request.getURI(), request.getHttpVersion(), System.lineSeparator(), fields); } @@ -157,7 +157,7 @@ public class HttpChannelOverHTTP2 extends HttpChannel Stream stream = getStream(); LOG.debug("HTTP2 PUSH Request #{}/{}:{}{} {} {}{}{}", stream.getId(), Integer.toHexString(stream.getSession().hashCode()), System.lineSeparator(), - request.getMethod(), request.getURI(), request.getVersion(), + request.getMethod(), request.getURI(), request.getHttpVersion(), System.lineSeparator(), request.getFields()); } @@ -199,7 +199,7 @@ public class HttpChannelOverHTTP2 extends HttpChannel { Stream stream = getStream(); LOG.debug("HTTP2 Commit Response #{}/{}:{}{} {} {}{}{}", - stream.getId(), Integer.toHexString(stream.getSession().hashCode()), System.lineSeparator(), info.getVersion(), info.getStatus(), info.getReason(), + stream.getId(), Integer.toHexString(stream.getSession().hashCode()), System.lineSeparator(), info.getHttpVersion(), info.getStatus(), info.getReason(), System.lineSeparator(), info.getFields()); } } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java index 88b61a5e0aa..9c1e297fdb1 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java @@ -606,7 +606,7 @@ public class HttpChannel implements Runnable, HttpOutput.Interceptor if (LOG.isDebugEnabled()) LOG.debug("REQUEST for {} on {}{}{} {} {}{}{}",request.getURIString(),this,System.lineSeparator(), - request.getMethod(),request.getURIString(),request.getVersion(),System.lineSeparator(), + request.getMethod(),request.getURIString(),request.getHttpVersion(),System.lineSeparator(), request.getFields()); } @@ -752,7 +752,7 @@ public class HttpChannel implements Runnable, HttpOutput.Interceptor _committedMetaData=info; if (LOG.isDebugEnabled()) LOG.debug("COMMIT for {} on {}{}{} {} {}{}{}",getRequest().getRequestURI(),this,System.lineSeparator(), - info.getStatus(),info.getReason(),info.getVersion(),System.lineSeparator(), + info.getStatus(),info.getReason(),info.getHttpVersion(),System.lineSeparator(), info.getFields()); } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelOverHttp.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelOverHttp.java index 6668678874c..33e63508176 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelOverHttp.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelOverHttp.java @@ -136,7 +136,7 @@ public class HttpChannelOverHttp extends HttpChannel implements HttpParser.Reque case EXPECT: { - if (_metadata.getVersion() == HttpVersion.HTTP_1_1) + if (_metadata.getHttpVersion() == HttpVersion.HTTP_1_1) { HttpHeaderValue expect = HttpHeaderValue.CACHE.get(value); switch (expect == null ? HttpHeaderValue.UNKNOWN : expect) @@ -266,7 +266,7 @@ public class HttpChannelOverHttp extends HttpChannel implements HttpParser.Reque boolean persistent; - switch (_metadata.getVersion()) + switch (_metadata.getHttpVersion()) { case HTTP_0_9: { @@ -350,7 +350,7 @@ public class HttpChannelOverHttp extends HttpChannel implements HttpParser.Reque default: { - throw new IllegalStateException("unsupported version " + _metadata.getVersion()); + throw new IllegalStateException("unsupported version " + _metadata.getHttpVersion()); } } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java index 05492304feb..8f64c3c5074 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java @@ -80,7 +80,6 @@ import org.eclipse.jetty.server.handler.ContextHandler.Context; import org.eclipse.jetty.server.session.AbstractSession; import org.eclipse.jetty.util.Attributes; import org.eclipse.jetty.util.AttributesMap; -import org.eclipse.jetty.util.HostPort; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.MultiMap; import org.eclipse.jetty.util.MultiPartInputStreamParser; @@ -1086,7 +1085,7 @@ public class Request implements HttpServletRequest MetaData.Request metadata = _metaData; if (metadata==null) return null; - HttpVersion version = metadata.getVersion(); + HttpVersion version = metadata.getHttpVersion(); if (version==null) return null; return version.toString(); @@ -1099,7 +1098,7 @@ public class Request implements HttpServletRequest public HttpVersion getHttpVersion() { MetaData.Request metadata = _metaData; - return metadata==null?null:metadata.getVersion(); + return metadata==null?null:metadata.getHttpVersion(); } /* ------------------------------------------------------------ */ @@ -2066,6 +2065,13 @@ public class Request implements HttpServletRequest metadata.setMethod(method); } + public void setHttpVersion(HttpVersion version) + { + MetaData.Request metadata = _metaData; + if (metadata!=null) + metadata.setHttpVersion(version); + } + /* ------------------------------------------------------------ */ public boolean isHead() { diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java new file mode 100644 index 00000000000..819354879f0 --- /dev/null +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java @@ -0,0 +1,81 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.server; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.channels.SocketChannel; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.http.HttpTester; +import org.eclipse.jetty.http.HttpVersion; +import org.eclipse.jetty.server.handler.AbstractHandler; +import org.eclipse.jetty.toolchain.test.TestTracker; +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class HttpVersionCustomizerTest +{ + @Rule + public TestTracker tracker = new TestTracker(); + + @Test + public void testCustomizeHttpVersion() throws Exception + { + Server server = new Server(); + HttpConfiguration httpConfig = new HttpConfiguration(); + httpConfig.addCustomizer((connector, config, request) -> request.setHttpVersion(HttpVersion.HTTP_1_1)); + ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig)); + server.addConnector(connector); + server.setHandler(new AbstractHandler() + { + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + Assert.assertEquals(HttpVersion.HTTP_1_1.asString(), request.getProtocol()); + } + }); + server.start(); + + try + { + try (SocketChannel socket = SocketChannel.open(new InetSocketAddress("localhost", connector.getLocalPort()))) + { + HttpTester.Request request = HttpTester.newRequest(); + request.setVersion(HttpVersion.HTTP_1_0); + socket.write(request.generate()); + + HttpTester.Response response = HttpTester.parseResponse(HttpTester.from(socket)); + Assert.assertNotNull(response); + Assert.assertThat(response.getStatus(), Matchers.equalTo(HttpStatus.OK_200)); + } + } + finally + { + server.stop(); + } + } +} From 1151964d74fe7637854af525479279997740f50b Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Tue, 25 Oct 2016 15:15:46 -0700 Subject: [PATCH 024/109] Adding jdk9 profile --- pom.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pom.xml b/pom.xml index 0c38097cccd..538e881a911 100644 --- a/pom.xml +++ b/pom.xml @@ -1161,5 +1161,25 @@ 8.1.9.v20160720 + + jdk9 + + 1.9 + + + + + maven-compiler-plugin + + 1.9 + 1.9 + 1.9 + 1.9 + -Xlint:all + + + + + From 81e2bfd0c7edee70274daf5e309d4861c483a6c8 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 26 Oct 2016 11:19:47 +1100 Subject: [PATCH 025/109] Improve HttpField preencoding #1031 --- .../jetty/http/PreEncodedHttpField.java | 51 ++++++++++++++----- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/PreEncodedHttpField.java b/jetty-http/src/main/java/org/eclipse/jetty/http/PreEncodedHttpField.java index 6c81a914693..8a49a986660 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/PreEncodedHttpField.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/PreEncodedHttpField.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.http; import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.ServiceLoader; @@ -51,30 +52,56 @@ public class PreEncodedHttpField extends HttpField { try { - encoders.add(iter.next()); + HttpFieldPreEncoder encoder = iter.next(); + if (index(encoder.getHttpVersion())>=0) + encoders.add(encoder); } catch(Error|RuntimeException e) { LOG.debug(e); } } - // TODO avoid needing this catch all - if (encoders.size()==0) - encoders.add(new Http1FieldPreEncoder()); LOG.debug("HttpField encoders loaded: {}",encoders); - __encoders = encoders.toArray(new HttpFieldPreEncoder[encoders.size()]); + int size=encoders.size(); + + __encoders = new HttpFieldPreEncoder[size==0?1:size]; + for (HttpFieldPreEncoder e:encoders) + { + int i = index(e.getHttpVersion()); + if (__encoders[i]==null) + __encoders[i] = e; + else + LOG.warn("multiple PreEncoders for "+e.getHttpVersion()); + } + + // Always support HTTP1 + if (__encoders[0]==null) + __encoders[0] = new Http1FieldPreEncoder(); } - private final byte[][] _encodedField=new byte[2][]; + private static int index(HttpVersion version) + { + switch (version) + { + case HTTP_1_0: + case HTTP_1_1: + return 0; + + case HTTP_2: + return 1; + + default: + return -1; + } + } + + private final byte[][] _encodedField=new byte[__encoders.length][]; public PreEncodedHttpField(HttpHeader header,String name,String value) { super(header,name, value); - - for (HttpFieldPreEncoder e:__encoders) - { - _encodedField[e.getHttpVersion()==HttpVersion.HTTP_2?1:0]=e.getEncodedField(header,header.asString(),value); - } + for (int i=0;i<__encoders.length;i++) + _encodedField[i]=__encoders[i].getEncodedField(header,header.asString(),value); } public PreEncodedHttpField(HttpHeader header,String value) @@ -89,6 +116,6 @@ public class PreEncodedHttpField extends HttpField public void putTo(ByteBuffer bufferInFillMode, HttpVersion version) { - bufferInFillMode.put(_encodedField[version==HttpVersion.HTTP_2?1:0]); + bufferInFillMode.put(_encodedField[index(version)]); } } \ No newline at end of file From 4776b4c877654108574f5360bc06e36fe7560c27 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 26 Oct 2016 15:51:11 +1100 Subject: [PATCH 026/109] Issue #1032 --- apache-jsp/pom.xml | 25 +++- .../apache/jsp/JettyJasperInitializer.java | 10 +- .../eclipse/jetty/jsp/JettyJspServlet.java | 42 ++++-- .../jetty/jsp/TestJettyJspServlet.java | 123 ++++++++++++++++++ apache-jsp/src/test/resources/base/foo.jsp | 23 ++++ 5 files changed, 200 insertions(+), 23 deletions(-) create mode 100644 apache-jsp/src/test/java/org/eclipse/jetty/jsp/TestJettyJspServlet.java create mode 100644 apache-jsp/src/test/resources/base/foo.jsp diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index 89ed1724da0..cc76dfc7edd 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -69,11 +69,6 @@ jetty-util ${project.version} - - org.eclipse.jetty - jetty-server - ${project.version} - @@ -98,5 +93,25 @@ org.eclipse.jdt.core.compiler ecj + + + + org.eclipse.jetty + jetty-servlet + ${project.version} + tests + test + + + org.eclipse.jetty + jetty-servlet + ${project.version} + test + + + org.eclipse.jetty.toolchain + jetty-test-helper + test + diff --git a/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java index 060db780ffc..bbac439e15e 100644 --- a/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java +++ b/apache-jsp/src/main/java/org/eclipse/jetty/apache/jsp/JettyJasperInitializer.java @@ -29,8 +29,9 @@ import javax.servlet.ServletContext; import org.apache.jasper.servlet.JasperInitializer; import org.apache.jasper.servlet.TldPreScanned; import org.apache.jasper.servlet.TldScanner; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; +import org.apache.juli.logging.Log; +import org.apache.juli.logging.LogFactory; + import org.xml.sax.SAXException; /** @@ -38,8 +39,7 @@ import org.xml.sax.SAXException; */ public class JettyJasperInitializer extends JasperInitializer { - private static final Logger LOG = Log.getLogger(JettyJasperInitializer.class); - + private static final Log LOG = LogFactory.getLog(JasperInitializer.class); /** * NullTldScanner * @@ -111,6 +111,4 @@ public class JettyJasperInitializer extends JasperInitializer if (LOG.isDebugEnabled()) LOG.debug("Defaulting to jasper tld scanning"); return super.newTldScanner(context, namespaceAware, validate, blockExternal); } - - } diff --git a/apache-jsp/src/main/java/org/eclipse/jetty/jsp/JettyJspServlet.java b/apache-jsp/src/main/java/org/eclipse/jetty/jsp/JettyJspServlet.java index 6f889dd4d8f..62744692228 100644 --- a/apache-jsp/src/main/java/org/eclipse/jetty/jsp/JettyJspServlet.java +++ b/apache-jsp/src/main/java/org/eclipse/jetty/jsp/JettyJspServlet.java @@ -19,6 +19,9 @@ package org.eclipse.jetty.jsp; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; @@ -26,9 +29,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.jasper.servlet.JspServlet; -import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.util.URIUtil; -import org.eclipse.jetty.util.resource.Resource; + /** * JettyJspServlet @@ -76,7 +77,7 @@ public class JettyJspServlet extends JspServlet pathInfo = request.getPathInfo(); } - String pathInContext = URIUtil.addPaths(servletPath,pathInfo); + String pathInContext = addPaths(servletPath,pathInfo); String jspFile = getInitParameter("jspFile"); @@ -84,7 +85,7 @@ public class JettyJspServlet extends JspServlet //otherwise the default servlet might handle it if (jspFile == null) { - if (pathInContext.endsWith("/")) + if (pathInContext != null && pathInContext.endsWith("/")) { //dispatch via forward to the default servlet getServletContext().getNamedDispatcher("default").forward(req, resp); @@ -93,13 +94,16 @@ public class JettyJspServlet extends JspServlet else { //check if it resolves to a directory - Resource resource = ((ContextHandler.Context)getServletContext()).getContextHandler().getResource(pathInContext); - - if (resource!=null && resource.isDirectory()) + String realPath = getServletContext().getRealPath(pathInContext); + if (realPath != null) { - //dispatch via forward to the default servlet - getServletContext().getNamedDispatcher("default").forward(req, resp); - return; + Path asPath = Paths.get(realPath); + if (Files.exists(asPath) && Files.isDirectory(asPath)) + { + //dispatch via forward to the default servlet + getServletContext().getNamedDispatcher("default").forward(req, resp); + return; + } } } } @@ -108,5 +112,19 @@ public class JettyJspServlet extends JspServlet super.service(req, resp); } - + /** + * @param servletPath the servletPath of the request + * @param pathInfo the pathInfo of the request + * @return servletPath with pathInfo appended + */ + private String addPaths(String servletPath, String pathInfo) + { + if (servletPath.length()==0) + return pathInfo; + + if (pathInfo==null) + return servletPath; + + return servletPath+pathInfo; + } } diff --git a/apache-jsp/src/test/java/org/eclipse/jetty/jsp/TestJettyJspServlet.java b/apache-jsp/src/test/java/org/eclipse/jetty/jsp/TestJettyJspServlet.java new file mode 100644 index 00000000000..430de11d04d --- /dev/null +++ b/apache-jsp/src/test/java/org/eclipse/jetty/jsp/TestJettyJspServlet.java @@ -0,0 +1,123 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.jsp; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.net.URLClassLoader; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.jsp.JspFactory; + +import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.servlet.ServletTester; +import org.eclipse.jetty.toolchain.test.MavenTestingUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.apache.jasper.runtime.JspFactoryImpl; +import org.apache.tomcat.InstanceManager; +import org.apache.tomcat.SimpleInstanceManager; +import org.eclipse.jetty.servlet.ServletContextHandler; + +public class TestJettyJspServlet +{ + File _dir; + ServletTester _tester; + + public static class DfltServlet extends HttpServlet + { + + public DfltServlet() + { + super(); + } + + /** + * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + */ + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.setContentType("html/text"); + resp.getOutputStream().println("This.Is.The.Default."); + } + + } + + @Before + public void setUp () throws Exception + { + JspFactory.setDefaultFactory(new JspFactoryImpl()); + _dir = MavenTestingUtils.getTestResourceDir("base"); + _tester = new ServletTester("/context"); + _tester.getContext().setClassLoader(new URLClassLoader(new URL[0], Thread.currentThread().getContextClassLoader())); + ServletHolder jspHolder = _tester.getContext().addServlet(JettyJspServlet.class, "/*"); + jspHolder.setInitParameter("scratchdir", MavenTestingUtils.getTargetTestingDir().getAbsolutePath()); + _tester.getContext().setResourceBase(_dir.getAbsolutePath()); + _tester.getContext().setAttribute(InstanceManager.class.getName(), new SimpleInstanceManager()); + ServletHolder dfltHolder = new ServletHolder(); + dfltHolder.setName("default"); + dfltHolder.setHeldClass( DfltServlet.class); + _tester.getContext().addServlet(dfltHolder, "/"); + + _tester.start(); + } + + @After + public void tearDown() throws Exception + { + if (_tester != null) + _tester.stop(); + } + + @Test + public void testWithJsp() throws Exception + { + //test that an ordinary jsp is served by jsp servlet + String request = "" + + "GET /context/foo.jsp HTTP/1.1\r\n" + + "Host: localhost\r\n" + + "Connection: close\r\n" + + "\r\n"; + String response = _tester.getResponses(request); + assertTrue(!response.contains("This.Is.The.Default.")); + } + + + @Test + public void testWithDirectory() throws Exception + { + //test that a dir is served by the default servlet + String request = "" + + "GET /context/dir HTTP/1.1\r\n" + + "Host: localhost\r\n" + + "Connection: close\r\n" + + "\r\n"; + String response = _tester.getResponses(request); + assertTrue(response.contains("This.Is.The.Default.")); + } + +} diff --git a/apache-jsp/src/test/resources/base/foo.jsp b/apache-jsp/src/test/resources/base/foo.jsp new file mode 100644 index 00000000000..fb73b0b0002 --- /dev/null +++ b/apache-jsp/src/test/resources/base/foo.jsp @@ -0,0 +1,23 @@ + +<%@ page import="java.util.Enumeration" %> + +

JSP Dump

+ + + + + + +<% + Enumeration e =request.getParameterNames(); + while(e.hasMoreElements()) + { + String name = (String)e.nextElement(); +%> + + + +<% } %> + +
Request URI:<%= request.getRequestURI() %>
ServletPath:<%= request.getServletPath() %>
PathInfo:<%= request.getPathInfo() %>
getParameter("<%= name %>")<%= request.getParameter(name) %>
+ From 355f93ae7d1bbdf027c1db21ea287e40f8d83480 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 26 Oct 2016 16:28:07 +1100 Subject: [PATCH 027/109] Issue #1032 Add test dir --- apache-jsp/src/test/resources/base/dir/empty.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apache-jsp/src/test/resources/base/dir/empty.txt diff --git a/apache-jsp/src/test/resources/base/dir/empty.txt b/apache-jsp/src/test/resources/base/dir/empty.txt new file mode 100644 index 00000000000..e69de29bb2d From 4cc5178944ce2da1129eb3db13207b8fa5dcb81f Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Wed, 26 Oct 2016 11:03:19 +0200 Subject: [PATCH 028/109] Updated ALPN version for JDK 8u111 and 8u112. --- .../modules/protonego-impl/alpn-1.8.0_111.mod | 8 +++++++ .../modules/protonego-impl/alpn-1.8.0_112.mod | 8 +++++++ .../modules/protonego-impl/alpn-1.8.0_111.mod | 8 +++++++ .../modules/protonego-impl/alpn-1.8.0_112.mod | 8 +++++++ pom.xml | 24 +++++++++++++++++++ 5 files changed, 56 insertions(+) create mode 100644 jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_111.mod create mode 100644 jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_112.mod create mode 100644 jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_111.mod create mode 100644 jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_112.mod diff --git a/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_111.mod b/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_111.mod new file mode 100644 index 00000000000..a7f656bbda4 --- /dev/null +++ b/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_111.mod @@ -0,0 +1,8 @@ +[name] +protonego-boot + +[files] +http://central.maven.org/maven2/org/mortbay/jetty/alpn/alpn-boot/8.1.9.v20160720/alpn-boot-8.1.9.v20160720.jar|lib/alpn/alpn-boot-8.1.9.v20160720.jar + +[exec] +-Xbootclasspath/p:lib/alpn/alpn-boot-8.1.9.v20160720.jar diff --git a/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_112.mod b/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_112.mod new file mode 100644 index 00000000000..a09db390188 --- /dev/null +++ b/jetty-alpn/jetty-alpn-server/src/main/config/modules/protonego-impl/alpn-1.8.0_112.mod @@ -0,0 +1,8 @@ +[name] +protonego-boot + +[files] +http://central.maven.org/maven2/org/mortbay/jetty/alpn/alpn-boot/8.1.10.v20161026/alpn-boot-8.1.10.v20161026.jar|lib/alpn/alpn-boot-8.1.10.v20161026.jar + +[exec] +-Xbootclasspath/p:lib/alpn/alpn-boot-8.1.10.v20161026.jar diff --git a/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_111.mod b/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_111.mod new file mode 100644 index 00000000000..a7f656bbda4 --- /dev/null +++ b/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_111.mod @@ -0,0 +1,8 @@ +[name] +protonego-boot + +[files] +http://central.maven.org/maven2/org/mortbay/jetty/alpn/alpn-boot/8.1.9.v20160720/alpn-boot-8.1.9.v20160720.jar|lib/alpn/alpn-boot-8.1.9.v20160720.jar + +[exec] +-Xbootclasspath/p:lib/alpn/alpn-boot-8.1.9.v20160720.jar diff --git a/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_112.mod b/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_112.mod new file mode 100644 index 00000000000..a09db390188 --- /dev/null +++ b/jetty-start/src/test/resources/dist-home/modules/protonego-impl/alpn-1.8.0_112.mod @@ -0,0 +1,8 @@ +[name] +protonego-boot + +[files] +http://central.maven.org/maven2/org/mortbay/jetty/alpn/alpn-boot/8.1.10.v20161026/alpn-boot-8.1.10.v20161026.jar|lib/alpn/alpn-boot-8.1.10.v20161026.jar + +[exec] +-Xbootclasspath/p:lib/alpn/alpn-boot-8.1.10.v20161026.jar diff --git a/pom.xml b/pom.xml index 60b2858ee0c..a9f7eb3ca9c 100644 --- a/pom.xml +++ b/pom.xml @@ -1317,5 +1317,29 @@ 8.1.9.v20160720 + + 8u111 + + + java.version + 1.8.0_111 + + + + 8.1.9.v20160720 + + + + 8u112 + + + java.version + 1.8.0_112 + + + + 8.1.10.v20161026 + + From 812272c6582145ce7afe7a0654d991487cf495ff Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 26 Oct 2016 20:31:42 +1100 Subject: [PATCH 029/109] Revert "Adding jdk9 profile" This reverts commit 1151964d74fe7637854af525479279997740f50b. --- pom.xml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 0ef2f33d5a7..2cfbb90884e 100644 --- a/pom.xml +++ b/pom.xml @@ -1161,6 +1161,7 @@ 8.1.9.v20160720 +<<<<<<< HEAD 8u111 @@ -1185,25 +1186,5 @@ 8.1.10.v20161026 - - jdk9 - - 1.9 - - - - - maven-compiler-plugin - - 1.9 - 1.9 - 1.9 - 1.9 - -Xlint:all - - - - - From 7f7021315d7c8bb8f4b3935a48c642942661a6d5 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 26 Oct 2016 20:39:04 +1100 Subject: [PATCH 030/109] fixed bad revert --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2cfbb90884e..6f2a1cd3a8e 100644 --- a/pom.xml +++ b/pom.xml @@ -1161,7 +1161,6 @@ 8.1.9.v20160720 -<<<<<<< HEAD 8u111 From 7328742ae53eddec5a50c393c9425ab89f591978 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 10:23:58 -0700 Subject: [PATCH 031/109] Fixes #1038 - ${WAR} should be favored over other attributes, like ${jetty.base} --- .../jetty/quickstart/AttributeNormalizer.java | 4 + .../quickstart/AttributeNormalizerTest.java | 86 ++++++++++++++++--- 2 files changed, 76 insertions(+), 14 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index cc897b7ae10..93ed7db2e03 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -181,6 +181,10 @@ public class AttributeNormalizer attributes.add(new PathAttribute("jetty.home", "jetty.home").weight(8)); attributes.add(new PathAttribute("user.home", "user.home").weight(7)); attributes.add(new PathAttribute("user.dir", "user.dir").weight(6)); + if(warURI != null && warURI.getScheme().equals("file")) + { + attributes.add(new PathAttribute("WAR", new File(warURI).toPath().toAbsolutePath()).weight(10)); + } Collections.sort(attributes, new PathAttributeComparator()); diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index ebc365db593..3fd51fe8129 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -18,24 +18,82 @@ package org.eclipse.jetty.quickstart; -import java.net.MalformedURLException; -import java.net.URI; - -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.util.resource.Resource; -import org.junit.Test; - import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; +import java.io.File; +import java.net.MalformedURLException; +import java.net.URI; + +import org.eclipse.jetty.util.resource.Resource; +import org.junit.Test; + public class AttributeNormalizerTest { - private static final Logger LOG = Log.getLogger(AttributeNormalizerTest.class); - + @Test + public void testNormalizeOrder() throws MalformedURLException + { + String oldJettyHome = System.getProperty("jetty.home"); + String oldJettyBase = System.getProperty("jetty.base"); + + try + { + String testJettyHome = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro"); + String testJettyBase = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro/demo.base"); + String testWar = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); + + System.setProperty("jetty.home", testJettyHome); + System.setProperty("jetty.base", testJettyBase); + + Resource webresource = Resource.newResource(testWar); + AttributeNormalizer normalizer = new AttributeNormalizer(webresource); + String result = null; + + // Normalize as String path + result = normalizer.normalize(testWar); + assertThat(result, is(testWar)); // only URL, File, URI are supported + + URI testWarURI = new File(testWar).toURI(); + + // Normalize as URI + result = normalizer.normalize(testWarURI); + assertThat(result, is("file:${WAR}")); + + // Normalize deep path as File + File testWarDeep = new File(new File(testWar), "deep/ref").getAbsoluteFile(); + result = normalizer.normalize(testWarDeep); + assertThat(result, is("file:${WAR}/deep/ref")); + + // Normalize deep path as String + result = normalizer.normalize(testWarDeep.toString()); + assertThat(result, is(testWarDeep.toString())); + + // Normalize deep path as URI + result = normalizer.normalize(testWarDeep.toURI()); + assertThat(result, is("file:${WAR}/deep/ref")); + } + finally + { + restoreSystemProperty("jetty.home", oldJettyHome); + restoreSystemProperty("jetty.base", oldJettyBase); + } + } + + private void restoreSystemProperty(String key, String value) + { + if (value == null) + { + System.clearProperty(key); + } + else + { + System.setProperty(key, value); + } + } + @Test public void testNormalizeWAR() throws MalformedURLException { @@ -50,7 +108,7 @@ public class AttributeNormalizerTest result = normalizer.normalize(URI.create(webref + "/deep/ref")); assertThat(result, is("${WAR}/deep/ref")); } - + @Test public void testWindowsTLD() throws MalformedURLException { @@ -58,16 +116,16 @@ public class AttributeNormalizerTest String webref = "http://localhost/resource/webapps/root"; Resource webresource = Resource.newResource(webref); AttributeNormalizer normalizer = new AttributeNormalizer(webresource); - + // Setup example from windows String javaUserHome = System.getProperty("user.home"); String realUserHome = AttributeNormalizerPathTest.toSystemPath(javaUserHome); String userHome = AttributeNormalizer.uriSeparators(realUserHome); String path = "jar:file:" + userHome + "/.m2/repository/something/somejar.jar!/META-INF/some.tld"; - + String result = normalizer.normalize(path); assertThat(result, is("jar:file:${user.home}/.m2/repository/something/somejar.jar!/META-INF/some.tld")); - + String expanded = normalizer.expand(result); assertThat(expanded, not(anyOf(containsString("\\"), containsString("${")))); } From c4a8e684c801f072ef81bc548e799756d102ec41 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 10:31:12 -0700 Subject: [PATCH 032/109] Fixes #1039 - AttributeNormalizer should not track null paths --- .../jetty/quickstart/AttributeNormalizer.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 93ed7db2e03..1cddeb5711c 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -28,7 +28,6 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.List; import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -146,7 +145,20 @@ public class AttributeNormalizer return o2.weight - o1.weight; } } - + + private static class PathAttributes extends ArrayList + { + @Override + public boolean add(AttributeNormalizer.PathAttribute pathAttribute) + { + if (pathAttribute.path == null) + { + return false; + } + return super.add(pathAttribute); + } + } + public static String uriSeparators(String path) { StringBuilder ret = new StringBuilder(); @@ -165,7 +177,7 @@ public class AttributeNormalizer } private URI warURI; - private List attributes = new ArrayList<>(); + private PathAttributes attributes = new PathAttributes(); public AttributeNormalizer(Resource baseResource) { From de1a9733216c7b2ca6fb2bf27d39a5197a472853 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 12:07:49 -0700 Subject: [PATCH 033/109] Test case throws declaration fix for Jetty 9.4+ --- .../org/eclipse/jetty/quickstart/AttributeNormalizerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 8e9b1a70068..f263c3b6a16 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -18,7 +18,6 @@ package org.eclipse.jetty.quickstart; -import java.io.IOException; import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; @@ -26,6 +25,7 @@ import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.io.File; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URI; @@ -35,7 +35,7 @@ import org.junit.Test; public class AttributeNormalizerTest { @Test - public void testNormalizeOrder() throws MalformedURLException + public void testNormalizeOrder() throws IOException { String oldJettyHome = System.getProperty("jetty.home"); String oldJettyBase = System.getProperty("jetty.base"); From 2552f2300bf52bee7160fa4f6195cb042621fb55 Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Wed, 26 Oct 2016 15:16:17 -0400 Subject: [PATCH 034/109] Updates for upgrading guide. Signed-off-by: WalkerWatch --- .../upgrading/upgrading-9.3-to-9.4.adoc | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc index 0ae8623900b..f0b73c0e280 100644 --- a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc @@ -24,14 +24,20 @@ https://wiki.debian.org/LSBInitScripts[LSB tags]. You can safely replace Jetty 9.3's `jetty.sh` with 9.4's. -==== Modules No Longer Available +==== Module Changes in Jetty 9.4 [cols="1,1", options="header"] |=== | 9.3 Module | 9.4 Module -| logging | console-capture +| `logging` | `console-capture` +| `infinispan` | `session-store-infinispan-embedded` or `session-store-infinispan-remote` +| `jdbc-sessions` | `session-store-jdbc` +| `gcloud-memcached-sessions`, `gcloud-session-idmgr` and `gcloud-sessions` | `gcloud`, `gcloud-datastore` and `session-store-gcloud` +| `nosql` | `session-store-mongo` |=== +===== Logging Modules + The module `logging` is no longer available in Jetty 9.4. The logging module structure present in Jetty 9.3 has been replaced with @@ -45,7 +51,7 @@ If you have a Jetty 9.3 installation, and you have both `$jetty.base/modules/logging.mod` and `$jetty.base/etc/jetty-logging.xml`, then this module is local to your `$jetty.base` setup and will be used by Jetty 9.4 as before. -No changes required on your part. +No changes are required for your implementation. If either `$jetty.base/modules/logging.mod` or `$jetty.base/etc/jetty-logging.xml` are missing, then you were relying on those present in `$jetty.home`, @@ -55,7 +61,7 @@ The Jetty 9.3 `logging` module has been renamed to `console-capture` in Jetty 9. You need to open your Jetty 9.3 `start.ini` and replace the references to the `logging` modules with `console-capture`. -For example: +For example, in an existing 9.3 `start.ini` file the module declaration for logging would look like this: .start.ini ---- @@ -63,7 +69,7 @@ For example: jetty.logging.retainDays=7 ---- -should be replaced by: +In 9.4, it should be replaced by: .start.ini ---- @@ -75,3 +81,15 @@ The properties that may be present in your Jetty 9.3's `start.ini`, such as `jetty.logging.retainDays` will still be working in Jetty 9.4, but a warning will be printed at Jetty 9.4 startup, saying to replace them with correspondent `jetty.console-capture.*` properties such as `jetty.console-capture.retainDays`. + +For information on logging modules in the Jetty 9.4 architecture please see the section on link:#configuring-logging-modules[configuring logging modules.] + +===== Session Management + +//TODO - More info. + +Session management received a significant overhaul in Jetty 9.4. Whereas in prior versions of Jetty uses needed to implement individual instances of both `SessionIdManager` and `SessionManager`, now one instance of both handles sessions for the server. + +As part of these changes, modules for individual technologies were re-named to make configuration more transparent. + +For more information, please refer to the documentation on link:#jetty-sessions-architecture[Jetty Session Architecture.] From ebc8983721071c668f5dc58be6a742a726e7ca89 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 14:25:20 -0700 Subject: [PATCH 035/109] Issue #1038 - correcting "file:" and double "//" behavior --- .../jetty/quickstart/AttributeNormalizer.java | 16 ++-- .../AttributeNormalizerPathTest.java | 88 ++++++++----------- .../quickstart/AttributeNormalizerTest.java | 24 ++--- .../eclipse/jetty/quickstart/EnvUtils.java | 76 ++++++++++++++++ 4 files changed, 129 insertions(+), 75 deletions(-) create mode 100644 tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/EnvUtils.java diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 1cddeb5711c..7e39636ac40 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -380,18 +380,20 @@ public class AttributeNormalizer return null; } - // Use war path (if known) - if("WAR".equalsIgnoreCase(property)) - { - return warURI.toASCIIString(); - } - // Use known path attributes for (PathAttribute attr : attributes) { if (attr.key.equalsIgnoreCase(property)) { - return uriSeparators(attr.path.toString()); + String path = uriSeparators(attr.path.toString()); + if (path.endsWith("/")) + { + return path.substring(0, path.length() - 1); + } + else + { + return path; + } } } diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java index 32c94ebcc59..0085537e1ae 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java @@ -18,17 +18,19 @@ package org.eclipse.jetty.quickstart; -import java.io.IOException; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Files; import java.nio.file.Path; import java.util.Arrays; import java.util.List; +import org.eclipse.jetty.toolchain.test.FS; +import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.util.resource.Resource; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -37,65 +39,34 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - @RunWith(Parameterized.class) public class AttributeNormalizerPathTest { @Parameters(name="{0} = {1}") public static List data() { - String[][] tests = { - // Can't test 'WAR' property, as its not a Path (which this testcase works with) - // { "WAR", toSystemPath("http://localhost/resources/webapps/root") }, - { "jetty.home", toSystemPath("/opt/jetty-distro") }, - { "jetty.base", toSystemPath("/opt/jetty-distro/demo.base") }, - { "user.home", toSystemPath("/home/user") }, - { "user.dir", toSystemPath("/etc/init.d") }, + String[][] tests = { + { "WAR", testRoot.toString() }, + { "jetty.home", EnvUtils.toSystemPath("/opt/jetty-distro") }, + { "jetty.base", EnvUtils.toSystemPath("/opt/jetty-distro/demo.base") }, + { "user.home", EnvUtils.toSystemPath("/home/user") }, + { "user.dir", EnvUtils.toSystemPath("/etc/init.d") }, }; return Arrays.asList(tests); } - /** - * As the declared paths in this testcase might be actual paths on the system - * running these tests, the expected paths should be cleaned up to represent - * the actual system paths. - *

- * Eg: on fedora /etc/init.d is a symlink to /etc/rc.d/init.d - */ - public static String toSystemPath(String rawpath) - { - Path path = FileSystems.getDefault().getPath(rawpath); - if (Files.exists(path)) - { - // It exists, resolve it to the real path - try - { - path = path.toRealPath(); - } - catch (IOException e) - { - // something prevented us from resolving to real path, fallback to - // absolute path resolution (not as accurate) - path = path.toAbsolutePath(); - e.printStackTrace(); - } - } - else - { - // File doesn't exist, resolve to absolute path - // We can't rely on File.toCanonicalPath() here - path = path.toAbsolutePath(); - } - return path.toString(); - } - + private static Path testRoot; private static String origJettyBase; private static String origJettyHome; private static String origUserHome; private static String origUserDir; + + static + { + testRoot = MavenTestingUtils.getTargetTestingPath(AttributeNormalizerPathTest.class.getSimpleName()); + FS.ensureEmpty(testRoot); + } @BeforeClass public static void initProperties() @@ -129,15 +100,26 @@ public class AttributeNormalizerPathTest { this.key = key; this.path = AttributeNormalizer.uriSeparators(path); - this.normalizer = new AttributeNormalizer(Resource.newResource("/opt/jetty-distro/demo.base/webapps/root")); + this.normalizer = new AttributeNormalizer(Resource.newResource(testRoot.toFile())); } - + + private void assertExpand(String line, String expected) + { + assertThat("normalizer.expand(\"" + line + "\")", normalizer.expand(line), is(expected)); + } + @Test public void testEqual() { assertThat(normalizer.normalize("file:" + path), is("file:${" + key + "}")); } - + + @Test + public void testExpandEqual() + { + assertExpand("file:${" + key + "}", "file:" + path); + } + @Test public void testEqualsSlash() { @@ -203,6 +185,12 @@ public class AttributeNormalizerPathTest { assertThat(normalizer.normalize("jar:file:" + path + "/file!/file"), is("jar:file:${" + key + "}/file!/file")); } + + @Test + public void testExpandJarFileEquals_FileBangFile() + { + assertExpand("jar:file:${" + key + "}/file!/file", "jar:file:" + path + "/file!/file"); + } @Test public void testJarFileEquals_URIBangFile() throws URISyntaxException diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 3fd51fe8129..41fcb38b0fd 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -41,9 +41,9 @@ public class AttributeNormalizerTest try { - String testJettyHome = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro"); - String testJettyBase = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro/demo.base"); - String testWar = AttributeNormalizerPathTest.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); + String testJettyHome = EnvUtils.toSystemPath("/opt/jetty-distro"); + String testJettyBase = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base"); + String testWar = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); System.setProperty("jetty.home", testJettyHome); System.setProperty("jetty.base", testJettyBase); @@ -77,20 +77,8 @@ public class AttributeNormalizerTest } finally { - restoreSystemProperty("jetty.home", oldJettyHome); - restoreSystemProperty("jetty.base", oldJettyBase); - } - } - - private void restoreSystemProperty(String key, String value) - { - if (value == null) - { - System.clearProperty(key); - } - else - { - System.setProperty(key, value); + EnvUtils.restoreSystemProperty("jetty.home", oldJettyHome); + EnvUtils.restoreSystemProperty("jetty.base", oldJettyBase); } } @@ -119,7 +107,7 @@ public class AttributeNormalizerTest // Setup example from windows String javaUserHome = System.getProperty("user.home"); - String realUserHome = AttributeNormalizerPathTest.toSystemPath(javaUserHome); + String realUserHome = EnvUtils.toSystemPath(javaUserHome); String userHome = AttributeNormalizer.uriSeparators(realUserHome); String path = "jar:file:" + userHome + "/.m2/repository/something/somejar.jar!/META-INF/some.tld"; diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/EnvUtils.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/EnvUtils.java new file mode 100644 index 00000000000..7bc51932756 --- /dev/null +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/EnvUtils.java @@ -0,0 +1,76 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.quickstart; + +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; + +/** + * Common utility methods for quickstart tests + */ +public class EnvUtils +{ + /** + * As the declared paths in this testcase might be actual paths on the system + * running these tests, the expected paths should be cleaned up to represent + * the actual system paths. + *

+ * Eg: on fedora /etc/init.d is a symlink to /etc/rc.d/init.d + */ + public static String toSystemPath(String rawpath) + { + Path path = FileSystems.getDefault().getPath(rawpath); + if (Files.exists(path)) + { + // It exists, resolve it to the real path + try + { + path = path.toRealPath(); + } + catch (IOException e) + { + // something prevented us from resolving to real path, fallback to + // absolute path resolution (not as accurate) + path = path.toAbsolutePath(); + e.printStackTrace(); + } + } + else + { + // File doesn't exist, resolve to absolute path + // We can't rely on File.toCanonicalPath() here + path = path.toAbsolutePath(); + } + return path.toString(); + } + + public static void restoreSystemProperty(String key, String value) + { + if (value == null) + { + System.clearProperty(key); + } + else + { + System.setProperty(key, value); + } + } +} From ca5e075ba0b4d7291e72d3f5e5071ecb137d6a6e Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 15:30:34 -0700 Subject: [PATCH 036/109] Issue #1038 - treating ${WAR} as a URI always, not a Path + Still needs testing on MS Windows --- .../jetty/quickstart/AttributeNormalizer.java | 59 ++++++++++++++----- .../AttributeNormalizerPathTest.java | 8 ++- .../quickstart/AttributeNormalizerTest.java | 30 +++++++--- 3 files changed, 69 insertions(+), 28 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 7e39636ac40..8292f30e193 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -53,20 +53,21 @@ public class AttributeNormalizer { private static final Logger LOG = Log.getLogger(AttributeNormalizer.class); private static final Pattern __propertyPattern = Pattern.compile("(?<=[^$]|^)\\$\\{([^}]*)\\}"); - + private static class PathAttribute { public final Path path; public final String key; + private boolean isUriBased = false; private int weight = -1; - + public PathAttribute(String key, Path path) throws IOException { this.key = key; this.path = toCanonicalPath(path); // TODO: Don't allow non-directory paths? (but what if the path doesn't exist?) } - + public PathAttribute(String key, String systemPropertyKey) throws IOException { this(key, toCanonicalPath(System.getProperty(systemPropertyKey))); @@ -93,7 +94,41 @@ public class AttributeNormalizer } return path.toAbsolutePath(); } - + + public String toUri() + { + if (isUriBased) + { + // Return "{KEY}" -> "" (including scheme) + return path.toUri().toASCIIString(); + } + else + { + // Return "{KEY}" -> "" (excluding scheme) + return path.toUri().getSchemeSpecificPart(); + } + } + + public String getNormalizedScheme() + { + if (isUriBased) + { + // If we are treating the {KEY} -> "" (scheme is expanded) + return ""; + } + else + { + // If we are treating the {KEY} -> "" (scheme is not part of KEY) + return "file:"; + } + } + + public PathAttribute treatAsUri() + { + this.isUriBased = true; + return this; + } + public PathAttribute weight(int newweight) { this.weight = newweight; @@ -195,7 +230,7 @@ public class AttributeNormalizer attributes.add(new PathAttribute("user.dir", "user.dir").weight(6)); if(warURI != null && warURI.getScheme().equals("file")) { - attributes.add(new PathAttribute("WAR", new File(warURI).toPath().toAbsolutePath()).weight(10)); + attributes.add(new PathAttribute("WAR", new File(warURI).toPath().toAbsolutePath()).treatAsUri().weight(10)); } Collections.sort(attributes, new PathAttributeComparator()); @@ -245,7 +280,7 @@ public class AttributeNormalizer } else if ("file".equalsIgnoreCase(uri.getScheme())) { - return "file:" + normalizePath(new File(uri.getRawSchemeSpecificPart()).toPath()); + return normalizePath(new File(uri.getRawSchemeSpecificPart()).toPath()); } else { @@ -284,7 +319,7 @@ public class AttributeNormalizer { if (path.startsWith(attr.path) || path.equals(attr.path) || Files.isSameFile(path,attr.path)) { - return uriSeparators(URIUtil.addPaths("${" + attr.key + "}",attr.path.relativize(path).toString())); + return attr.getNormalizedScheme() + uriSeparators(URIUtil.addPaths("${" + attr.key + "}", attr.path.relativize(path).toString())); } } catch (IOException ignore) @@ -385,15 +420,7 @@ public class AttributeNormalizer { if (attr.key.equalsIgnoreCase(property)) { - String path = uriSeparators(attr.path.toString()); - if (path.endsWith("/")) - { - return path.substring(0, path.length() - 1); - } - else - { - return path; - } + return attr.toUri(); } } diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java index 0085537e1ae..61064ef3816 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.quickstart; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; +import java.io.File; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -46,7 +47,6 @@ public class AttributeNormalizerPathTest public static List data() { String[][] tests = { - { "WAR", testRoot.toString() }, { "jetty.home", EnvUtils.toSystemPath("/opt/jetty-distro") }, { "jetty.base", EnvUtils.toSystemPath("/opt/jetty-distro/demo.base") }, { "user.home", EnvUtils.toSystemPath("/home/user") }, @@ -117,7 +117,8 @@ public class AttributeNormalizerPathTest @Test public void testExpandEqual() { - assertExpand("file:${" + key + "}", "file:" + path); + String expectedPath = new File(path).toPath().toUri().getRawSchemeSpecificPart(); + assertExpand("file:${" + key + "}", "file:" + expectedPath); } @Test @@ -189,7 +190,8 @@ public class AttributeNormalizerPathTest @Test public void testExpandJarFileEquals_FileBangFile() { - assertExpand("jar:file:${" + key + "}/file!/file", "jar:file:" + path + "/file!/file"); + String expectedPath = new File(path).toPath().toUri().getRawSchemeSpecificPart(); + assertExpand("jar:file:${" + key + "}/file!/file", "jar:file:" + expectedPath + "/file!/file"); } @Test diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 41fcb38b0fd..0d8ccb9d69e 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -28,6 +28,7 @@ import java.io.File; import java.net.MalformedURLException; import java.net.URI; +import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.util.resource.Resource; import org.junit.Test; @@ -60,12 +61,12 @@ public class AttributeNormalizerTest // Normalize as URI result = normalizer.normalize(testWarURI); - assertThat(result, is("file:${WAR}")); + assertThat(result, is("${WAR}")); // Normalize deep path as File File testWarDeep = new File(new File(testWar), "deep/ref").getAbsoluteFile(); result = normalizer.normalize(testWarDeep); - assertThat(result, is("file:${WAR}/deep/ref")); + assertThat(result, is("${WAR}/deep/ref")); // Normalize deep path as String result = normalizer.normalize(testWarDeep.toString()); @@ -73,7 +74,7 @@ public class AttributeNormalizerTest // Normalize deep path as URI result = normalizer.normalize(testWarDeep.toURI()); - assertThat(result, is("file:${WAR}/deep/ref")); + assertThat(result, is("${WAR}/deep/ref")); } finally { @@ -83,18 +84,29 @@ public class AttributeNormalizerTest } @Test - public void testNormalizeWAR() throws MalformedURLException + public void testNormalizeExpandWAR() throws MalformedURLException { - String webref = "http://localhost/resource/webapps/root"; + String webref = MavenTestingUtils.getTargetDir().getAbsolutePath() + "/bogus.war"; Resource webresource = Resource.newResource(webref); AttributeNormalizer normalizer = new AttributeNormalizer(webresource); String result = null; - result = normalizer.normalize(URI.create(webref)); - assertThat(result, is("${WAR}")); + File webrefFile = new File(webref); + URI uri = webrefFile.toURI(); + // As normal URI ref + result = normalizer.normalize(uri); + assertThat("normalize(" + uri + ")", result, is("${WAR}")); - result = normalizer.normalize(URI.create(webref + "/deep/ref")); - assertThat(result, is("${WAR}/deep/ref")); + // as jar internal resource reference + uri = URI.create("jar:" + webrefFile.toURI().toASCIIString() + "!/deep/ref"); + result = normalizer.normalize(uri); + assertThat("normalize(" + uri + ")", result, is("jar:${WAR}!/deep/ref")); + + // as jar internal resource reference + String line = "jar:${WAR}!/other/file"; + result = normalizer.expand(line); + uri = URI.create("jar:" + webrefFile.toPath().toUri().toASCIIString() + "!/other/file"); + assertThat("expand(\"" + line + "\")", URI.create(result), is(uri)); } @Test From 7256d75e9cb3f6a641a1e67e969607723d5f197a Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 16:09:12 -0700 Subject: [PATCH 037/109] Issue #1038 - fixes for MS Windows --- .../jetty/quickstart/AttributeNormalizer.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 8292f30e193..45256037322 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.quickstart; import java.io.File; import java.io.IOException; import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.nio.file.FileSystems; import java.nio.file.Files; @@ -250,6 +251,12 @@ public class AttributeNormalizer } } + /** + * Normalize a URI, URL, or File reference by replacing known attributes with ${key} attributes. + * + * @param o the object to normalize into a string + * @return the string representation of the object, with expansion keys. + */ public String normalize(Object o) { try @@ -265,9 +272,23 @@ public class AttributeNormalizer else { String s = o.toString(); - uri = new URI(s); - if (uri.getScheme() == null) + try + { + uri = new URI(s); + if (uri.getScheme() == null) + { + // Unknown scheme? not relevant to normalize + return s; + } + } + catch(URISyntaxException e) + { + // This path occurs for many reasons, but most common is when this + // is executed on MS Windows, on a string like "D:\jetty" + // and the new URI() fails for + // java.net.URISyntaxException: Illegal character in opaque part at index 2: D:\jetty return s; + } } if ("jar".equalsIgnoreCase(uri.getScheme())) @@ -310,6 +331,8 @@ public class AttributeNormalizer public String normalizePath(Path path) { + String uriPath = path.toUri().getSchemeSpecificPart(); + for (PathAttribute attr : attributes) { if (attr.path == null) From dadb86c831855f9918051868756dc453f1c78115 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 27 Oct 2016 10:35:49 +1100 Subject: [PATCH 038/109] Issue #1032 Make apache-jsp jar artifact without META-INF/services juli log --- apache-jsp/pom.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index cc76dfc7edd..ed59d4d4a5d 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -46,6 +46,18 @@ test-jar + + nolog-jar + + jar + + + nolog + + META-INF/services/org.apache.juli.logging.Log + + + From 1075fc2df19f5315d861cdeafdd389f4decf524c Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 26 Oct 2016 16:57:24 -0700 Subject: [PATCH 039/109] Fixing bad merge in apache-jsp/pom.xml --- apache-jsp/pom.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index ac7446b7c2a..f19da0cfec6 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -31,6 +31,21 @@ + org.apache.maven.plugins + maven-jar-plugin + + + artifact-jar + + jar + + + + test-jar + + test-jar + + nolog-jar @@ -43,6 +58,9 @@ + + + org.jacoco jacoco-maven-plugin From 1939a16fe8f7bc1898b020cb3093a94d5850945e Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 27 Oct 2016 11:10:03 +1100 Subject: [PATCH 040/109] Issue #1032 Fix nolog classifier --- apache-jsp/pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index f19da0cfec6..6750df30892 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -34,18 +34,6 @@ org.apache.maven.plugins maven-jar-plugin - - artifact-jar - - jar - - - - test-jar - - test-jar - - nolog-jar From 90e4d162c892fe7ce531873db6c2290aa2fc7cff Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 27 Oct 2016 16:15:44 +1100 Subject: [PATCH 041/109] Issue #907 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ad2b04c103..177f877bb03 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 1.6.6 1.2 1.1.3.v20160715 - 8.5.4 + 8.5.5 undefined From 0f7028e9fa14bfdc3500cc74720d8be56333553a Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 27 Oct 2016 16:29:52 +1100 Subject: [PATCH 042/109] Quickstart attribute normilazation #1038 Removed a lot of bad tests that incorrection assumed it was OK to mix Paths and URIs like: jar:file:${jetty.base}/webapps/some.war!/some/path refactored to keep PathAttributes and URIAttributes separate --- .../jetty/quickstart/AttributeNormalizer.java | 301 +++++++----------- .../AttributeNormalizerPathTest.java | 232 -------------- .../quickstart/AttributeNormalizerTest.java | 70 ++-- 3 files changed, 164 insertions(+), 439 deletions(-) delete mode 100644 tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 45256037322..3541414b1ba 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -29,9 +29,15 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Stack; +import java.util.jar.Attributes; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.eclipse.jetty.util.URIUtil; import org.eclipse.jetty.util.log.Log; @@ -55,199 +61,118 @@ public class AttributeNormalizer private static final Logger LOG = Log.getLogger(AttributeNormalizer.class); private static final Pattern __propertyPattern = Pattern.compile("(?<=[^$]|^)\\$\\{([^}]*)\\}"); - private static class PathAttribute + private static class Attribute { - public final Path path; - public final String key; - private boolean isUriBased = false; - private int weight = -1; + final String key; + final String value; - public PathAttribute(String key, Path path) throws IOException + public Attribute(String key, String value) { this.key = key; - this.path = toCanonicalPath(path); - // TODO: Don't allow non-directory paths? (but what if the path doesn't exist?) + this.value = value; } - - public PathAttribute(String key, String systemPropertyKey) throws IOException + } + + private static Path toCanonicalPath(String path) + { + if (path == null) { - this(key, toCanonicalPath(System.getProperty(systemPropertyKey))); + return null; } - - private static Path toCanonicalPath(String path) throws IOException + return toCanonicalPath(FileSystems.getDefault().getPath(path)); + } + + private static Path toCanonicalPath(Path path) + { + if (path == null) { - if (path == null) - { - return null; - } - return toCanonicalPath(FileSystems.getDefault().getPath(path)); + return null; } - - private static Path toCanonicalPath(Path path) throws IOException + if (Files.exists(path)) { - if (path == null) - { - return null; - } - if (Files.exists(path)) + try { return path.toRealPath(); } - return path.toAbsolutePath(); - } - - public String toUri() - { - if (isUriBased) + catch (IOException e) { - // Return "{KEY}" -> "" (including scheme) - return path.toUri().toASCIIString(); - } - else - { - // Return "{KEY}" -> "" (excluding scheme) - return path.toUri().getSchemeSpecificPart(); + throw new IllegalArgumentException(e); } } + return path.toAbsolutePath(); + } + + private static class PathAttribute extends Attribute + { + public final Path path; - public String getNormalizedScheme() + public PathAttribute(String key, Path path) { - if (isUriBased) - { - // If we are treating the {KEY} -> "" (scheme is expanded) - return ""; - } - else - { - // If we are treating the {KEY} -> "" (scheme is not part of KEY) - return "file:"; - } - } - - public PathAttribute treatAsUri() - { - this.isUriBased = true; - return this; - } - - public PathAttribute weight(int newweight) - { - this.weight = newweight; - return this; + super(key,path.toString()); + this.path = path; } @Override public String toString() { - return String.format("PathAttribute[%s=>%s,%d]",key,path,weight); - } - } - - private static class PathAttributeComparator implements Comparator - { - @Override - public int compare(PathAttribute o1, PathAttribute o2) - { - if( (o1.path == null) && (o2.path != null) ) - { - return -1; - } - - if( (o1.path != null) && (o2.path == null) ) - { - return 1; - } - - if( (o1.path == null) && (o2.path == null) ) - { - return 0; - } - - // Different lengths? - int diff = o2.path.getNameCount() - o1.path.getNameCount(); - if(diff != 0) - { - return diff; - } - - // Different names? - diff = o2.path.compareTo(o1.path); - if(diff != 0) - { - return diff; - } - - // The paths are the same, base now on weight - return o2.weight - o1.weight; + return String.format("PathAttribute[%s=>%s]",key,path); } } - private static class PathAttributes extends ArrayList + private static class URIAttribute extends Attribute { - @Override - public boolean add(AttributeNormalizer.PathAttribute pathAttribute) + public final URI uri; + + public URIAttribute(String key, URI uri) { - if (pathAttribute.path == null) - { - return false; - } - return super.add(pathAttribute); + super(key,uri.toASCIIString()); + this.uri = uri; + } + + @Override + public String toString() + { + return String.format("URIAttribute[%s=>%s]",key,uri); } } - public static String uriSeparators(String path) + private static void addPath(Listpaths,String key) { - StringBuilder ret = new StringBuilder(); - for (char c : path.toCharArray()) - { - if ((c == '/') || (c == '\\')) - { - ret.append('/'); - } - else - { - ret.append(c); - } - } - return ret.toString(); + String value = System.getProperty(key); + if (value!=null) + paths.add(new PathAttribute(key,toCanonicalPath(value))); } private URI warURI; - private PathAttributes attributes = new PathAttributes(); + private Map attributes = new HashMap<>(); + private List paths = new ArrayList<>(); + private List uris = new ArrayList<>(); + public AttributeNormalizer(Resource baseResource) { - // WAR URI is always evaluated before paths. - warURI = baseResource == null ? null : baseResource.getURI(); - // We don't normalize or resolve the baseResource URI + if (baseResource==null) + throw new IllegalArgumentException("No base resource!"); + + warURI = baseResource.getURI().normalize(); if (!warURI.isAbsolute()) throw new IllegalArgumentException("WAR URI is not absolute: " + warURI); - try - { - // Track path attributes for expansion - attributes.add(new PathAttribute("jetty.base", "jetty.base").weight(9)); - attributes.add(new PathAttribute("jetty.home", "jetty.home").weight(8)); - attributes.add(new PathAttribute("user.home", "user.home").weight(7)); - attributes.add(new PathAttribute("user.dir", "user.dir").weight(6)); - if(warURI != null && warURI.getScheme().equals("file")) - { - attributes.add(new PathAttribute("WAR", new File(warURI).toPath().toAbsolutePath()).treatAsUri().weight(10)); - } - - Collections.sort(attributes, new PathAttributeComparator()); + + addPath(paths,"jetty.base"); + addPath(paths,"jetty.home"); + addPath(paths,"user.home"); + addPath(paths,"user.dir"); + + uris.add(new URIAttribute("WAR", warURI)); + + Stream.concat(paths.stream(),uris.stream()).forEach(a->attributes.put(a.key,a)); - if (LOG.isDebugEnabled()) - { - int i = 0; - for (PathAttribute attr : attributes) - { - LOG.debug(" [{}] {}", i++, attr); - } - } - } - catch (Exception e) + if (LOG.isDebugEnabled()) { - throw new IllegalArgumentException(e); + for (Attribute attr : attributes.values()) + { + LOG.debug(attr.toString()); + } } } @@ -264,11 +189,11 @@ public class AttributeNormalizer // Find a URI URI uri = null; if (o instanceof URI) - uri = (URI)o; + uri = ((URI)o).normalize(); else if (o instanceof URL) - uri = ((URL)o).toURI(); + uri = ((URL)o).toURI().normalize(); else if (o instanceof File) - uri = ((File)o).toURI(); + uri = ((File)o).toURI().normalize(); else { String s = o.toString(); @@ -299,10 +224,6 @@ public class AttributeNormalizer String suffix = raw.substring(bang); return "jar:" + normal + suffix; } - else if ("file".equalsIgnoreCase(uri.getScheme())) - { - return normalizePath(new File(uri.getRawSchemeSpecificPart()).toPath()); - } else { if(uri.isAbsolute()) @@ -320,30 +241,49 @@ public class AttributeNormalizer public String normalizeUri(URI uri) { - String uriStr = uri.toASCIIString(); - String warStr = warURI.toASCIIString(); - if (uriStr.startsWith(warStr)) + for (URIAttribute a : uris) { - return "${WAR}" + uriStr.substring(warStr.length()); + try + { + if (uri.compareTo(a.uri)==0) + return String.format("${%s}",a.key); + + if (!a.uri.getScheme().equalsIgnoreCase(uri.getScheme())) + continue; + if (a.uri.getHost()==null && uri.getHost()!=null) + continue; + if (a.uri.getHost()!=null && !a.uri.getHost().equals(uri.getHost())) + continue; + + if (a.uri.getPath().equals(uri.getPath())) + return a.value; + + if (!uri.getPath().startsWith(a.uri.getPath())) + continue; + + String s = uri.getPath().substring(a.uri.getPath().length()); + + if (s.charAt(0)!='/') + continue; + + return String.format("${%s}%s",a.key,new URI(s).toASCIIString()); + } + catch(URISyntaxException e) + { + LOG.ignore(e); + } } - return uriStr; + return uri.toASCIIString(); } public String normalizePath(Path path) { - String uriPath = path.toUri().getSchemeSpecificPart(); - - for (PathAttribute attr : attributes) + for (PathAttribute a : paths) { - if (attr.path == null) - continue; - try { - if (path.startsWith(attr.path) || path.equals(attr.path) || Files.isSameFile(path,attr.path)) - { - return attr.getNormalizedScheme() + uriSeparators(URIUtil.addPaths("${" + attr.key + "}", attr.path.relativize(path).toString())); - } + if (path.startsWith(a.path) || path.equals(a.path) || Files.isSameFile(path,a.path)) + return String.format("${%s}%s",a.key,a.path.relativize(path).toString()); } catch (IOException ignore) { @@ -351,7 +291,7 @@ public class AttributeNormalizer } } - return uriSeparators(path.toString()); + return path.toString(); } public String expand(String str) @@ -433,19 +373,14 @@ public class AttributeNormalizer private String getString(String property) { - if(property == null) + if(property==null) { return null; } - // Use known path attributes - for (PathAttribute attr : attributes) - { - if (attr.key.equalsIgnoreCase(property)) - { - return attr.toUri(); - } - } + Attribute a = attributes.get(property); + if (a!=null) + return a.value; // Use system properties next return System.getProperty(property); diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java deleted file mode 100644 index 61064ef3816..00000000000 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerPathTest.java +++ /dev/null @@ -1,232 +0,0 @@ - // -// ======================================================================== -// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.quickstart; - -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.nio.file.Path; -import java.util.Arrays; -import java.util.List; - -import org.eclipse.jetty.toolchain.test.FS; -import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.util.resource.Resource; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -@RunWith(Parameterized.class) -public class AttributeNormalizerPathTest -{ - @Parameters(name="{0} = {1}") - public static List data() - { - String[][] tests = { - { "jetty.home", EnvUtils.toSystemPath("/opt/jetty-distro") }, - { "jetty.base", EnvUtils.toSystemPath("/opt/jetty-distro/demo.base") }, - { "user.home", EnvUtils.toSystemPath("/home/user") }, - { "user.dir", EnvUtils.toSystemPath("/etc/init.d") }, - }; - - return Arrays.asList(tests); - } - - private static Path testRoot; - private static String origJettyBase; - private static String origJettyHome; - private static String origUserHome; - private static String origUserDir; - - static - { - testRoot = MavenTestingUtils.getTargetTestingPath(AttributeNormalizerPathTest.class.getSimpleName()); - FS.ensureEmpty(testRoot); - } - - @BeforeClass - public static void initProperties() - { - origJettyBase = System.getProperty("jetty.base"); - origJettyHome = System.getProperty("jetty.home"); - origUserHome = System.getProperty("user.home"); - origUserDir = System.getProperty("user.dir"); - - System.setProperty("jetty.home","/opt/jetty-distro"); - System.setProperty("jetty.base","/opt/jetty-distro/demo.base"); - System.setProperty("user.home","/home/user"); - System.setProperty("user.dir","/etc/init.d"); - } - - @AfterClass - public static void restoreProperties() - { - if(origJettyBase != null) System.setProperty("jetty.base",origJettyBase); - if(origJettyHome != null) System.setProperty("jetty.home",origJettyHome); - if(origUserHome != null) System.setProperty("user.home",origUserHome); - if(origUserDir != null) System.setProperty("user.dir",origUserDir); - } - - public String key; - public String path; - - private AttributeNormalizer normalizer; - - public AttributeNormalizerPathTest(String key, String path) throws MalformedURLException - { - this.key = key; - this.path = AttributeNormalizer.uriSeparators(path); - this.normalizer = new AttributeNormalizer(Resource.newResource(testRoot.toFile())); - } - - private void assertExpand(String line, String expected) - { - assertThat("normalizer.expand(\"" + line + "\")", normalizer.expand(line), is(expected)); - } - - @Test - public void testEqual() - { - assertThat(normalizer.normalize("file:" + path), is("file:${" + key + "}")); - } - - @Test - public void testExpandEqual() - { - String expectedPath = new File(path).toPath().toUri().getRawSchemeSpecificPart(); - assertExpand("file:${" + key + "}", "file:" + expectedPath); - } - - @Test - public void testEqualsSlash() - { - assertThat(normalizer.normalize("file:" + path + "/"), is("file:${" + key + "}")); - } - - @Test - public void testEqualsSlashFile() - { - assertThat(normalizer.normalize("file:" + path + "/file"), is("file:${" + key + "}/file")); - } - - @Test - public void testURIEquals() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("file:" + path)), is("file:${" + key + "}")); - } - - @Test - public void testURIEqualsSlash() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("file:" + path + "/")), is("file:${" + key + "}")); - } - - @Test - public void testURIEqualsSlashFile() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("file:" + path + "/file")), is("file:${" + key + "}/file")); - } - - @Test - public void testURLEquals() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("file:" + path)), is("file:${" + key + "}")); - } - - @Test - public void testURLEqualsSlash() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("file:" + path + "/")), is("file:${" + key + "}")); - } - - @Test - public void testURLEqualsSlashFile() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("file:" + path + "/file")), is("file:${" + key + "}/file")); - } - - @Test - public void testJarFileEquals_BangFile() - { - assertThat(normalizer.normalize("jar:file:" + path + "!/file"), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_SlashBangFile() - { - assertThat(normalizer.normalize("jar:file:" + path + "/!/file"), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_FileBangFile() - { - assertThat(normalizer.normalize("jar:file:" + path + "/file!/file"), is("jar:file:${" + key + "}/file!/file")); - } - - @Test - public void testExpandJarFileEquals_FileBangFile() - { - String expectedPath = new File(path).toPath().toUri().getRawSchemeSpecificPart(); - assertExpand("jar:file:${" + key + "}/file!/file", "jar:file:" + expectedPath + "/file!/file"); - } - - @Test - public void testJarFileEquals_URIBangFile() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("jar:file:" + path + "!/file")), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_URISlashBangFile() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("jar:file:" + path + "/!/file")), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_URIFileBangFile() throws URISyntaxException - { - assertThat(normalizer.normalize(new URI("jar:file:" + path + "/file!/file")), is("jar:file:${" + key + "}/file!/file")); - } - - @Test - public void testJarFileEquals_URLBangFile() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("jar:file:" + path + "!/file")), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_URLSlashBangFile() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("jar:file:" + path + "/!/file")), is("jar:file:${" + key + "}!/file")); - } - - @Test - public void testJarFileEquals_URLFileBangFile() throws MalformedURLException - { - assertThat(normalizer.normalize(new URL("jar:file:" + path + "/file!/file")), is("jar:file:${" + key + "}/file!/file")); - } -} diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 0d8ccb9d69e..26fc5385e46 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -18,10 +18,7 @@ package org.eclipse.jetty.quickstart; -import static org.hamcrest.Matchers.anyOf; -import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.io.File; @@ -57,9 +54,8 @@ public class AttributeNormalizerTest result = normalizer.normalize(testWar); assertThat(result, is(testWar)); // only URL, File, URI are supported - URI testWarURI = new File(testWar).toURI(); - // Normalize as URI + URI testWarURI = new File(testWar).toURI(); result = normalizer.normalize(testWarURI); assertThat(result, is("${WAR}")); @@ -75,6 +71,7 @@ public class AttributeNormalizerTest // Normalize deep path as URI result = normalizer.normalize(testWarDeep.toURI()); assertThat(result, is("${WAR}/deep/ref")); + } finally { @@ -83,6 +80,50 @@ public class AttributeNormalizerTest } } + + @Test + public void testNormalizeURIs() throws MalformedURLException + { + String testWar = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); + + Resource webresource = Resource.newResource(testWar); + AttributeNormalizer normalizer = new AttributeNormalizer(webresource); + String result = null; + + // Normalize as String path + result = normalizer.normalize(testWar); + assertThat(result, is(testWar)); // only URL, File, URI are supported + + // Normalize as URI + URI testWarURI = new File(testWar).toURI(); + result = normalizer.normalize(testWarURI); + assertThat(result, is("${WAR}")); + + // Normalize as URI + URI subURI = new File(testWar,"WEB-INF/web.xml").toURI(); + result = normalizer.normalize(subURI); + assertThat(result, is("${WAR}/WEB-INF/web.xml")); + + // Normalize fake prefix + URI fakeURI = Resource.newResource(EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOOBAR")).getURI(); + result = normalizer.normalize(fakeURI); + assertThat(result, is(fakeURI.toASCIIString())); + + // Normalize as no host + result = normalizer.normalize("file:"+testWarURI.getRawPath()); + assertThat(result, is("${WAR}")); + + // Normalize as null host + result = normalizer.normalize("file://"+testWarURI.getRawPath()); + assertThat(result, is("${WAR}")); + + // Normalize jar file + result = normalizer.normalize("jar:file:"+testWarURI.getRawPath()+"!/some/path"); + assertThat(result, is("jar:${WAR}!/some/path")); + + } + + @Test public void testNormalizeExpandWAR() throws MalformedURLException { @@ -107,26 +148,7 @@ public class AttributeNormalizerTest result = normalizer.expand(line); uri = URI.create("jar:" + webrefFile.toPath().toUri().toASCIIString() + "!/other/file"); assertThat("expand(\"" + line + "\")", URI.create(result), is(uri)); - } - - @Test - public void testWindowsTLD() throws MalformedURLException - { - // Setup AttributeNormalizer - String webref = "http://localhost/resource/webapps/root"; - Resource webresource = Resource.newResource(webref); - AttributeNormalizer normalizer = new AttributeNormalizer(webresource); - // Setup example from windows - String javaUserHome = System.getProperty("user.home"); - String realUserHome = EnvUtils.toSystemPath(javaUserHome); - String userHome = AttributeNormalizer.uriSeparators(realUserHome); - String path = "jar:file:" + userHome + "/.m2/repository/something/somejar.jar!/META-INF/some.tld"; - String result = normalizer.normalize(path); - assertThat(result, is("jar:file:${user.home}/.m2/repository/something/somejar.jar!/META-INF/some.tld")); - - String expanded = normalizer.expand(result); - assertThat(expanded, not(anyOf(containsString("\\"), containsString("${")))); } } From 8cefaba2a46ff2e84c02abc3b4e1ad924eee4784 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 27 Oct 2016 15:43:12 +0200 Subject: [PATCH 043/109] Allow process() to throw Throwable, which we catch anyway. --- .../main/java/org/eclipse/jetty/util/IteratingCallback.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java b/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java index b04a93d7631..9d7581e4725 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java @@ -156,9 +156,9 @@ public abstract class IteratingCallback implements Callback * * @return the appropriate Action * - * @throws Exception if the sub task processing throws + * @throws Throwable if the sub task processing throws */ - protected abstract Action process() throws Exception; + protected abstract Action process() throws Throwable; /** * Invoked when the overall task has completed successfully. From 8fef113372da84d852e0d1786d775abb34f36e54 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 27 Oct 2016 15:43:41 +0200 Subject: [PATCH 044/109] Fixes #1046 - Improve HTTP2Flusher error report. Now remembering the cause of the termination, and propagating it to other components. --- .../org/eclipse/jetty/http2/HTTP2Flusher.java | 55 ++++++++++--------- .../org/eclipse/jetty/http2/HTTP2Session.java | 8 +-- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java index 7b324cf3f3b..1a3a71a4695 100644 --- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java +++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java @@ -19,7 +19,6 @@ package org.eclipse.jetty.http2; import java.nio.ByteBuffer; -import java.nio.channels.ClosedChannelException; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.HashMap; @@ -47,7 +46,7 @@ public class HTTP2Flusher extends IteratingCallback private final List actives = new ArrayList<>(); private final HTTP2Session session; private final ByteBufferPool.Lease lease; - private boolean terminated; + private Throwable terminated; public HTTP2Flusher(HTTP2Session session) { @@ -57,52 +56,54 @@ public class HTTP2Flusher extends IteratingCallback public void window(IStream stream, WindowUpdateFrame frame) { - boolean closed; + Throwable closed; synchronized (this) { closed = terminated; - if (!closed) + if (closed == null) windows.offer(new WindowEntry(stream, frame)); } // Flush stalled data. - if (!closed) + if (closed == null) iterate(); } public boolean prepend(Entry entry) { - boolean closed; + Throwable closed; synchronized (this) { closed = terminated; - if (!closed) + if (closed == null) { frames.add(0, entry); if (LOG.isDebugEnabled()) LOG.debug("Prepended {}, frames={}", entry, frames.size()); } } - if (closed) - closed(entry, new ClosedChannelException()); - return !closed; + if (closed == null) + return true; + closed(entry, closed); + return false; } public boolean append(Entry entry) { - boolean closed; + Throwable closed; synchronized (this) { closed = terminated; - if (!closed) + if (closed == null) { frames.add(entry); if (LOG.isDebugEnabled()) LOG.debug("Appended {}, frames={}", entry, frames.size()); } } - if (closed) - closed(entry, new ClosedChannelException()); - return !closed; + if (closed == null) + return true; + closed(entry, closed); + return false; } private Entry remove(int index) @@ -122,15 +123,15 @@ public class HTTP2Flusher extends IteratingCallback } @Override - protected Action process() throws Exception + protected Action process() throws Throwable { if (LOG.isDebugEnabled()) LOG.debug("Flushing {}", session); synchronized (this) { - if (terminated) - throw new ClosedChannelException(); + if (terminated != null) + throw terminated; // First thing, update the window sizes, so we can // reason about the frames to remove from the queue. @@ -269,13 +270,13 @@ public class HTTP2Flusher extends IteratingCallback { lease.recycle(); - boolean closed; + Throwable closed; synchronized (this) { closed = terminated; - terminated = true; + terminated = x; if (LOG.isDebugEnabled()) - LOG.debug("{}, active/queued={}/{}", closed ? "Closing" : "Failing", actives.size(), frames.size()); + LOG.debug("{}, active/queued={}/{}", closed != null ? "Closing" : "Failing", actives.size(), frames.size()); actives.addAll(frames); frames.clear(); } @@ -285,21 +286,21 @@ public class HTTP2Flusher extends IteratingCallback // If the failure came from within the // flusher, we need to close the connection. - if (!closed) + if (closed == null) session.abort(x); } - void terminate() + void terminate(Throwable cause) { - boolean closed; + Throwable closed; synchronized (this) { closed = terminated; - terminated = true; + terminated = cause; if (LOG.isDebugEnabled()) - LOG.debug("{}", closed ? "Terminated" : "Terminating"); + LOG.debug("{}", closed != null ? "Terminated" : "Terminating"); } - if (!closed) + if (closed == null) iterate(); } diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java index 6d410b9ff87..b69a9f2f36e 100644 --- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java +++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java @@ -959,7 +959,7 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio endPoint.close(); } - private void terminate() + private void terminate(Throwable cause) { while (true) { @@ -972,7 +972,7 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio { if (closed.compareAndSet(current, CloseState.CLOSED)) { - flusher.terminate(); + flusher.terminate(cause); for (IStream stream : streams.values()) stream.close(); streams.clear(); @@ -992,7 +992,7 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio protected void abort(Throwable failure) { notifyFailure(this, failure); - terminate(); + terminate(failure); } public boolean isDisconnected() @@ -1209,7 +1209,7 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio } case DISCONNECT: { - terminate(); + terminate(new ClosedChannelException()); break; } default: From 5ad8f2a77710c0e973b1fb63412db745b63356b6 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 27 Oct 2016 16:45:12 +0200 Subject: [PATCH 045/109] Guarded against NPE if the channel is not associated with the stream. --- .../http2/server/HTTP2ServerConnection.java | 17 +++++++++++------ .../http2/server/HttpTransportOverHTTP2.java | 3 ++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnection.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnection.java index 1711782fa11..f2a6a9fff28 100644 --- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnection.java +++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnection.java @@ -140,15 +140,18 @@ public class HTTP2ServerConnection extends HTTP2Connection implements Connection if (LOG.isDebugEnabled()) LOG.debug("Processing {} on {}", frame, stream); HttpChannelOverHTTP2 channel = (HttpChannelOverHTTP2)stream.getAttribute(IStream.CHANNEL_ATTRIBUTE); - Runnable task = channel.onRequestContent(frame, callback); - if (task != null) - offerTask(task, false); + if (channel != null) + { + Runnable task = channel.onRequestContent(frame, callback); + if (task != null) + offerTask(task, false); + } } public boolean onStreamTimeout(IStream stream, Throwable failure) { HttpChannelOverHTTP2 channel = (HttpChannelOverHTTP2)stream.getAttribute(IStream.CHANNEL_ATTRIBUTE); - boolean result = channel.onStreamTimeout(failure); + boolean result = channel != null && channel.onStreamTimeout(failure); if (LOG.isDebugEnabled()) LOG.debug("{} idle timeout on {}: {}", result ? "Processed" : "Ignored", stream, failure); return result; @@ -159,7 +162,8 @@ public class HTTP2ServerConnection extends HTTP2Connection implements Connection if (LOG.isDebugEnabled()) LOG.debug("Processing failure on {}: {}", stream, failure); HttpChannelOverHTTP2 channel = (HttpChannelOverHTTP2)stream.getAttribute(IStream.CHANNEL_ATTRIBUTE); - channel.onFailure(failure); + if (channel != null) + channel.onFailure(failure); } public boolean onSessionTimeout(Throwable failure) @@ -169,7 +173,8 @@ public class HTTP2ServerConnection extends HTTP2Connection implements Connection for (Stream stream : session.getStreams()) { HttpChannelOverHTTP2 channel = (HttpChannelOverHTTP2)stream.getAttribute(IStream.CHANNEL_ATTRIBUTE); - result &= !channel.isRequestHandled(); + if (channel != null) + result &= !channel.isRequestHandled(); } if (LOG.isDebugEnabled()) LOG.debug("{} idle timeout on {}: {}", result ? "Processed" : "Ignored", session, failure); diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java index d8b53fa8f64..4e49adc2ee7 100644 --- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java +++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java @@ -215,7 +215,8 @@ public class HttpTransportOverHTTP2 implements HttpTransport // Consume the existing queued data frames to // avoid stalling the session flow control. HttpChannelOverHTTP2 channel = (HttpChannelOverHTTP2)stream.getAttribute(IStream.CHANNEL_ATTRIBUTE); - channel.consumeInput(); + if (channel != null) + channel.consumeInput(); } @Override From bda08ad9e3968d7c7e8bd38d97f97ff5afc243f3 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 27 Oct 2016 17:10:34 +0200 Subject: [PATCH 046/109] Tests can throw any exception. --- .../eclipse/jetty/quickstart/AttributeNormalizerTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 26fc5385e46..f3bb70289c5 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -18,9 +18,6 @@ package org.eclipse.jetty.quickstart; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - import java.io.File; import java.net.MalformedURLException; import java.net.URI; @@ -29,6 +26,9 @@ import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.util.resource.Resource; import org.junit.Test; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + public class AttributeNormalizerTest { @Test @@ -82,7 +82,7 @@ public class AttributeNormalizerTest @Test - public void testNormalizeURIs() throws MalformedURLException + public void testNormalizeURIs() throws Exception { String testWar = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); From a00494fafbcbb2bb7a1710fa2e2d01566ee2e6ac Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 27 Oct 2016 16:15:46 -0700 Subject: [PATCH 047/109] Issue #1038 - updating test case for AttributeNormalizer --- .../quickstart/AttributeNormalizerTest.java | 325 ++++++++++++------ 1 file changed, 216 insertions(+), 109 deletions(-) diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 26fc5385e46..ee78009552b 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -19,136 +19,243 @@ package org.eclipse.jetty.quickstart; import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import java.io.File; -import java.net.MalformedURLException; +import java.io.IOException; import java.net.URI; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.eclipse.jetty.toolchain.test.FS; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; +import org.eclipse.jetty.toolchain.test.OS; import org.eclipse.jetty.util.resource.Resource; +import org.junit.After; +import org.junit.Ignore; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +@RunWith(Parameterized.class) +@Ignore public class AttributeNormalizerTest { - @Test - public void testNormalizeOrder() throws MalformedURLException + @Parameterized.Parameters(name = "[{index}] {0} - {1}") + public static List data() { - String oldJettyHome = System.getProperty("jetty.home"); - String oldJettyBase = System.getProperty("jetty.base"); + List data = new ArrayList<>(); + + String arch = String.format("%s/%s", System.getProperty("os.name"), System.getProperty("os.arch")); - try - { - String testJettyHome = EnvUtils.toSystemPath("/opt/jetty-distro"); - String testJettyBase = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base"); - String testWar = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); - - System.setProperty("jetty.home", testJettyHome); - System.setProperty("jetty.base", testJettyBase); - - Resource webresource = Resource.newResource(testWar); - AttributeNormalizer normalizer = new AttributeNormalizer(webresource); - String result = null; - - // Normalize as String path - result = normalizer.normalize(testWar); - assertThat(result, is(testWar)); // only URL, File, URI are supported - - // Normalize as URI - URI testWarURI = new File(testWar).toURI(); - result = normalizer.normalize(testWarURI); - assertThat(result, is("${WAR}")); - - // Normalize deep path as File - File testWarDeep = new File(new File(testWar), "deep/ref").getAbsoluteFile(); - result = normalizer.normalize(testWarDeep); - assertThat(result, is("${WAR}/deep/ref")); - - // Normalize deep path as String - result = normalizer.normalize(testWarDeep.toString()); - assertThat(result, is(testWarDeep.toString())); - - // Normalize deep path as URI - result = normalizer.normalize(testWarDeep.toURI()); - assertThat(result, is("${WAR}/deep/ref")); - - } - finally - { - EnvUtils.restoreSystemProperty("jetty.home", oldJettyHome); - EnvUtils.restoreSystemProperty("jetty.base", oldJettyBase); - } + String title; + Map env; + + // ------ + title = "Typical Setup"; + + env = new HashMap<>(); + env.put("jetty.home", asTargetPath(title,"jetty-distro")); + env.put("jetty.base", asTargetPath(title,"jetty-distro/demo.base")); + env.put("WAR", asTargetPath(title,"jetty-distro/demo.base/webapps/FOO")); + + data.add(new Object[]{arch, title, env}); + + // ------ + // This puts the jetty.home inside of the jetty.base + title = "Overlap Setup"; + env = new HashMap<>(); + env.put("jetty.home", asTargetPath(title,"app/dist")); + env.put("jetty.base", asTargetPath(title,"app")); + env.put("WAR", asTargetPath(title,"app/webapps/FOO")); + + data.add(new Object[]{arch, title, env}); + + // ------ + // This tests a path scenario often seen on various automatic deployments tooling + // such as Kubernetes, CircleCI, TravisCI, and Jenkins. + title = "Nasty Path Setup"; + env = new HashMap<>(); + env.put("jetty.home", asTargetPath(title,"app%2Fnasty/dist")); + env.put("jetty.base", asTargetPath(title,"app%2Fnasty/base")); + env.put("WAR", asTargetPath(title,"app%2Fnasty/base/webapps/FOO")); + + data.add(new Object[]{arch, title, env}); + return data; } - - @Test - public void testNormalizeURIs() throws MalformedURLException + private static final String asTargetPath(String title, String subpath) { - String testWar = EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOO"); - - Resource webresource = Resource.newResource(testWar); - AttributeNormalizer normalizer = new AttributeNormalizer(webresource); - String result = null; - - // Normalize as String path - result = normalizer.normalize(testWar); - assertThat(result, is(testWar)); // only URL, File, URI are supported - - // Normalize as URI - URI testWarURI = new File(testWar).toURI(); - result = normalizer.normalize(testWarURI); - assertThat(result, is("${WAR}")); - - // Normalize as URI - URI subURI = new File(testWar,"WEB-INF/web.xml").toURI(); - result = normalizer.normalize(subURI); - assertThat(result, is("${WAR}/WEB-INF/web.xml")); - - // Normalize fake prefix - URI fakeURI = Resource.newResource(EnvUtils.toSystemPath("/opt/jetty-distro/demo.base/webapps/FOOBAR")).getURI(); - result = normalizer.normalize(fakeURI); - assertThat(result, is(fakeURI.toASCIIString())); - - // Normalize as no host - result = normalizer.normalize("file:"+testWarURI.getRawPath()); - assertThat(result, is("${WAR}")); - - // Normalize as null host - result = normalizer.normalize("file://"+testWarURI.getRawPath()); - assertThat(result, is("${WAR}")); - - // Normalize jar file - result = normalizer.normalize("jar:file:"+testWarURI.getRawPath()+"!/some/path"); - assertThat(result, is("jar:${WAR}!/some/path")); + Path rootPath = MavenTestingUtils.getTargetTestingPath(title); + FS.ensureDirExists(rootPath); + Path path = rootPath.resolve(OS.separators(subpath)); + FS.ensureDirExists(path); + return path.toString(); } + private Map oldValues = new HashMap<>(); + private final String jettyHome; + private final String jettyBase; + private final String war; + private final String arch; + private final String title; + private final Map env; + private final AttributeNormalizer normalizer; + + public AttributeNormalizerTest(String arch, String title, Map env) throws IOException + { + this.arch = arch; + this.title = title; + this.env = env; + + // Remember old values + env.keySet().stream().forEach((key) -> + { + String old = System.getProperty(key); + oldValues.put(key, old); + }); + + // Grab specific values of interest in general + jettyHome = env.get("jetty.home"); + jettyBase = env.get("jetty.base"); + war = env.get("WAR"); + + // Set environment (skipping null and WAR) + env.entrySet().stream() + .filter((e) -> e.getValue() != null && !e.getKey().equalsIgnoreCase("WAR")) + .forEach((entry) -> System.setProperty(entry.getKey(), entry.getValue())); + + // Setup normalizer + Resource webresource = Resource.newResource(war); + this.normalizer = new AttributeNormalizer(webresource); + } + + @After + public void restoreEnv() + { + // Restore old values + oldValues.entrySet().stream().forEach((entry) -> + EnvUtils.restoreSystemProperty(entry.getKey(), entry.getValue()) + ); + } + + private void assertNormalize(Object o, String expected) + { + String result = normalizer.normalize(o); + assertThat("normalize((" + o.getClass().getSimpleName() + ") " + o.toString() + ")", + result, is(expected)); + } + + private void assertExpandPath(String line, String expected) + { + String result = normalizer.expand(line); + + // Treat output as strings + assertThat("expand('" + line + "')", result, is(expected)); + } + + private void assertExpandURI(String line, URI expected) + { + String result = normalizer.expand(line); + + URI resultURI = URI.create(result); + assertEquals("expand('" + line + "')", expected, resultURI); + } @Test - public void testNormalizeExpandWAR() throws MalformedURLException + public void testNormalizeWarAsString() { - String webref = MavenTestingUtils.getTargetDir().getAbsolutePath() + "/bogus.war"; - Resource webresource = Resource.newResource(webref); - AttributeNormalizer normalizer = new AttributeNormalizer(webresource); - String result = null; - - File webrefFile = new File(webref); - URI uri = webrefFile.toURI(); - // As normal URI ref - result = normalizer.normalize(uri); - assertThat("normalize(" + uri + ")", result, is("${WAR}")); - - // as jar internal resource reference - uri = URI.create("jar:" + webrefFile.toURI().toASCIIString() + "!/deep/ref"); - result = normalizer.normalize(uri); - assertThat("normalize(" + uri + ")", result, is("jar:${WAR}!/deep/ref")); - - // as jar internal resource reference - String line = "jar:${WAR}!/other/file"; - result = normalizer.expand(line); - uri = URI.create("jar:" + webrefFile.toPath().toUri().toASCIIString() + "!/other/file"); - assertThat("expand(\"" + line + "\")", URI.create(result), is(uri)); - - + // Normalize WAR as String path + assertNormalize(war, war); // only URL, File, URI are supported + } + + @Test + public void testNormalizeJettyBaseAsFile() + { + // Normalize jetty.base as File path + assertNormalize(new File(jettyBase), "${jetty.base}"); + } + + @Test + public void testNormalizeJettyHomeAsFile() + { + // Normalize jetty.home as File path + assertNormalize(new File(jettyHome), "${jetty.home}"); + } + + @Test + public void testNormalizeJettyBaseAsURI() + { + // Normalize jetty.base as URI path + assertNormalize(new File(jettyBase).toURI(), "${jetty.base}"); + } + + @Test + public void testNormalizeJettyHomeAsURI() + { + // Normalize jetty.home as URI path + assertNormalize(new File(jettyHome).toURI(), "${jetty.home}"); + } + + @Test + public void testExpandJettyBase() + { + // Expand jetty.base + assertExpandPath("${jetty.base}", jettyBase); + } + + @Test + public void testExpandJettyHome() + { + // Expand jetty.home + assertExpandPath("${jetty.home}", jettyHome); + } + + @Test + public void testNormalizeWarAsURI() + { + // Normalize WAR as URI + URI testWarURI = new File(war).toURI(); + assertNormalize(testWarURI, "${WAR}"); + } + + @Test + public void testNormalizeWarDeepAsFile() + { + // Normalize WAR deep path as File + File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); + assertNormalize(testWarDeep, "${WAR}/deep/ref"); + } + + @Test + public void testNormalizeWarDeepAsString() + { + // Normalize WAR deep path as String + File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); + assertNormalize(testWarDeep.toString(), testWarDeep. + toString()); + } + + @Test + public void testNormalizeWarDeepAsURI() + { + // Normalize WAR deep path as URI + File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); + assertNormalize(testWarDeep.toURI(), "${WAR}/deep/ref"); + } + + @Test + public void testExpandWarDeep() + { + // Expand WAR deep path + File testWarDeep = new File(new File(war), "deep/ref"); + URI uri = URI.create("jar:" + testWarDeep.toURI().toASCIIString() + "!/other/file"); + assertExpandURI("jar:${WAR}/deep/ref!/other/file", uri); } } + From 6e1994641b57459808abcadd41f29808ddf2841b Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Fri, 28 Oct 2016 10:31:22 +1100 Subject: [PATCH 048/109] Issue #1038 Readded sorting of attributes by length added .uri attributes support WAR.path and WAR.uri in preference to WAR updated for latest unit test --- .../jetty/quickstart/AttributeNormalizer.java | 154 ++++++++++++++---- .../quickstart/AttributeNormalizerTest.java | 17 +- 2 files changed, 126 insertions(+), 45 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 3541414b1ba..1ed4f8ccbf2 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -33,13 +33,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Stack; -import java.util.jar.Attributes; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.Stream; -import org.eclipse.jetty.util.URIUtil; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.resource.Resource; @@ -50,10 +47,16 @@ import org.eclipse.jetty.util.resource.Resource; * Replaces and expands: *

    *
  • ${WAR}
  • + *
  • ${WAR.path}
  • + *
  • ${WAR.uri}
  • *
  • ${jetty.base}
  • + *
  • ${jetty.base.uri}
  • *
  • ${jetty.home}
  • + *
  • ${jetty.home.uri}
  • *
  • ${user.home}
  • + *
  • ${user.home.uri}
  • *
  • ${user.dir}
  • + *
  • ${user.dir.uri}
  • *
*/ public class AttributeNormalizer @@ -65,20 +68,40 @@ public class AttributeNormalizer { final String key; final String value; + final int weight; - public Attribute(String key, String value) + public Attribute(String key, String value, int weight) { this.key = key; this.value = value; + this.weight = weight; } } + + private static URI toCanonicalURI(URI uri) + { + uri = uri.normalize(); + String ascii = uri.toASCIIString(); + if (ascii.endsWith("/")) + { + try + { + uri = new URI(ascii.substring(0,ascii.length()-1)); + } + catch(URISyntaxException e) + { + throw new IllegalArgumentException(e); + } + } + return uri; + } private static Path toCanonicalPath(String path) { if (path == null) - { return null; - } + if (path.length()>1 && path.endsWith("/")) + path = path.substring(0,path.length()-1); return toCanonicalPath(FileSystems.getDefault().getPath(path)); } @@ -106,9 +129,9 @@ public class AttributeNormalizer { public final Path path; - public PathAttribute(String key, Path path) + public PathAttribute(String key, Path path, int weight) { - super(key,path.toString()); + super(key,path.toString(),weight); this.path = path; } @@ -123,9 +146,9 @@ public class AttributeNormalizer { public final URI uri; - public URIAttribute(String key, URI uri) + public URIAttribute(String key, URI uri, int weight) { - super(key,uri.toASCIIString()); + super(key,uri.toASCIIString(),weight); this.uri = uri; } @@ -136,37 +159,85 @@ public class AttributeNormalizer } } - private static void addPath(Listpaths,String key) + private static Comparator attrComparator = new Comparator() + { + @Override + public int compare(Attribute o1, Attribute o2) + { + if( (o1.value == null) && (o2.value != null) ) + { + return -1; + } + + if( (o1.value != null) && (o2.value == null) ) + { + return 1; + } + + if( (o1.value == null) && (o2.value == null) ) + { + return 0; + } + + // Different lengths? + int diff = o2.value.length() - o1.value.length(); + if(diff != 0) + { + return diff; + } + + // Different names? + diff = o2.value.compareTo(o1.value); + if(diff != 0) + { + return diff; + } + + // The paths are the same, base now on weight + return o2.weight - o1.weight; + } + }; + + private static void add(Listpaths,List uris,String key,int weight) { String value = System.getProperty(key); if (value!=null) - paths.add(new PathAttribute(key,toCanonicalPath(value))); + { + Path path = toCanonicalPath(value); + paths.add(new PathAttribute(key,path,weight)); + uris.add(new URIAttribute(key+".uri",toCanonicalURI(path.toUri()),weight)); + } } private URI warURI; private Map attributes = new HashMap<>(); private List paths = new ArrayList<>(); private List uris = new ArrayList<>(); - public AttributeNormalizer(Resource baseResource) { if (baseResource==null) throw new IllegalArgumentException("No base resource!"); - warURI = baseResource.getURI().normalize(); + warURI = toCanonicalURI(baseResource.getURI()); if (!warURI.isAbsolute()) throw new IllegalArgumentException("WAR URI is not absolute: " + warURI); - addPath(paths,"jetty.base"); - addPath(paths,"jetty.home"); - addPath(paths,"user.home"); - addPath(paths,"user.dir"); + add(paths,uris,"jetty.base",9); + add(paths,uris,"jetty.home",8); + add(paths,uris,"user.home",7); + add(paths,uris,"user.dir",6); + + if (warURI.getScheme().equalsIgnoreCase("file")) + paths.add(new PathAttribute("WAR.path",toCanonicalPath(new File(warURI).toString()),10)); + uris.add(new URIAttribute("WAR.uri", warURI,9)); // preferred encoding + uris.add(new URIAttribute("WAR", warURI,8)); // legacy encoding - uris.add(new URIAttribute("WAR", warURI)); + Collections.sort(paths,attrComparator); + Collections.sort(uris,attrComparator); Stream.concat(paths.stream(),uris.stream()).forEach(a->attributes.put(a.key,a)); - + if (LOG.isDebugEnabled()) { for (Attribute attr : attributes.values()) @@ -188,12 +259,15 @@ public class AttributeNormalizer { // Find a URI URI uri = null; + Path path = null; if (o instanceof URI) uri = ((URI)o).normalize(); else if (o instanceof URL) uri = ((URL)o).toURI().normalize(); else if (o instanceof File) - uri = ((File)o).toURI().normalize(); + path = ((File)o).getAbsoluteFile().getCanonicalFile().toPath(); + else if (o instanceof Path) + path = (Path)o; else { String s = o.toString(); @@ -216,21 +290,26 @@ public class AttributeNormalizer } } - if ("jar".equalsIgnoreCase(uri.getScheme())) + if (uri!=null) { - String raw = uri.getRawSchemeSpecificPart(); - int bang = raw.indexOf("!/"); - String normal = normalize(raw.substring(0,bang)); - String suffix = raw.substring(bang); - return "jar:" + normal + suffix; - } - else - { - if(uri.isAbsolute()) + if ("jar".equalsIgnoreCase(uri.getScheme())) { - return normalizeUri(uri); + String raw = uri.getRawSchemeSpecificPart(); + int bang = raw.indexOf("!/"); + String normal = normalize(raw.substring(0,bang)); + String suffix = raw.substring(bang); + return "jar:" + normal + suffix; + } + else + { + if(uri.isAbsolute()) + { + return normalizeUri(uri); + } } } + else if (path!=null) + return normalizePath(path); } catch (Exception e) { @@ -239,7 +318,7 @@ public class AttributeNormalizer return String.valueOf(o); } - public String normalizeUri(URI uri) + protected String normalizeUri(URI uri) { for (URIAttribute a : uris) { @@ -276,19 +355,22 @@ public class AttributeNormalizer return uri.toASCIIString(); } - public String normalizePath(Path path) + protected String normalizePath(Path path) { for (PathAttribute a : paths) { try { - if (path.startsWith(a.path) || path.equals(a.path) || Files.isSameFile(path,a.path)) - return String.format("${%s}%s",a.key,a.path.relativize(path).toString()); + if (path.equals(a.path) || Files.isSameFile(path,a.path)) + return String.format("${%s}",a.key); } catch (IOException ignore) { LOG.ignore(ignore); } + + if (path.startsWith(a.path)) + return String.format("${%s}/%s",a.key,a.path.relativize(path).toString()); } return path.toString(); diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index ee78009552b..89da303bab8 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -36,13 +36,11 @@ import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.OS; import org.eclipse.jetty.util.resource.Resource; import org.junit.After; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @RunWith(Parameterized.class) -@Ignore public class AttributeNormalizerTest { @Parameterized.Parameters(name = "[{index}] {0} - {1}") @@ -164,7 +162,8 @@ public class AttributeNormalizerTest String result = normalizer.expand(line); URI resultURI = URI.create(result); - assertEquals("expand('" + line + "')", expected, resultURI); + assertThat("expand('" + line + "')", resultURI.getScheme(), is(expected.getScheme())); + assertThat("expand('" + line + "')", resultURI.getPath(), is(expected.getPath())); } @Test @@ -192,14 +191,14 @@ public class AttributeNormalizerTest public void testNormalizeJettyBaseAsURI() { // Normalize jetty.base as URI path - assertNormalize(new File(jettyBase).toURI(), "${jetty.base}"); + assertNormalize(new File(jettyBase).toURI(), "${jetty.base.uri}/"); } @Test public void testNormalizeJettyHomeAsURI() { // Normalize jetty.home as URI path - assertNormalize(new File(jettyHome).toURI(), "${jetty.home}"); + assertNormalize(new File(jettyHome).toURI(), "${jetty.home.uri}/"); } @Test @@ -221,7 +220,7 @@ public class AttributeNormalizerTest { // Normalize WAR as URI URI testWarURI = new File(war).toURI(); - assertNormalize(testWarURI, "${WAR}"); + assertNormalize(testWarURI, "${WAR.uri}/"); } @Test @@ -229,7 +228,7 @@ public class AttributeNormalizerTest { // Normalize WAR deep path as File File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); - assertNormalize(testWarDeep, "${WAR}/deep/ref"); + assertNormalize(testWarDeep, "${WAR.path}/deep/ref"); } @Test @@ -246,7 +245,7 @@ public class AttributeNormalizerTest { // Normalize WAR deep path as URI File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); - assertNormalize(testWarDeep.toURI(), "${WAR}/deep/ref"); + assertNormalize(testWarDeep.toURI(), "${WAR.uri}/deep/ref"); } @Test @@ -255,7 +254,7 @@ public class AttributeNormalizerTest // Expand WAR deep path File testWarDeep = new File(new File(war), "deep/ref"); URI uri = URI.create("jar:" + testWarDeep.toURI().toASCIIString() + "!/other/file"); - assertExpandURI("jar:${WAR}/deep/ref!/other/file", uri); + assertExpandURI("jar:${WAR.uri}/deep/ref!/other/file", uri); } } From cdf447e34e9add05be9fd4c3d2e47421e4f12046 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 27 Oct 2016 16:43:23 -0700 Subject: [PATCH 049/109] Issue #1038 - making testcase more OS independent --- .../jetty/quickstart/AttributeNormalizerTest.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index 89da303bab8..aeeff47b9b6 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -19,7 +19,6 @@ package org.eclipse.jetty.quickstart; import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import java.io.File; @@ -227,7 +226,7 @@ public class AttributeNormalizerTest public void testNormalizeWarDeepAsFile() { // Normalize WAR deep path as File - File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); + File testWarDeep = new File(new File(war), OS.separators("deep/ref")).getAbsoluteFile(); assertNormalize(testWarDeep, "${WAR.path}/deep/ref"); } @@ -235,16 +234,15 @@ public class AttributeNormalizerTest public void testNormalizeWarDeepAsString() { // Normalize WAR deep path as String - File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); - assertNormalize(testWarDeep.toString(), testWarDeep. - toString()); + File testWarDeep = new File(new File(war), OS.separators("deep/ref")).getAbsoluteFile(); + assertNormalize(testWarDeep.toString(), testWarDeep.toString()); } @Test public void testNormalizeWarDeepAsURI() { // Normalize WAR deep path as URI - File testWarDeep = new File(new File(war), "deep/ref").getAbsoluteFile(); + File testWarDeep = new File(new File(war), OS.separators("deep/ref")).getAbsoluteFile(); assertNormalize(testWarDeep.toURI(), "${WAR.uri}/deep/ref"); } @@ -252,7 +250,7 @@ public class AttributeNormalizerTest public void testExpandWarDeep() { // Expand WAR deep path - File testWarDeep = new File(new File(war), "deep/ref"); + File testWarDeep = new File(new File(war), OS.separators("deep/ref")); URI uri = URI.create("jar:" + testWarDeep.toURI().toASCIIString() + "!/other/file"); assertExpandURI("jar:${WAR.uri}/deep/ref!/other/file", uri); } From 9f430ae7f7f7bd7f6a7a2c0f7d2cc7cdfe9238a1 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Fri, 28 Oct 2016 10:50:39 +1100 Subject: [PATCH 050/109] Issue #1038 i Handle resources as URIs Avoid unneccessary trailing / --- .../org/eclipse/jetty/quickstart/AttributeNormalizer.java | 6 ++++-- .../jetty/quickstart/QuickStartDescriptorGenerator.java | 2 +- .../eclipse/jetty/quickstart/AttributeNormalizerTest.java | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java index 1ed4f8ccbf2..f7e6fd53d82 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/AttributeNormalizer.java @@ -261,9 +261,11 @@ public class AttributeNormalizer URI uri = null; Path path = null; if (o instanceof URI) - uri = ((URI)o).normalize(); + uri = toCanonicalURI(((URI)o)); + else if (o instanceof Resource) + uri = toCanonicalURI(((Resource)o).getURI()); else if (o instanceof URL) - uri = ((URL)o).toURI().normalize(); + uri = toCanonicalURI(((URL)o).toURI()); else if (o instanceof File) path = ((File)o).getAbsoluteFile().getCanonicalFile().toPath(); else if (o instanceof Path) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java index 34c401222a6..1967348aff1 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java @@ -555,7 +555,7 @@ public class QuickStartDescriptorGenerator Object o = _webApp.getAttribute(attribute); if (o == null) return; - + Collection c = (o instanceof Collection)? (Collection)o:Collections.singletonList(o); StringBuilder v=new StringBuilder(); for (Object i:c) diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java index aeeff47b9b6..e5c6a3e9890 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/AttributeNormalizerTest.java @@ -190,14 +190,14 @@ public class AttributeNormalizerTest public void testNormalizeJettyBaseAsURI() { // Normalize jetty.base as URI path - assertNormalize(new File(jettyBase).toURI(), "${jetty.base.uri}/"); + assertNormalize(new File(jettyBase).toURI(), "${jetty.base.uri}"); } @Test public void testNormalizeJettyHomeAsURI() { // Normalize jetty.home as URI path - assertNormalize(new File(jettyHome).toURI(), "${jetty.home.uri}/"); + assertNormalize(new File(jettyHome).toURI(), "${jetty.home.uri}"); } @Test @@ -219,7 +219,7 @@ public class AttributeNormalizerTest { // Normalize WAR as URI URI testWarURI = new File(war).toURI(); - assertNormalize(testWarURI, "${WAR.uri}/"); + assertNormalize(testWarURI, "${WAR.uri}"); } @Test From 6f6ccdf061dc8148774fe3e56cf7b346113649fe Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 28 Oct 2016 14:39:49 +1100 Subject: [PATCH 051/109] 480764 Add extra tests for empty multipart. --- .../jetty/servlets/MultipartFilterTest.java | 75 +++++++++++++++++++ .../jetty/util/MultiPartInputStreamTest.java | 58 +++++++++++++- 2 files changed, 129 insertions(+), 4 deletions(-) diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java index 7b5db490119..41bb58e0d0b 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java @@ -64,6 +64,17 @@ public class MultipartFilterTest private ServletTester tester; FilterHolder multipartFilter; + + public static class NullServlet extends HttpServlet + { + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.setStatus(200); + } + + } + public static class FilenameServlet extends TestServlet { @Override @@ -143,6 +154,70 @@ public class MultipartFilterTest tester.stop(); tester=null; } + + @Test + public void testFinalBoundaryOnly() throws Exception + { + + tester.addServlet(NullServlet.class,"/null"); + HttpTester.Request request = HttpTester.newRequest(); + HttpTester.Response response; + + // test GET + request.setMethod("POST"); + request.setVersion("HTTP/1.0"); + request.setHeader("Host","tester"); + request.setURI("/context/null"); + + String delimiter = "\r\n"; + final String boundary = "MockMultiPartTestBoundary"; + String content = + delimiter + + "Hello world" + + delimiter + // Two delimiter markers, which make an empty line. + delimiter + + "--" + boundary + "--" + delimiter; + + request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); + request.setContent(content); + + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + { + response = HttpTester.parseResponse(tester.getResponses(request.generate())); + assertEquals(HttpServletResponse.SC_OK,response.getStatus()); + } + } + + @Test + public void testEmpty() throws Exception + { + + tester.addServlet(NullServlet.class,"/null"); + + HttpTester.Request request = HttpTester.newRequest(); + HttpTester.Response response; + + // test GET + request.setMethod("POST"); + request.setVersion("HTTP/1.0"); + request.setHeader("Host","tester"); + request.setURI("/context/null"); + + String delimiter = "\r\n"; + final String boundary = "MockMultiPartTestBoundary"; + String content = + delimiter + + "--" + boundary + "--" + delimiter; + + request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); + request.setContent(content); + + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + { + response = HttpTester.parseResponse(tester.getResponses(request.generate())); + assertEquals(HttpServletResponse.SC_OK,response.getStatus()); + } + } @Test public void testBadPost() throws Exception diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java index e9ed42aa745..5496450243f 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java @@ -63,6 +63,7 @@ public class MultiPartInputStreamTest _tmpDir.deleteOnExit(); } + @Test public void testBadMultiPartRequest() throws Exception { @@ -72,12 +73,12 @@ public class MultiPartInputStreamTest "Content-Type: application/octet-stream\r\n\r\n"+ "How now brown cow."+ "\r\n--" + boundary + "-\r\n\r\n"; - + MultipartConfigElement config = new MultipartConfigElement(_dirname, 1024, 3072, 50); MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(new ByteArrayInputStream(str.getBytes()), - "multipart/form-data, boundary="+boundary, - config, - _tmpDir); + "multipart/form-data, boundary="+boundary, + config, + _tmpDir); mpis.setDeleteOnExit(true); try { @@ -90,7 +91,56 @@ public class MultiPartInputStreamTest } } + + @Test + public void testFinalBoundaryOnly() + throws Exception + { + String delimiter = "\r\n"; + final String boundary = "MockMultiPartTestBoundary"; + + + // Malformed multipart request body containing only an arbitrary string of text, followed by the final boundary marker, delimited by empty lines. + String str = + delimiter + + "Hello world" + + delimiter + // Two delimiter markers, which make an empty line. + delimiter + + "--" + boundary + "--" + delimiter; + + MultipartConfigElement config = new MultipartConfigElement(_dirname, 1024, 3072, 50); + MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(new ByteArrayInputStream(str.getBytes()), + "multipart/form-data, boundary="+boundary, + config, + _tmpDir); + mpis.setDeleteOnExit(true); + Collection parts = mpis.getParts(); + assertTrue(mpis.getParts().isEmpty()); + } + + + @Test + public void testEmpty() + throws Exception + { + String delimiter = "\r\n"; + final String boundary = "MockMultiPartTestBoundary"; + + String str = + delimiter + + "--" + boundary + "--" + delimiter; + + MultipartConfigElement config = new MultipartConfigElement(_dirname, 1024, 3072, 50); + MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(new ByteArrayInputStream(str.getBytes()), + "multipart/form-data, boundary="+boundary, + config, + _tmpDir); + mpis.setDeleteOnExit(true); + assertTrue(mpis.getParts().isEmpty()); + } + + @Test public void testNoBoundaryRequest() throws Exception { From 96804627eed71c5e929da7485ee97351cdd9d77b Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 28 Oct 2016 14:54:40 +1100 Subject: [PATCH 052/109] 480764 Suppress stacks in multipart filter tests --- .../jetty/servlets/MultipartFilterTest.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java index 41bb58e0d0b..9384ff63fd4 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java @@ -45,6 +45,7 @@ import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.MimeTypes; +import org.eclipse.jetty.server.HttpChannel; import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.servlet.ServletTester; @@ -181,7 +182,7 @@ public class MultipartFilterTest request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); request.setContent(content); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_OK,response.getStatus()); @@ -212,7 +213,7 @@ public class MultipartFilterTest request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); request.setContent(content); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_OK,response.getStatus()); @@ -245,7 +246,7 @@ public class MultipartFilterTest request.setContent(content); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class);) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,response.getStatus()); @@ -698,7 +699,7 @@ public class MultipartFilterTest request.setURI("/context/dump"); request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, response.getStatus()); @@ -723,7 +724,7 @@ public class MultipartFilterTest request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); request.setContent(whitespace); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, response.getStatus()); @@ -749,7 +750,7 @@ public class MultipartFilterTest request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); request.setContent(whitespace); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, response.getStatus()); @@ -880,7 +881,7 @@ public class MultipartFilterTest } request.setContent(baos.toString()); - try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class, HttpChannel.class)) { response = HttpTester.parseResponse(tester.getResponses(request.generate())); assertTrue(response.getContent().contains("Buffer size exceeded")); From 3e4f7b1fbf5e11ac93b7b262ca59ecf3e4fad14c Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Fri, 28 Oct 2016 15:07:24 +1100 Subject: [PATCH 053/109] Issue #1045 abort connections with non matching content-length --- .../fcgi/server/HttpTransportOverFCGI.java | 8 ++ .../jetty/fcgi/server/HttpClientTest.java | 2 +- .../eclipse/jetty/proxy/ProxyServletTest.java | 17 ++- .../org/eclipse/jetty/server/HttpChannel.java | 4 +- .../eclipse/jetty/server/HttpConnection.java | 2 + .../org/eclipse/jetty/server/HttpOutput.java | 4 + .../org/eclipse/jetty/server/Response.java | 15 ++- .../jetty/server/AbstractHttpTest.java | 1 + .../server/HttpManyWaysToCommitTest.java | 66 +++++++++++ .../jetty/http/client/AsyncIOServletTest.java | 108 +++++++++++++++++- 10 files changed, 216 insertions(+), 11 deletions(-) diff --git a/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/HttpTransportOverFCGI.java b/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/HttpTransportOverFCGI.java index 65e1712d841..9bb82f80941 100644 --- a/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/HttpTransportOverFCGI.java +++ b/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/HttpTransportOverFCGI.java @@ -30,9 +30,12 @@ import org.eclipse.jetty.io.ByteBufferPool; import org.eclipse.jetty.server.HttpTransport; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.Callback; +import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; public class HttpTransportOverFCGI implements HttpTransport { + private static final Logger LOG = Log.getLogger(HttpTransportOverFCGI.class); private final ServerGenerator generator; private final Flusher flusher; private final int request; @@ -97,6 +100,8 @@ public class HttpTransportOverFCGI implements HttpTransport private void commit(MetaData.Response info, boolean head, ByteBuffer content, boolean lastContent, Callback callback) { + if (LOG.isDebugEnabled()) + LOG.debug("commit {} {} l={}",this,info,lastContent); boolean shutdown = this.shutdown = info.getFields().contains(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()); if (head) @@ -137,7 +142,10 @@ public class HttpTransportOverFCGI implements HttpTransport @Override public void abort(Throwable failure) { + if (LOG.isDebugEnabled()) + LOG.debug("abort {} {}",this,failure); aborted = true; + flusher.shutdown(); } @Override diff --git a/jetty-fcgi/fcgi-server/src/test/java/org/eclipse/jetty/fcgi/server/HttpClientTest.java b/jetty-fcgi/fcgi-server/src/test/java/org/eclipse/jetty/fcgi/server/HttpClientTest.java index 5bf58b4ef9e..ec650db38ee 100644 --- a/jetty-fcgi/fcgi-server/src/test/java/org/eclipse/jetty/fcgi/server/HttpClientTest.java +++ b/jetty-fcgi/fcgi-server/src/test/java/org/eclipse/jetty/fcgi/server/HttpClientTest.java @@ -608,7 +608,7 @@ public class HttpClientTest extends AbstractHttpClientServerTest { client.newRequest("localhost", connector.getLocalPort()) .scheme(scheme) - .timeout(5, TimeUnit.SECONDS) + .timeout(60, TimeUnit.SECONDS) .send(); Assert.fail(); } diff --git a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java index 3415c883d71..f25f0da7b89 100644 --- a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java +++ b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java @@ -931,9 +931,10 @@ public class ProxyServletTest Assert.assertArrayEquals(content, response.getContent()); } - @Test(expected = TimeoutException.class) + @Test public void testWrongContentLength() throws Exception { + startServer(new HttpServlet() { @Override @@ -948,11 +949,17 @@ public class ProxyServletTest startProxy(); startClient(); - client.newRequest("localhost", serverConnector.getLocalPort()) - .timeout(1, TimeUnit.SECONDS) + try + { + ContentResponse response = client.newRequest("localhost", serverConnector.getLocalPort()) + .timeout(5, TimeUnit.SECONDS) .send(); - - Assert.fail(); + Assert.assertThat(response.getStatus(),Matchers.greaterThanOrEqualTo(500)); + } + catch(ExecutionException e) + { + Assert.assertThat(e.getCause(),Matchers.instanceOf(IOException.class)); + } } @Test diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java index 1cbab46613b..daf1d28888c 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java @@ -402,10 +402,12 @@ public class HttpChannel implements Runnable, HttpOutput.Interceptor { if (!_response.isCommitted() && !_request.isHandled()) _response.sendError(HttpStatus.NOT_FOUND_404); + else if (!_response.isContentComplete(_response.getHttpOutput().getWritten())) + _transport.abort(new IOException("insufficient content written")); _response.closeOutput(); _request.setHandled(true); - _state.onComplete(); + _state.onComplete(); onCompleted(); diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java index af6a11163a2..f963f3078ae 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java @@ -527,6 +527,8 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http @Override public void abort(Throwable failure) { + if (LOG.isDebugEnabled()) + LOG.debug("abort {} {}",this,failure); // Do a direct close of the output, as this may indicate to a client that the // response is bad either with RST or by abnormal completion of chunked response. getEndPoint().close(); diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java index 9d1ec89924b..ae37af5f13a 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java @@ -685,6 +685,7 @@ public class HttpOutput extends ServletOutputStream implements Runnable if (LOG.isDebugEnabled()) LOG.debug("sendContent({})", BufferUtil.toDetailString(content)); + _written += content.remaining(); write(content, true); closed(); } @@ -766,6 +767,7 @@ public class HttpOutput extends ServletOutputStream implements Runnable if (LOG.isDebugEnabled()) LOG.debug("sendContent(buffer={},{})", BufferUtil.toDetailString(content), callback); + _written += content.remaining(); write(content, true, new Callback.Nested(callback) { @Override @@ -1280,6 +1282,7 @@ public class HttpOutput extends ServletOutputStream implements Runnable // write what we have _buffer.position(0); _buffer.limit(len); + _written += len; write(_buffer, _eof, this); return Action.SCHEDULED; } @@ -1338,6 +1341,7 @@ public class HttpOutput extends ServletOutputStream implements Runnable // write what we have BufferUtil.flipToFlush(_buffer, 0); + _written += _buffer.remaining(); write(_buffer, _eof, this); return Action.SCHEDULED; diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java index f3c30f1ee8a..71f96a95f0c 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java @@ -879,13 +879,13 @@ public class Response implements HttpServletResponse if (isCommitted() || isIncluding()) return; - _contentLength = len; - if (_contentLength > 0) + if (len>0) { long written = _out.getWritten(); if (written > len) throw new IllegalArgumentException("setContentLength(" + len + ") when already written " + written); + _contentLength = len; _fields.putLongField(HttpHeader.CONTENT_LENGTH, len); if (isAllContentWritten(written)) { @@ -899,15 +899,19 @@ public class Response implements HttpServletResponse } } } - else if (_contentLength==0) + else if (len==0) { long written = _out.getWritten(); if (written > 0) throw new IllegalArgumentException("setContentLength(0) when already written " + written); + _contentLength = len; _fields.put(HttpHeader.CONTENT_LENGTH, "0"); } else + { + _contentLength = len; _fields.remove(HttpHeader.CONTENT_LENGTH); + } } public long getContentLength() @@ -919,6 +923,11 @@ public class Response implements HttpServletResponse { return (_contentLength >= 0 && written >= _contentLength); } + + public boolean isContentComplete(long written) + { + return (_contentLength < 0 || written >= _contentLength); + } public void closeOutput() throws IOException { diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java index 95677401cde..3ddabdbb687 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java @@ -98,6 +98,7 @@ public abstract class AbstractHttpTest writer.write("\r\n"); writer.flush(); + // TODO replace the SimpleHttp stuff SimpleHttpResponse response = httpParser.readResponse(reader); if ("HTTP/1.1".equals(httpVersion) && response.getHeaders().get("content-length") == null diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java index fd4950a18b4..5de23f6ff9e 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java @@ -22,6 +22,7 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; +import java.io.EOFException; import java.io.IOException; import java.util.Arrays; import java.util.Collection; @@ -31,7 +32,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.HttpVersion; +import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; +import org.hamcrest.Matchers; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -418,6 +421,50 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } } + @Test + public void testSetContentLengthFlushAndWriteInsufficientBytes() throws Exception + { + server.setHandler(new SetContentLengthAndWriteInsufficientBytesHandler(true)); + server.start(); + try + { + // TODO This test is compromised by the SimpleHttpResponse mechanism. + // Replace with a better client + + SimpleHttpResponse response = executeRequest(); + String failed_body = ""+(char)-1+(char)-1+(char)-1; + assertThat("response code is 200", response.getCode(), is("200")); + assertThat(response.getBody(), Matchers.endsWith(failed_body)); + assertHeader(response, "content-length", "6"); + } + catch(EOFException e) + { + // possible good response + } + } + + @Test + public void testSetContentLengthAndWriteInsufficientBytes() throws Exception + { + server.setHandler(new SetContentLengthAndWriteInsufficientBytesHandler(false)); + server.start(); + + try + { + // TODO This test is compromised by the SimpleHttpResponse mechanism. + // Replace with a better client + SimpleHttpResponse response = executeRequest(); + String failed_body = ""+(char)-1+(char)-1+(char)-1; + assertThat("response code is 200", response.getCode(), is("200")); + assertThat(response.getBody(), Matchers.endsWith(failed_body)); + assertHeader(response, "content-length", "6"); + } + catch(EOFException e) + { + // expected + } + } + @Test public void testSetContentLengthAndWriteExactlyThatAmountOfBytes() throws Exception { @@ -444,6 +491,25 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest assertThat("response body is foo", response.getBody(), is("foo")); } + private class SetContentLengthAndWriteInsufficientBytesHandler extends AbstractHandler + { + boolean flush; + private SetContentLengthAndWriteInsufficientBytesHandler(boolean flush) + { + this.flush = flush; + } + + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + response.setContentLength(6); + if (flush) + response.flushBuffer(); + response.getWriter().write("foo"); + } + } + private class SetContentLengthAndWriteThatAmountOfBytesHandler extends ThrowExceptionOnDemandHandler { private SetContentLengthAndWriteThatAmountOfBytesHandler(boolean throwException) diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java index 1110eac8f64..941294b019e 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java @@ -471,6 +471,112 @@ public class AsyncIOServletTest extends AbstractTest assertTrue(clientLatch.await(5, TimeUnit.SECONDS)); } + @Test + public void testAsyncWriteLessThanContentLengthFlushed() throws Exception + { + CountDownLatch complete = new CountDownLatch(1); + start(new HttpServlet() + { + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException + { + response.setContentLength(10); + + AsyncContext async = request.startAsync(); + ServletOutputStream out = response.getOutputStream(); + AtomicInteger state = new AtomicInteger(0); + + out.setWriteListener(new WriteListener() + { + @Override + public void onWritePossible() throws IOException + { + while(true) + { + if (!out.isReady()) + return; + + switch(state.get()) + { + case 0: + state.incrementAndGet(); + WriteListener listener = this; + new Thread(()-> + { + try + { + Thread.sleep(50); + listener.onWritePossible(); + } + catch(Exception e) + {} + }).start(); + return; + + case 1: + state.incrementAndGet(); + out.flush(); + break; + + case 2: + state.incrementAndGet(); + out.write("12345".getBytes()); + break; + + case 3: + async.complete(); + complete.countDown(); + return; + } + } + } + + @Override + public void onError(Throwable t) + { + } + }); + } + }); + + AtomicBoolean failed = new AtomicBoolean(false); + CountDownLatch clientLatch = new CountDownLatch(3); + client.newRequest(newURI()) + .path(servletPath) + .onResponseHeaders(response -> + { + if (response.getStatus() == HttpStatus.OK_200) + clientLatch.countDown(); + }) + .onResponseContent(new Response.ContentListener() + { + @Override + public void onContent(Response response, ByteBuffer content) + { + // System.err.println("Content: "+BufferUtil.toDetailString(content)); + } + }) + .onResponseFailure(new Response.FailureListener() + { + @Override + public void onFailure(Response response, Throwable failure) + { + clientLatch.countDown(); + } + }) + .send(result -> + { + failed.set(result.isFailed()); + clientLatch.countDown(); + clientLatch.countDown(); + clientLatch.countDown(); + }); + + assertTrue(complete.await(10, TimeUnit.SECONDS)); + assertTrue(clientLatch.await(10, TimeUnit.SECONDS)); + assertTrue(failed.get()); + } + @Test public void testIsReadyAtEOF() throws Exception { @@ -979,7 +1085,7 @@ public class AsyncIOServletTest extends AbstractTest while (input.isReady() && !input.isFinished()) { int read = input.read(); - System.err.printf("%x%n", read); + // System.err.printf("%x%n", read); readLatch.countDown(); } } From e7ce13d1954f28e57b84be4f345f1a0de21c9b53 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 28 Oct 2016 16:50:11 +1100 Subject: [PATCH 054/109] Doc on upgrading 9.3 to 9.4 --- .../upgrading/upgrading-9.3-to-9.4.adoc | 90 ++++++++++++++++++- 1 file changed, 87 insertions(+), 3 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc index f0b73c0e280..d113334d24c 100644 --- a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc @@ -32,7 +32,7 @@ You can safely replace Jetty 9.3's `jetty.sh` with 9.4's. | `logging` | `console-capture` | `infinispan` | `session-store-infinispan-embedded` or `session-store-infinispan-remote` | `jdbc-sessions` | `session-store-jdbc` -| `gcloud-memcached-sessions`, `gcloud-session-idmgr` and `gcloud-sessions` | `gcloud`, `gcloud-datastore` and `session-store-gcloud` +| `gcloud-memcached-sessions`, `gcloud-session-idmgr` and `gcloud-sessions` | `session-store-gcloud` and `session-store-cache` | `nosql` | `session-store-mongo` |=== @@ -88,8 +88,92 @@ For information on logging modules in the Jetty 9.4 architecture please see the //TODO - More info. -Session management received a significant overhaul in Jetty 9.4. Whereas in prior versions of Jetty uses needed to implement individual instances of both `SessionIdManager` and `SessionManager`, now one instance of both handles sessions for the server. +Session management received a significant overhaul in Jetty 9.4. +Session functionality has been refactored to promote code-reuse, easier configuration and easier customization. +Whereas previously users needed to edit xml configuration files, in Jetty 9.4 all session behaviour is controlled by properties that are exposed by the various session modules. +Users now configure session management by selecting a composition of session modules. + +====== Change Overview + +SessionIdManager:: Previously there was a different class of SessionIdManager - with different configuration options - depending upon which type of clustering technology chosen. +In Jetty 9.4, there is only one type, the link:{JDURL}/org/eclipse/jetty/server/session/DefaultSessionIdManager.html[org.eclipse.jetty.server.session.DfeaultSessionIdManager]. + +SessionManager:: Previously, there was a different class of SessionManager depending upon which the type of clustering technology chosen. +In Jetty 9.4 we have removed the SessionManager class and split its functionality into different, more easily extensible and composable classes: +General setters::: +All of the common setup of sessions such as the maxInactiveInterval and session cookie-related configuration has been moved to the link:{JDURL}/org/eclipse/jetty/server/session/SessionHandler.html[org.eclipse.jetty.server.session.SessionHandler] +[cols="1,1", options="header"] +|=== +| 9.3 SessionManager | 9.4 SessionHandler +| setMaxInactiveInterval(sec) | setMaxInactiveInterval(sec) +| setSessionCookie(String) | setSessionCookie(String) +| setRefreshCookieAge(sec) | setRefreshCookieAge(sec) +| setSecureRequestOnly(boolean) | setSecureRequestOnly(boolean +| setSessionIdPathParameterName(String) | setSessionIdPathParameterName(String) +| setSessionTrackingModes(Set) | setSessionTrackingModes(Set) +| setHttpOnly(boolean) | setHttpOnly(boolean) +| setUsingCookies(boolean) | setUsingCookies(boolean) +| setCheckingRemoteSessionIdEncoding(boolean) | setCheckingRemoteSessionIdEncoding(boolean) +|=== + +Persistence::: +In Jetty 9.3 SessionManagers (and sometimes SessionIdManagers) implemented the persistence mechanism. +In Jetty 9.4 we have moved this functionality into the link:{JDURL}/org/eclipse/jetty/server/session/SessionDataStore.html[org.eclipse.jetty.server.session.SessionDataStore]. + +Session cache::: +In Jetty 9.3 the SessionManager held a map of session objects in memory. +In Jetty 9.4 this has been moved into the new link:{JDURL}/org/eclipse/jetty/server/session/SessionCache.html[org.eclipse.jetty.server.session.SessionCache] interface. -As part of these changes, modules for individual technologies were re-named to make configuration more transparent. For more information, please refer to the documentation on link:#jetty-sessions-architecture[Jetty Session Architecture.] + +====== Default + +As with earlier versions of jetty, if you do not explicitly configure any session modules, the default session infrastructure will be enabled. +In previous versions of jetty this was referred to as "hash" session management. +The new default provides similar features to the old hash session management: + * a session scavenger thread that runs every 10mins and removes expired sessions + * a session id manager that generates unique session ids and handles session id sharing during context forwarding + * an in-memory cache of session objects. +Requests for the same session in the same context share the same session object. +Session objects remain in the cache until they expire or are explicitly invalidated. + +If you wish to configure the default setup further, enable the `session-cache-default` module. + + +====== Filesystem + +In earlier versions of jetty, persisting sessions to the local filesystem was an option of the "hash" session manager. +In jetty-9.4 this has been refactored to its own configurable module `session-store-file`. + + +====== JDBC + +As with earlier versions of jetty, sessions may be persisted to a relational database. +Enable the `session-store-jdbc` module. + + +====== NoSQL + +As with earlier versions of jetty, sessions may be persisted to a document database. +Jetty supports the Mongo document database. +Enable the `session-store-mongo` module. + + +====== Infinispan + +As with earlier versions of jetty, sessions may be clustered via Infinispan to either an in-process or remote infinispan instance. +Enable the `session-store-infinispan` module. + + +====== GCloud Datastore + +As with earlier versions of jetty, sessions may be persisted to Google's GCloud Datastore. +Enable the `session-store-gcloud` module. + + +====== GCloud Datastore with Memcached + +As with earlier versions of jetty, sessions can be both persisted to Google's GCloud Datastore, and cached into Memcached for faster access. +Enable the `session-store-gcloud` and `session-store-cache` modules. + From 206122756f8988cf9e5abf4a4b4da83a3a562e07 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 28 Oct 2016 12:01:39 +0200 Subject: [PATCH 055/109] Fixes #1037 - Don't execute AsyncListener.onTimeout events in spare Scheduler-Thread. Now calling onTimeout() from pooled threads. Restored AsyncListener test cases. --- .../jetty/server/AsyncContextEvent.java | 3 +- .../jetty/server/HttpChannelState.java | 8 +- .../jetty/servlet/AsyncListenerTest.java | 733 ++++-------------- 3 files changed, 174 insertions(+), 570 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/AsyncContextEvent.java b/jetty-server/src/main/java/org/eclipse/jetty/server/AsyncContextEvent.java index 32d46586c3e..a46d648dc7a 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/AsyncContextEvent.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/AsyncContextEvent.java @@ -27,7 +27,6 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.eclipse.jetty.server.handler.ContextHandler.Context; -import org.eclipse.jetty.util.URIUtil; import org.eclipse.jetty.util.thread.Scheduler; public class AsyncContextEvent extends AsyncEvent implements Runnable @@ -162,7 +161,7 @@ public class AsyncContextEvent extends AsyncEvent implements Runnable Scheduler.Task task=_timeoutTask; _timeoutTask=null; if (task!=null) - _state.onTimeout(); + _state.getHttpChannel().execute(() -> _state.onTimeout()); } public void addThrowable(Throwable e) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelState.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelState.java index 9f8fa19adad..0abe3df0723 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelState.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannelState.java @@ -282,7 +282,7 @@ public class HttpChannelState { listener.onStartAsync(event); } - catch(Exception e) + catch(Throwable e) { // TODO Async Dispatch Error LOG.warn(e); @@ -540,7 +540,7 @@ public class HttpChannelState { listener.onTimeout(event); } - catch(Exception e) + catch(Throwable e) { LOG.debug(e); event.addThrowable(e); @@ -671,7 +671,7 @@ public class HttpChannelState { listener.onError(event); } - catch(Exception x) + catch(Throwable x) { LOG.info("Exception while invoking listener " + listener, x); } @@ -716,7 +716,7 @@ public class HttpChannelState { listener.onComplete(event); } - catch(Exception e) + catch(Throwable e) { LOG.warn(e); } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncListenerTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncListenerTest.java index d992d3e97ed..c37bfc9b786 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncListenerTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncListenerTest.java @@ -18,631 +18,236 @@ package org.eclipse.jetty.servlet; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; - import java.io.IOException; -import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; -import java.util.EnumSet; -import java.util.LinkedList; -import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import javax.servlet.AsyncContext; import javax.servlet.AsyncEvent; import javax.servlet.AsyncListener; -import javax.servlet.DispatcherType; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.http.HttpTester; +import org.eclipse.jetty.server.HttpChannel; +import org.eclipse.jetty.server.HttpChannelState; import org.eclipse.jetty.server.LocalConnector; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.junit.Ignore; +import org.eclipse.jetty.util.log.StacklessLogging; +import org.eclipse.jetty.util.thread.QueuedThreadPool; +import org.junit.After; +import org.junit.Assert; import org.junit.Test; -@Ignore("Not handling Exceptions during Async very well") public class AsyncListenerTest { - // Unique named RuntimeException to help during debugging / assertions - @SuppressWarnings("serial") - public static class FooRuntimeException extends RuntimeException + private QueuedThreadPool threadPool; + private Server server; + private LocalConnector connector; + private String servletPath; + + private void start(HttpServlet servlet) throws Exception { - } - - // Unique named Exception to help during debugging / assertions - @SuppressWarnings("serial") - public static class FooException extends Exception - { - } - - // Unique named Throwable to help during debugging / assertions - @SuppressWarnings("serial") - public static class FooThrowable extends Throwable - { - } - - // Unique named Error to help during debugging / assertions - @SuppressWarnings("serial") - public static class FooError extends Error - { - } - - /** - * Basic AsyncListener adapter that simply logs (and makes testcase writing easier) - */ - public static class AsyncListenerAdapter implements AsyncListener - { - private static final Logger LOG = Log.getLogger(AsyncListenerTest.AsyncListenerAdapter.class); - - @Override - public void onComplete(AsyncEvent event) throws IOException - { - LOG.info("onComplete({})",event); - } - - @Override - public void onTimeout(AsyncEvent event) throws IOException - { - LOG.info("onTimeout({})",event); - } - - @Override - public void onError(AsyncEvent event) throws IOException - { - LOG.info("onError({})",event); - } - - @Override - public void onStartAsync(AsyncEvent event) throws IOException - { - LOG.info("onStartAsync({})",event); - } - } - - /** - * Common ErrorContext for normal and async error handling - */ - public static class ErrorContext implements AsyncListener - { - private static final Logger LOG = Log.getLogger(AsyncListenerTest.ErrorContext.class); - - public void report(Throwable t, ServletRequest req, ServletResponse resp) throws IOException - { - if (resp instanceof HttpServletResponse) - { - ((HttpServletResponse)resp).setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - } - resp.setContentType("text/plain"); - resp.setCharacterEncoding(StandardCharsets.UTF_8.name()); - PrintWriter out = resp.getWriter(); - t.printStackTrace(out); - } - - private void reportThrowable(AsyncEvent event) throws IOException - { - Throwable t = event.getThrowable(); - if (t == null) - { - return; - } - ServletRequest req = event.getAsyncContext().getRequest(); - ServletResponse resp = event.getAsyncContext().getResponse(); - report(t,req,resp); - } - - @Override - public void onComplete(AsyncEvent event) throws IOException - { - LOG.info("onComplete({})",event); - reportThrowable(event); - } - - @Override - public void onTimeout(AsyncEvent event) throws IOException - { - LOG.info("onTimeout({})",event); - reportThrowable(event); - } - - @Override - public void onError(AsyncEvent event) throws IOException - { - LOG.info("onError({})",event); - reportThrowable(event); - } - - @Override - public void onStartAsync(AsyncEvent event) throws IOException - { - LOG.info("onStartAsync({})",event); - reportThrowable(event); - } - } - - /** - * Common filter for all test cases that should handle Errors in a consistent way - * regardless of how the exception / error occurred in the servlets in the chain. - */ - public static class ErrorFilter implements Filter - { - private final List tracking; - - public ErrorFilter(List tracking) - { - this.tracking = tracking; - } - - @Override - public void destroy() - { - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException - { - ErrorContext err = new ErrorContext(); - tracking.add(err); - try - { - chain.doFilter(request,response); - } - catch (Throwable t) - { - err.report(t,request,response); - } - finally - { - if (request.isAsyncStarted()) - { - request.getAsyncContext().addListener(err); - } - } - } - - @Override - public void init(FilterConfig filterConfig) throws ServletException - { - } - } - - /** - * Normal non-async testcase of error handling from a filter - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorNoAsync() throws Exception - { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - + server = threadPool == null ? new Server() : new Server(threadPool); + connector = new LocalConnector(server); + server.addConnector(connector); ServletContextHandler context = new ServletContextHandler(); context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - throw new FooRuntimeException(); - } - }; ServletHolder holder = new ServletHolder(servlet); holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - + servletPath = "/async_listener"; + context.addServlet(holder, servletPath + "/*"); server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { - server.stop(); - } + server.start(); } - /** - * async testcase of error handling from a filter. - * - * Async Started, then application Exception - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorAsyncStart_Exception() throws Exception + @After + public void dispose() throws Exception { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - req.startAsync(); - // before listeners are added, toss Exception - throw new FooRuntimeException(); - } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - - server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { + if (server != null) server.stop(); - } } - /** - * async testcase of error handling from a filter. - * - * Async Started, add listener that does nothing, then application Exception - * - * @throws Exception - * on test failure - */ @Test - public void testFilterErrorAsyncStart_AddEmptyListener_Exception() throws Exception + public void testOnTimeoutCalledByPooledThread() throws Exception { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() + String threadNamePrefix = "async_listener"; + threadPool = new QueuedThreadPool(); + threadPool.setName(threadNamePrefix); + start(new HttpServlet() { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - AsyncContext ctx = req.startAsync(); - ctx.addListener(new AsyncListenerAdapter()); - throw new FooRuntimeException(); - } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - - server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { - server.stop(); - } - } - - /** - * async testcase of error handling from a filter. - * - * Async Started, add listener that completes only, then application Exception - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorAsyncStart_AddListener_Exception() throws Exception - { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - AsyncContext ctx = req.startAsync(); - ctx.addListener(new AsyncListenerAdapter() - { - @Override - public void onError(AsyncEvent event) throws IOException - { - System.err.println("### ONERROR"); - event.getThrowable().printStackTrace(System.err); - event.getAsyncContext().complete(); - } - }); - throw new FooRuntimeException(); - } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - - server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { - server.stop(); - } - } - - /** - * async testcase of error handling from a filter. - * - * Async Started, add listener, in onStartAsync throw Exception - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorAsyncStart_AddListener_ExceptionDuringOnStart() throws Exception - { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - AsyncContext ctx = req.startAsync(); - ctx.addListener(new AsyncListenerAdapter() - { - @Override - public void onStartAsync(AsyncEvent event) throws IOException - { - throw new FooRuntimeException(); - } - }); - } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - - server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { - server.stop(); - } - } - - /** - * async testcase of error handling from a filter. - * - * Async Started, add listener, in onComplete throw Exception - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorAsyncStart_AddListener_ExceptionDuringOnComplete() throws Exception - { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - AsyncContext ctx = req.startAsync(); - ctx.addListener(new AsyncListenerAdapter() - { - @Override - public void onComplete(AsyncEvent event) throws IOException - { - throw new FooRuntimeException(); - } - }); - ctx.complete(); - } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); - - server.setHandler(context); - - try - { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally - { - server.stop(); - } - } - - /** - * async testcase of error handling from a filter. - * - * Async Started, add listener, in onTimeout throw Exception - * - * @throws Exception - * on test failure - */ - @Test - public void testFilterErrorAsyncStart_AddListener_ExceptionDuringOnTimeout() throws Exception - { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() - { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - AsyncContext ctx = req.startAsync(); - ctx.setTimeout(1000); - ctx.addListener(new AsyncListenerAdapter() + AsyncContext asyncContext = request.startAsync(); + asyncContext.setTimeout(1000); + asyncContext.addListener(new AsyncListenerAdapter() { @Override public void onTimeout(AsyncEvent event) throws IOException { - throw new FooRuntimeException(); + if (Thread.currentThread().getName().startsWith(threadNamePrefix)) + response.setStatus(HttpStatus.OK_200); + else + response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR_500); + asyncContext.complete(); } }); } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); + }); - server.setHandler(context); + HttpTester.Response response = HttpTester.parseResponse(connector.getResponse(newRequest(""))); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + } - try + @Test + public void testOnErrorCalledForExceptionAfterStartAsync() throws Exception + { + RuntimeException exception = new RuntimeException(); + start(new HttpServlet() { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); - } - finally + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException + { + AsyncContext asyncContext = request.startAsync(); + asyncContext.addListener(new AsyncListenerAdapter() + { + @Override + public void onError(AsyncEvent event) throws IOException + { + if (exception == event.getThrowable()) + response.setStatus(HttpStatus.OK_200); + else + response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR_500); + asyncContext.complete(); + } + }); + throw exception; + } + }); + + try (StacklessLogging suppressor = new StacklessLogging(HttpChannel.class)) { - server.stop(); + HttpTester.Response response = HttpTester.parseResponse(connector.getResponse(newRequest(""))); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); } } - /** - * async testcase of error handling from a filter. - * - * Async Started, no listener, in start() throw Exception - * - * @throws Exception - * on test failure - */ @Test - public void testFilterErrorAsyncStart_NoListener_ExceptionDuringStart() throws Exception + public void testOnErrorCalledForExceptionThrownByOnTimeout() throws Exception { - Server server = new Server(); - LocalConnector conn = new LocalConnector(server); - conn.setIdleTimeout(10000); - server.addConnector(conn); - - ServletContextHandler context = new ServletContextHandler(); - context.setContextPath("/"); - @SuppressWarnings("serial") - HttpServlet servlet = new HttpServlet() + RuntimeException exception = new RuntimeException(); + start(new HttpServlet() { - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - AsyncContext ctx = req.startAsync(); - ctx.setTimeout(1000); - ctx.start(new Runnable() + AsyncContext asyncContext = request.startAsync(); + asyncContext.setTimeout(1000); + asyncContext.addListener(new AsyncListenerAdapter() { @Override - public void run() + public void onTimeout(AsyncEvent event) throws IOException { - throw new FooRuntimeException(); + throw exception; + } + + @Override + public void onError(AsyncEvent event) throws IOException + { + if (exception == event.getThrowable()) + response.setStatus(HttpStatus.OK_200); + else + response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR_500); + asyncContext.complete(); } }); } - }; - ServletHolder holder = new ServletHolder(servlet); - holder.setAsyncSupported(true); - context.addServlet(holder,"/err/*"); - List tracking = new LinkedList(); - ErrorFilter filter = new ErrorFilter(tracking); - context.addFilter(new FilterHolder(filter),"/*",EnumSet.allOf(DispatcherType.class)); + }); - server.setHandler(context); + HttpTester.Response response = HttpTester.parseResponse(connector.getResponse(newRequest(""))); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + } - try + @Test + public void testOnErrorNotCalledForExceptionThrownByOnComplete() throws Exception + { + CountDownLatch errorLatch = new CountDownLatch(1); + start(new HttpServlet() { - server.start(); - String resp = conn.getResponses("GET /err/ HTTP/1.1\n" + "Host: localhost\n" + "Connection: close\n" + "\n"); - assertThat("Response status",resp,containsString("HTTP/1.1 500 Server Error")); - assertThat("Response",resp,containsString(FooRuntimeException.class.getName())); + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException + { + AsyncContext asyncContext = request.startAsync(); + asyncContext.addListener(new AsyncListenerAdapter() + { + @Override + public void onComplete(AsyncEvent event) throws IOException + { + // Way too late to handle this exception, should only be logged. + throw new Error(); + } + + @Override + public void onError(AsyncEvent event) throws IOException + { + errorLatch.countDown(); + } + }); + new Thread(() -> + { + try + { + Thread.sleep(1000); + response.setStatus(HttpStatus.OK_200); + asyncContext.complete(); + } + catch (InterruptedException ignored) + { + } + }).start(); + } + }); + + try (StacklessLogging suppressor = new StacklessLogging(HttpChannelState.class)) + { + HttpTester.Response response = HttpTester.parseResponse(connector.getResponse(newRequest(""))); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + Assert.assertFalse(errorLatch.await(1, TimeUnit.SECONDS)); } - finally + } + + private String newRequest(String pathInfo) + { + return "" + + "GET " + servletPath + pathInfo + " HTTP/1.1\r\n" + + "Host: localhost\r\n" + + "\r\n"; + } + + private static class AsyncListenerAdapter implements AsyncListener + { + @Override + public void onTimeout(AsyncEvent event) throws IOException + { + } + + @Override + public void onComplete(AsyncEvent event) throws IOException + { + } + + @Override + public void onError(AsyncEvent event) throws IOException + { + } + + @Override + public void onStartAsync(AsyncEvent event) throws IOException { - server.stop(); } } } From 5fc6c8ee14a5ae2dde7c7fda6749c6e6858704bf Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Fri, 28 Oct 2016 13:01:56 -0400 Subject: [PATCH 056/109] Issue #1041 - Small updates to documentation. Signed-off-by: WalkerWatch --- .../src/main/asciidoc/reference/part.adoc | 1 + .../upgrading/upgrading-9.3-to-9.4.adoc | 42 ++++++++----------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/reference/part.adoc b/jetty-documentation/src/main/asciidoc/reference/part.adoc index baea4ef2518..651d5cbef6c 100644 --- a/jetty-documentation/src/main/asciidoc/reference/part.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/part.adoc @@ -24,3 +24,4 @@ include::jetty-xml/chapter.adoc[] include::troubleshooting/chapter.adoc[] include::debugging/chapter.adoc[] include::contributing/chapter.adoc[] +include::upgrading/chapter.adoc[] diff --git a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc index d113334d24c..c0a899a1894 100644 --- a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc @@ -63,7 +63,7 @@ You need to open your Jetty 9.3 `start.ini` and replace the references to the For example, in an existing 9.3 `start.ini` file the module declaration for logging would look like this: -.start.ini +[source, screen, subs="{sub-order}"] ---- --module=logging jetty.logging.retainDays=7 @@ -71,31 +71,26 @@ jetty.logging.retainDays=7 In 9.4, it should be replaced by: -.start.ini +[source, screen, subs="{sub-order}"] ---- --module=console-capture jetty.console-capture.retainDays=7 ---- -The properties that may be present in your Jetty 9.3's `start.ini`, such as -`jetty.logging.retainDays` will still be working in Jetty 9.4, but a warning -will be printed at Jetty 9.4 startup, saying to replace them with correspondent -`jetty.console-capture.*` properties such as `jetty.console-capture.retainDays`. +The properties that may be present in your Jetty 9.3's `start.ini`, such as `jetty.logging.retainDays` will still be working in Jetty 9.4, but a warning will be printed at Jetty 9.4 startup, saying to replace them with correspondent `jetty.console-capture.*` properties such as `jetty.console-capture.retainDays`. For information on logging modules in the Jetty 9.4 architecture please see the section on link:#configuring-logging-modules[configuring logging modules.] ===== Session Management -//TODO - More info. - -Session management received a significant overhaul in Jetty 9.4. +Session management received a significant overhaul in Jetty 9.4. Session functionality has been refactored to promote code-reuse, easier configuration and easier customization. -Whereas previously users needed to edit xml configuration files, in Jetty 9.4 all session behaviour is controlled by properties that are exposed by the various session modules. +Whereas previously users needed to edit xml configuration files, in Jetty 9.4 all session behavior is controlled by properties that are exposed by the various session modules. Users now configure session management by selecting a composition of session modules. ====== Change Overview -SessionIdManager:: Previously there was a different class of SessionIdManager - with different configuration options - depending upon which type of clustering technology chosen. +SessionIdManager:: Previously there was a different class of SessionIdManager - with different configuration options - depending upon which type of clustering technology chosen. In Jetty 9.4, there is only one type, the link:{JDURL}/org/eclipse/jetty/server/session/DefaultSessionIdManager.html[org.eclipse.jetty.server.session.DfeaultSessionIdManager]. SessionManager:: Previously, there was a different class of SessionManager depending upon which the type of clustering technology chosen. @@ -116,7 +111,7 @@ All of the common setup of sessions such as the maxInactiveInterval and session | setCheckingRemoteSessionIdEncoding(boolean) | setCheckingRemoteSessionIdEncoding(boolean) |=== -Persistence::: +Persistence::: In Jetty 9.3 SessionManagers (and sometimes SessionIdManagers) implemented the persistence mechanism. In Jetty 9.4 we have moved this functionality into the link:{JDURL}/org/eclipse/jetty/server/session/SessionDataStore.html[org.eclipse.jetty.server.session.SessionDataStore]. @@ -129,13 +124,13 @@ For more information, please refer to the documentation on link:#jetty-sessions- ====== Default -As with earlier versions of jetty, if you do not explicitly configure any session modules, the default session infrastructure will be enabled. -In previous versions of jetty this was referred to as "hash" session management. +As with earlier versions of Jetty, if you do not explicitly configure any session modules, the default session infrastructure will be enabled. +In previous versions of Jetty this was referred to as "hash" session management. The new default provides similar features to the old hash session management: * a session scavenger thread that runs every 10mins and removes expired sessions * a session id manager that generates unique session ids and handles session id sharing during context forwarding - * an in-memory cache of session objects. -Requests for the same session in the same context share the same session object. + * an in-memory cache of session objects. +Requests for the same session in the same context share the same session object. Session objects remain in the cache until they expire or are explicitly invalidated. If you wish to configure the default setup further, enable the `session-cache-default` module. @@ -143,37 +138,36 @@ If you wish to configure the default setup further, enable the `session-cache-de ====== Filesystem -In earlier versions of jetty, persisting sessions to the local filesystem was an option of the "hash" session manager. -In jetty-9.4 this has been refactored to its own configurable module `session-store-file`. +In earlier versions of Jetty, persisting sessions to the local filesystem was an option of the "hash" session manager. +In Jetty 9.4 this has been refactored to its own configurable module `session-store-file`. ====== JDBC -As with earlier versions of jetty, sessions may be persisted to a relational database. +As with earlier versions of Jetty, sessions may be persisted to a relational database. Enable the `session-store-jdbc` module. ====== NoSQL -As with earlier versions of jetty, sessions may be persisted to a document database. +As with earlier versions of Jetty, sessions may be persisted to a document database. Jetty supports the Mongo document database. Enable the `session-store-mongo` module. ====== Infinispan -As with earlier versions of jetty, sessions may be clustered via Infinispan to either an in-process or remote infinispan instance. +As with earlier versions of Jetty, sessions may be clustered via Infinispan to either an in-process or remote infinispan instance. Enable the `session-store-infinispan` module. ====== GCloud Datastore -As with earlier versions of jetty, sessions may be persisted to Google's GCloud Datastore. +As with earlier versions of Jetty, sessions may be persisted to Google's GCloud Datastore. Enable the `session-store-gcloud` module. ====== GCloud Datastore with Memcached -As with earlier versions of jetty, sessions can be both persisted to Google's GCloud Datastore, and cached into Memcached for faster access. +As with earlier versions of Jetty, sessions can be both persisted to Google's GCloud Datastore, and cached into Memcached for faster access. Enable the `session-store-gcloud` and `session-store-cache` modules. - From 14611d2f76be9ebd955bff6cdd38fde4a008a4c3 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 28 Oct 2016 12:21:02 -0700 Subject: [PATCH 057/109] Updating to version 9.3.14.v20161028 --- VERSION.txt | 6127 ++++++++++++----- aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- .../pom.xml | 2 +- .../jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- .../http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- jetty-monitor/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- .../javax-websocket-client-impl/pom.xml | 2 +- .../javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- .../test-gcloud-memcached-sessions/pom.xml | 2 +- .../test-gcloud-sessions/pom.xml | 2 +- .../test-sessions/test-hash-sessions/pom.xml | 2 +- .../test-infinispan-sessions/pom.xml | 2 +- .../test-sessions/test-jdbc-sessions/pom.xml | 2 +- .../test-mongodb-sessions/pom.xml | 2 +- .../test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- .../test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-container-initializer/pom.xml | 2 +- .../test-spec-webapp/pom.xml | 2 +- .../test-web-fragment/pom.xml | 2 +- .../test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 113 files changed, 4435 insertions(+), 1916 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 449a1525dc5..a819e334827 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,4 +1,19 @@ -jetty-9.3.14-SNAPSHOT +jetty-9.3.14.v20161028 - 28 October 2016 + + 292 NPE in SslConnectionFactory newConnection + + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid + memory leak + + 989 InputStreamResponseListener.get() throws with HTTP/2 following redirect + + 1009 [9.3.x] ThreadLimitHandler has no method setBlockForMs + + 1018 Remove dependency on asm types in oej.annotations.Util + + 1029 Restore Request.setHttpVersion() + + 1031 Improve HttpField pre-encoding + + 1032 Remove jetty dependencies in jetty jasper classes + + 1037 Don't execute AsyncListener.onTimeout events in spare Scheduler-Thread + + 1038 AttributeNormalizer does not favor ${WAR} over other attributes, like + ${jetty.base} + + 1039 AttributeNormalizer should not track attributes that are null + + 1046 Improve HTTP2Flusher error report + + 480764 Add extra tests for empty multipart jetty-9.3.13.v20161014 - 14 October 2016 + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid @@ -167,7 +182,7 @@ jetty-9.3.10.v20160621 - 21 June 2016 session.maxInactiveInterval + 623 Add --gzip suffix to 304 responses with ETAGs + 624 AsyncContext.onCompleted called twice - + 628 IOException: Unable to open root Jar file . + + 628 IOException: Unable to open root Jar file MetaInfConfiguration.getTlds(MetaInfConfiguration.java:406) with Spring boot loader + WebAppContext + non-expanded war + 632 JMX tests rely on fixed port @@ -2945,13 +2960,16 @@ jetty-7.6.10.v20130312 - 12 March 2013 jetty-9.0.0.RC2 - 24 February 2013 + fix etc/jetty.xml timerscheduler typo that is preventing normal startu fix + etc/jetty.xml timerscheduler typo that is preventing normal startu fix etc/jetty.xml timerscheduler typo that is preventing normal startu Fix etc/jetty.xml TimerScheduler typo that is preventing normal startup + fix etc/jetty-https.xml excludeciphersuites typo that prevents ssl sta fix + etc/jetty-https.xml excludeciphersuites typo that prevents ssl sta fix etc/jetty-https.xml excludeciphersuites typo that prevents ssl sta Fix etc/jetty-https.xml ExcludeCipherSuites typo that prevents SSL startup - + fix websocket memory use fix websocket memory use fix websocket memory use - Fix websocket memory use + + fix websocket memory use fix websocket memory use fix websocket memory fix + websocket memory use fix websocket memory use fix websocket memory use Fix + websocket memory use jetty-9.0.0.RC1 - 22 February 2013 + 227244 Remove import of backport-util-concurrent Arrays class @@ -3422,12 +3440,14 @@ jetty-9.0.0.M0 - 21 September 2012 jetty-8.1.7.v20120910 - 10 September 2012 + 388895 Update dependencies for jetty-jndi + fix busy logging statement re: sessions fix busy logging statement re: fix - busy logging statement re: sessions fix busy logging statement re: sessions + busy logging statement re: sessions fix busy logging statement re: fix busy + logging statement re: sessions fix busy logging statement re: sessions jetty-7.6.7.v20120910 - 10 September 2012 + 388895 Update dependencies for jetty-jndi + fix busy logging statement re: sessions fix busy logging statement re: fix - busy logging statement re: sessions fix busy logging statement re: sessions + busy logging statement re: sessions fix busy logging statement re: fix busy + logging statement re: sessions fix busy logging statement re: sessions jetty-8.1.6.v20120903 - 03 September 2012 + 347130 Empty getResourcePaths due to ZipFileClosedException @@ -4027,6 +4047,7 @@ jetty-7.6.0.RC0 - 29 November 2011 + 364657 Support HTTP only cookies from standard API + JETTY-1442 add _hostHeader setter for ProxyRule + refactored nio layer for better half close handling refactored nio lay + refactored nio layer for better half close handling refactored nio lay refactored nio layer for better half close handling Refactored NIO layer for better half close handling @@ -4239,17 +4260,20 @@ jetty-7.5.0.RC1 - 19 August 2011 jetty-8.0.0.RC0 - 16 August 2011 + 352565 cookie httponly flag ignored + 353285 ServletSecurity annotation ignored - + enable annotations by default enable annotations by default enable - annotations by default Enable annotations by default - + merge from jetty-7.4.3 merge from jetty-7.4.3 merge from jetty-7.4.3 Merge - from jetty-7.4.3 + + enable annotations by default enable annotations by default enable enable + annotations by default enable annotations by default enable annotations by + default Enable annotations by default + + merge from jetty-7.4.3 merge from jetty-7.4.3 merge from jetty-7.4.3 m merge + from jetty-7.4.3 merge from jetty-7.4.3 merge from jetty-7.4.3 Merge from + jetty-7.4.3 jetty-8.0.0.M3 - 27 May 2011 + 324505 Implement API login + 335500 request.getParts() throws a NullPointerException + 343472 isUserInRole does not prevent subsequent login call + 346180 jsp-2.2 support - + updated to jetty-7.4.2.v20110526 updated to jetty-7.4.2.v20110526 updated to + + updated to jetty-7.4.2.v20110526 updated to jetty-7.4.2.v20110526 upda + updated to jetty-7.4.2.v20110526 updated to jetty-7.4.2.v20110526 updated to jetty-7.4.2.v20110526 Updated to jetty-7.4.2.v20110526 jetty-7.5.0.RC0 - 15 August 2011 @@ -4393,6 +4417,7 @@ jetty-7.4.0.v20110414 + 342700 refine websocket API for anticipated changes + JETTY-1362 Set root cause of UnavailableException + various test harness cleanups to avoid random failures various test ha + various test harness cleanups to avoid random failures various test ha various test harness cleanups to avoid random failures Various test harness cleanups to avoid random failures @@ -4433,9 +4458,11 @@ jetty-7.4.0.RC0 + 341992 Overlayed context deployer + JETTY-1245 Pooled Buffers implementation + JETTY-1354 Added jetty-nested - + added extra session removal test added extra session removal test added - extra session removal test Added extra session removal test + + added extra session removal test added extra session removal test adde added + extra session removal test added extra session removal test added extra + session removal test Added extra session removal test + ensure generated fragment names are unique ensure generated fragment n + ensure generated fragment names are unique ensure generated fragment n ensure generated fragment names are unique Ensure generated fragment names are unique @@ -4457,7 +4484,8 @@ jetty-8.0.0.M2 - 16 November 2010 + 330208 Support new wording on servlet-mapping and filter-mapping merging from servlet3.0a + 330292 request.getParts() returns only one part when the name is the same - + update to jetty-7.2.1.v20101111 update to jetty-7.2.1.v20101111 update to + + update to jetty-7.2.1.v20101111 update to jetty-7.2.1.v20101111 update + update to jetty-7.2.1.v20101111 update to jetty-7.2.1.v20101111 update to jetty-7.2.1.v20101111 Update to jetty-7.2.1.v20101111 jetty-7.3.1.v20110307 - 07 March 2011 @@ -4686,12 +4714,15 @@ jetty-7.2.0.RC0 - 01 October 2010 default + JETTY-1281 Create new session after authentication + JETTY-1283 JSONPojoConvertorFactory can turn off fromJSON - + added ignore to logger interface added ignore to logger interface added - ignore to logger interface Added ignore to Logger interface + + added ignore to logger interface added ignore to logger interface adde added + ignore to logger interface added ignore to logger interface added ignore to + logger interface Added ignore to Logger interface + fix jetty-plus.xml for new configuration names fix jetty-plus.xml for fix + jetty-plus.xml for new configuration names fix jetty-plus.xml for fix jetty-plus.xml for new configuration names Fix jetty-plus.xml for new configuration names - + improved debug dump improved debug dump improved debug dump Improved debug + + improved debug dump improved debug dump improved debug dump improved d + improved debug dump improved debug dump improved debug dump Improved debug dump jetty-7.1.6.v20100715 @@ -4707,13 +4738,16 @@ jetty-8.0.0.M1 - 12 July 2010 + JETTY-1224 Change jetty-8 merge rules for fragment descriptors and annotations + ensure in web.xml overrides relative in + ensure in web.xml overrides relative in ensure in web.xml overrides relative in Ensure in web.xml overrides relative in fragments + ensure empty implies exclusion of all fragments en + ensure empty implies exclusion of all fragments en ensure empty implies exclusion of all fragments Ensure empty implies exclusion of all fragments - + ensure servlet-api jar class inheritance hierarchy is scanned ensure ensure + + ensure servlet-api jar class inheritance hierarchy is scanned ensure e + ensure servlet-api jar class inheritance hierarchy is scanned ensure ensure servlet-api jar class inheritance hierarchy is scanned Ensure servlet-api jar class inheritance hierarchy is scanned @@ -4742,6 +4776,7 @@ jetty-7.1.5.v20100705 + 319060 Support web-bundles that are not expanded (bundle is zipped) + JETTY-1237 Save local/remote address to be available after close + update ecj to 3.6 helios release drop update ecj to 3.6 helios release + update ecj to 3.6 helios release drop update ecj to 3.6 helios release update ecj to 3.6 helios release drop Update ecj to 3.6 Helios release drop jetty-6.1.25 - 26 July 2010 @@ -4754,10 +4789,12 @@ jetty-6.1.25 - 26 July 2010 + JETTY-1237 Remember local/remote details of endpoint + JETTY-1251 protected against closed selector + cometd-112 if two threads create the same channel, then create events + cometd-112 if two threads create the same channel, then create events cometd-112 if two threads create the same channel, then create events COMETD-112 if two threads create the same channel, then create events may occur after subscribe events + jetty-6 is now in maintenance mode. jetty-6 is now in maintenance mode + jetty-6 is now in maintenance mode. jetty-6 is now in maintenance mode jetty-6 is now in maintenance mode. Jetty-6 is now in maintenance mode. jetty-7.1.4.v20100610 @@ -4807,9 +4844,10 @@ jetty-7.1.2.v20100523 + 313278 Implement octet ranges in IPAccessHandler + 313336 secure websockets + 314009 updated README.txt - + update links to jetty website and wiki on test webapp update links to - update links to jetty website and wiki on test webapp Update links to jetty - website and wiki on test webapp + + update links to jetty website and wiki on test webapp update links to update + links to jetty website and wiki on test webapp update links to update links + to jetty website and wiki on test webapp Update links to jetty website and + wiki on test webapp jetty-7.1.1.v20100517 + 302344 Make the list of available contexts if root context is not configured @@ -4888,17 +4926,22 @@ jetty-7.1.0.RC0 - 27 April 2010 + JETTY-1212 handle long content lengths + JETTY-1214 avoid ISE when scavenging invalid session + add annotationconfiguration to jetty-plus.xml add annotationconfigurat add + annotationconfiguration to jetty-plus.xml add annotationconfigurat add annotationconfiguration to jetty-plus.xml Add AnnotationConfiguration to jetty-plus.xml + add npe protection to containerinitializerconfiguration add npe protec add - npe protection to containerinitializerconfiguration Add NPE protection to + npe protection to containerinitializerconfiguration add npe protec add npe + protection to containerinitializerconfiguration Add NPE protection to ContainerInitializerConfiguration + fix jetty-plus.xml reference to addlifecycle fix jetty-plus.xml refere fix + jetty-plus.xml reference to addlifecycle fix jetty-plus.xml refere fix jetty-plus.xml reference to addlifecycle Fix jetty-plus.xml reference to addLifeCycle - + merged 7.0.2.v20100331 merged 7.0.2.v20100331 merged 7.0.2.v20100331 Merged + + merged 7.0.2.v20100331 merged 7.0.2.v20100331 merged 7.0.2.v20100331 m + merged 7.0.2.v20100331 merged 7.0.2.v20100331 merged 7.0.2.v20100331 Merged 7.0.2.v20100331 + temporarily remove jetty-osgi module to clarify jsp version compatibil + temporarily remove jetty-osgi module to clarify jsp version compatibil temporarily remove jetty-osgi module to clarify jsp version compatibil Temporarily remove jetty-osgi module to clarify jsp version compatibility @@ -4912,12 +4955,15 @@ jetty-7.0.2.v20100331 - 31 March 2010 + 306884 Suspend with timeout <=0 never expires + 307589 updated servlet 3.0 continuations for final API + allow configuration array to be set on server instance for all web app allow + configuration array to be set on server instance for all web app allow configuration array to be set on server instance for all web app Allow Configuration array to be set on Server instance for all web apps + ensure webapps with no web-inf don't scan web-inf/lib ensure webapps w + ensure webapps with no web-inf don't scan web-inf/lib ensure webapps w ensure webapps with no web-inf don't scan web-inf/lib Ensure webapps with no WEB-INF don't scan WEB-INF/lib + take excess logging statements out of startup take excess logging stat take + excess logging statements out of startup take excess logging stat take excess logging statements out of startup Take excess logging statements out of startup @@ -4928,16 +4974,20 @@ jetty-6.1.24 - 21 April 2010 + JETTY-1200 SSL NIO Endpoint wraps non NIO buffers + JETTY-1211 SetUID loadlibrary name and debug + cometd-100 clientimpl logs "null" as clientid cometd-100 clientimpl lo + cometd-100 clientimpl logs "null" as clientid cometd-100 clientimpl lo cometd-100 clientimpl logs "null" as clientid COMETD-100 ClientImpl logs "null" as clientId + cometd-107 reloading the application with reload extension does not fi + cometd-107 reloading the application with reload extension does not fi cometd-107 reloading the application with reload extension does not fi COMETD-107 Reloading the application with reload extension does not fire /meta/connect handlers until long poll timeout expires + cometd-99 clientimpl logs exceptions in listeners with "debug" level + cometd-99 clientimpl logs exceptions in listeners with "debug" level cometd-99 clientimpl logs exceptions in listeners with "debug" level COMETD-99 ClientImpl logs exceptions in listeners with "debug" level - + upgraded to cometd 1.1.1 client upgraded to cometd 1.1.1 client upgraded to + + upgraded to cometd 1.1.1 client upgraded to cometd 1.1.1 client upgrad + upgraded to cometd 1.1.1 client upgraded to cometd 1.1.1 client upgraded to cometd 1.1.1 client Upgraded to cometd 1.1.1 client jetty-6.1.23 - 02 April 2010 @@ -4987,26 +5037,34 @@ jetty-6.1.23 - 02 April 2010 + JETTY-1205 Memory leak in browser-to-client mapping + JETTY-1207 NPE protection in FormAuthenticator + cometd-28 improved concurrency usage in bayeux and channel handling + cometd-28 improved concurrency usage in bayeux and channel handling cometd-28 improved concurrency usage in bayeux and channel handling COMETD-28 Improved concurrency usage in Bayeux and channel handling - + cometd-46 reset contentexchange content on resend cometd-46 reset cometd-46 + + cometd-46 reset contentexchange content on resend cometd-46 reset come + cometd-46 reset contentexchange content on resend cometd-46 reset cometd-46 reset contentexchange content on resend COMETD-46 reset ContentExchange content on resend - + cometd-58 extension.rcv() return null causes npe in cometd-58 cometd-58 + + cometd-58 extension.rcv() return null causes npe in cometd-58 cometd-5 + cometd-58 extension.rcv() return null causes npe in cometd-58 cometd-58 extension.rcv() return null causes npe in COMETD-58 Extension.rcv() return null causes NPE in AbstractBayeux.PublishHandler.publish + cometd-59 acknowledgeextension does not handle null channel in message + cometd-59 acknowledgeextension does not handle null channel in message cometd-59 acknowledgeextension does not handle null channel in message COMETD-59 AcknowledgeExtension does not handle null channel in Message + cometd-62 delay add listeners until after client construction cometd-6 + cometd-62 delay add listeners until after client construction cometd-6 cometd-62 delay add listeners until after client construction COMETD-62 Delay add listeners until after client construction - + json parses nan as null json parses nan as null json parses nan as null JSON + + json parses nan as null json parses nan as null json parses nan as nul json + parses nan as null json parses nan as null json parses nan as null JSON parses NaN as null + remove references to old content in httpclient client tests for www.su + remove references to old content in httpclient client tests for www.su remove references to old content in httpclient client tests for www.su Remove references to old content in HttpClient client tests for www.sun.com - + updated jsp to 2.1.v20091210 updated jsp to 2.1.v20091210 updated jsp to + + updated jsp to 2.1.v20091210 updated jsp to 2.1.v20091210 updated jsp + updated jsp to 2.1.v20091210 updated jsp to 2.1.v20091210 updated jsp to 2.1.v20091210 Updated JSP to 2.1.v20091210 jetty-7.0.2.RC0 @@ -5067,23 +5125,30 @@ jetty-7.0.2.RC0 + JETTY-1184 shrink thread pool even with frequent small jobs + JETTY-1192 Fixed Digested POST + JETTY-1199 FindBugs cleanups - + added ipaccesshandler added ipaccesshandler added ipaccesshandler Added + + added ipaccesshandler added ipaccesshandler added ipaccesshandler adde added + ipaccesshandler added ipaccesshandler added ipaccesshandler Added IPAccessHandler + cometd-46 reset contentexchange response content on resend cometd-46 r + cometd-46 reset contentexchange response content on resend cometd-46 r cometd-46 reset contentexchange response content on resend COMETD-46 reset ContentExchange response content on resend - + json parses nan as null json parses nan as null json parses nan as null JSON + + json parses nan as null json parses nan as null json parses nan as nul json + parses nan as null json parses nan as null json parses nan as null JSON parses NaN as null - + updated servlet3continuation to final 3.0.20100224 updated updated + + updated servlet3continuation to final 3.0.20100224 updated updated updated + servlet3continuation to final 3.0.20100224 updated updated servlet3continuation to final 3.0.20100224 Updated Servlet3Continuation to final 3.0.20100224 jetty-8.0.0.M0 - 28 February 2010 - + merged 7.0.1.v20091116 merged 7.0.1.v20091116 merged 7.0.1.v20091116 Merged + + merged 7.0.1.v20091116 merged 7.0.1.v20091116 merged 7.0.1.v20091116 m + merged 7.0.1.v20091116 merged 7.0.1.v20091116 merged 7.0.1.v20091116 Merged 7.0.1.v20091116 - + updated servlet 3.0 spec 20100224 updated servlet 3.0 spec 20100224 updated + + updated servlet 3.0 spec 20100224 updated servlet 3.0 spec 20100224 up + updated servlet 3.0 spec 20100224 updated servlet 3.0 spec 20100224 updated servlet 3.0 spec 20100224 Updated servlet 3.0 spec 20100224 - + updated to cometd 1.0.1 updated to cometd 1.0.1 updated to cometd 1.0.1 + + updated to cometd 1.0.1 updated to cometd 1.0.1 updated to cometd 1.0. + updated to cometd 1.0.1 updated to cometd 1.0.1 updated to cometd 1.0.1 Updated to cometd 1.0.1 jetty-7.0.1.v20091125 - 25 November 2009 @@ -5122,31 +5187,41 @@ jetty-7.0.1.v20091125 - 25 November 2009 around + JETTY-1144 fixed multi-byte character overflow + JETTY-1148 Reset partially read request reader - + cometd-34 support baeyux mbean cometd-34 support baeyux mbean cometd-34 + + cometd-34 support baeyux mbean cometd-34 support baeyux mbean cometd-3 + cometd-34 support baeyux mbean cometd-34 support baeyux mbean cometd-34 support baeyux mbean COMETD-34 Support Baeyux MBean - + cq-3581 jetty osgi contribution cq-3581 jetty osgi contribution cq-3581 + + cq-3581 jetty osgi contribution cq-3581 jetty osgi contribution cq-358 + cq-3581 jetty osgi contribution cq-3581 jetty osgi contribution cq-3581 jetty osgi contribution CQ-3581 jetty OSGi contribution + cve-2009-3555 prevent ssl renegotiate for ssl vulnerability cve-2009-3 + cve-2009-3555 prevent ssl renegotiate for ssl vulnerability cve-2009-3 cve-2009-3555 prevent ssl renegotiate for ssl vulnerability CVE-2009-3555 Prevent SSL renegotiate for SSL vulnerability - + fixed client abort asocciation fixed client abort asocciation fixed client - abort asocciation Fixed client abort asocciation + + fixed client abort asocciation fixed client abort asocciation fixed cl fixed + client abort asocciation fixed client abort asocciation fixed client abort + asocciation Fixed client abort asocciation + fixed xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed - xss issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo + xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed xss + issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo servlet. - + improved start.jar usage text for properties improved start.jar usage + + improved start.jar usage text for properties improved start.jar usage + improved start.jar usage text for properties improved start.jar usage improved start.jar usage text for properties Improved start.jar usage text for properties + moved centralized logging and verifier back to sandbox moved centraliz moved + centralized logging and verifier back to sandbox moved centraliz moved centralized logging and verifier back to sandbox Moved centralized logging and verifier back to sandbox + promoted jetty centralized logging from sandbox promoted jetty central + promoted jetty centralized logging from sandbox promoted jetty central promoted jetty centralized logging from sandbox Promoted Jetty Centralized Logging from Sandbox + promoted jetty webapp verifier from sandbox promoted jetty webapp veri + promoted jetty webapp verifier from sandbox promoted jetty webapp veri promoted jetty webapp verifier from sandbox Promoted Jetty WebApp Verifier from Sandbox + refactored continuation test harnessess refactored continuation test + refactored continuation test harnessess refactored continuation test refactored continuation test harnessess Refactored continuation test harnessess @@ -5180,15 +5255,19 @@ jetty-6.1.21 - 22 September 2009 + JETTY-1113 IllegalStateException when adding servlet filters programmatically + JETTY-1114 Unsynchronize webapp classloader getResource - + fix defaultservlettest for windows fix defaultservlettest for windows fix + + fix defaultservlettest for windows fix defaultservlettest for windows fix + defaultservlettest for windows fix defaultservlettest for windows fix defaultservlettest for windows Fix DefaultServletTest for windows + include tmp directory sweeper in build include tmp directory sweeper i + include tmp directory sweeper in build include tmp directory sweeper i include tmp directory sweeper in build Include tmp directory sweeper in build + streamline jetty-jboss build, update sar to queuedthreadpool streamlin + streamline jetty-jboss build, update sar to queuedthreadpool streamlin streamline jetty-jboss build, update sar to queuedthreadpool Streamline jetty-jboss build, update sar to QueuedThreadPool - + update jetty implementation of com.sun.net.httpserver.* update jetty update + + update jetty implementation of com.sun.net.httpserver.* update jetty u + update jetty implementation of com.sun.net.httpserver.* update jetty update jetty implementation of com.sun.net.httpserver.* Update Jetty implementation of com.sun.net.httpserver.* @@ -5229,14 +5308,18 @@ jetty-7.0.0.RC6 - 21 September 2009 + JETTY-1112 Response fails if header exceeds buffer size + JETTY-1113 IllegalStateException when adding servlet filters programmatically - + copy version.txt to distro copy version.txt to distro copy version.txt to - distro Copy VERSION.txt to distro + + copy version.txt to distro copy version.txt to distro copy version.txt copy + version.txt to distro copy version.txt to distro copy version.txt to distro + Copy VERSION.txt to distro + fixed xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed - xss issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo + xss issue in cookiedump demo servlet. fixed xss issue in cookied fixed xss + issue in cookiedump demo servlet. Fixed XSS issue in CookieDump demo servlet. + remove printlns from jetty-plus remove printlns from jetty-plus remove + remove printlns from jetty-plus remove printlns from jetty-plus remove printlns from jetty-plus Remove printlns from jetty-plus - + tweak defaultservlettest under windows tweak defaultservlettest under tweak + + tweak defaultservlettest under windows tweak defaultservlettest under tweak + defaultservlettest under windows tweak defaultservlettest under tweak defaultservlettest under windows Tweak DefaultServletTest under windows jetty-6.1.20 - 27 August 2009 @@ -5269,25 +5352,33 @@ jetty-6.1.20 - 27 August 2009 + JETTY-1086 Added UncheckedPrintWriter to avoid ignored EOFs + JETTY-1087 Chunked SSL non blocking input + JETTY-1098 Upgrade jsp to SJSAS-9_1_1-B60F-07_Jan_2009 - + added debughandler added debughandler added debughandler Added DebugHandler + + added debughandler added debughandler added debughandler added debugha added + debughandler added debughandler added debughandler Added DebugHandler + added getsubscriptions to cometd client added getsubscriptions to come added + getsubscriptions to cometd client added getsubscriptions to come added getsubscriptions to cometd client Added getSubscriptions to cometd client + clarified cometd interval timeout and allow per client intervals clari + clarified cometd interval timeout and allow per client intervals clari clarified cometd interval timeout and allow per client intervals Clarified cometd interval timeout and allow per client intervals + cometd-7 max latency config for lazy messages cometd-7 max latency con + cometd-7 max latency config for lazy messages cometd-7 max latency con cometd-7 max latency config for lazy messages COMETD-7 max latency config for lazy messages + made unsubscribeall public on cometd client made unsubscribeall public made + unsubscribeall public on cometd client made unsubscribeall public made unsubscribeall public on cometd client Made unSubscribeAll public on cometd client + removed clearing of queue in unsubscribeall for cometd client removed + removed clearing of queue in unsubscribeall for cometd client removed removed clearing of queue in unsubscribeall for cometd client Removed clearing of queue in unSubscribeAll for cometd client + update main.main method to call setwar update main.main method to call + update main.main method to call setwar update main.main method to call update main.main method to call setwar Update Main.main method to call setWar + update test-jndi and test-annotation examples for atomikos 3.5.5 updat + update test-jndi and test-annotation examples for atomikos 3.5.5 updat update test-jndi and test-annotation examples for atomikos 3.5.5 Update test-jndi and test-annotation examples for atomikos 3.5.5 @@ -5343,7 +5434,8 @@ jetty-7.0.0.RC4 - 18 August 2009 + JETTY-1079 ResourceCollection.toString + JETTY-1080 Ignore files that would be extracted outside the destination directory when unpacking WARs - + added discoverable start options added discoverable start options added + + added discoverable start options added discoverable start options adde added + discoverable start options added discoverable start options added discoverable start options Added discoverable start options jetty-7.0.0.RC3 - 07 August 2009 @@ -5356,6 +5448,7 @@ jetty-7.0.0.RC3 - 07 August 2009 + 285697 extract parameters if dispatch has query + JETTY-1074 JMX thread manipulation + improved deferred authentication handling improved deferred authentica + improved deferred authentication handling improved deferred authentica improved deferred authentication handling Improved deferred authentication handling @@ -5367,16 +5460,21 @@ jetty-7.0.0.RC2 - 29 June 2009 + 284510 Enhance jetty-start for diagnosis and unit testing + 284981 Implement a cross-origin filter + 285006 fix AbstractConnector NPE during shutdown - + added debughandler added debughandler added debughandler Added DebugHandler + + added debughandler added debughandler added debughandler added debugha added + debughandler added debughandler added debughandler Added DebugHandler + added javautillog for jetty logging to java.util.logging framework add added + javautillog for jetty logging to java.util.logging framework add added javautillog for jetty logging to java.util.logging framework Added JavaUtilLog for Jetty logging to java.util.logging framework + backport jetty-8 annotation parsing to jetty-7 backport jetty-8 annota + backport jetty-8 annotation parsing to jetty-7 backport jetty-8 annota backport jetty-8 annotation parsing to jetty-7 backport jetty-8 annotation parsing to jetty-7 - + disassociate method on identityservice disassociate method on disassociate + + disassociate method on identityservice disassociate method on disassoc + disassociate method on identityservice disassociate method on disassociate method on identityservice Disassociate method on IdentityService + improved handling of overlays and resourcecollections improved handlin + improved handling of overlays and resourcecollections improved handlin improved handling of overlays and resourcecollections Improved handling of overlays and resourceCollections @@ -5414,25 +5512,33 @@ jetty-7.0.0.M3 - 20 June 2009 + 279725 Support 100 and 102 expectations + 280707 client.HttpConnection does not catch and handle non-IOExceptions + 281470 Handle the case where request.PathInfo() should be "/*" - + added continuationthrowable added continuationthrowable added + + added continuationthrowable added continuationthrowable added added + continuationthrowable added continuationthrowable added continuationthrowable Added ContinuationThrowable + added webappcontext.setconfigurationdiscovered for servlet 3.0 feature added + webappcontext.setconfigurationdiscovered for servlet 3.0 feature added webappcontext.setconfigurationdiscovered for servlet 3.0 feature added WebAppContext.setConfigurationDiscovered for servlet 3.0 features - + fixed race with expired async listeners fixed race with expired async fixed - race with expired async listeners fixed race with expired async listeners + + fixed race with expired async listeners fixed race with expired async fixed + race with expired async listeners fixed race with expired async fixed race + with expired async listeners fixed race with expired async listeners + numerous cleanups from static code analysis numerous cleanups from sta + numerous cleanups from static code analysis numerous cleanups from sta numerous cleanups from static code analysis Numerous cleanups from static code analysis - + portable continuations for jetty6 and servlet3 portable continuations + + portable continuations for jetty6 and servlet3 portable continuations + portable continuations for jetty6 and servlet3 portable continuations portable continuations for jetty6 and servlet3 Portable continuations for jetty6 and servlet3 + refactored abstractbuffers to httpbuffers for performance refactored + refactored abstractbuffers to httpbuffers for performance refactored refactored abstractbuffers to httpbuffers for performance Refactored AbstractBuffers to HttpBuffers for performance + refactored configuration mechanism refactored configuration mechanism refactored configuration mechanism refactored configuration mechanism + refactored configuration mechanism refactored configuration mechanism + refactored continuations to only support response wrapping refactored + refactored continuations to only support response wrapping refactored refactored continuations to only support response wrapping Refactored continuations to only support response wrapping @@ -5470,7 +5576,8 @@ jetty-6.1.18 - 16 May 2009 jetty-5.1.15 - 18 May 2009 + JETTY-418 synchronized load class + JETTY-1004 CERT VU402580 Canonical path handling includes ? in path segment - + fixes for cert438616-cert237888-cert21284 fixes for fixes for + + fixes for cert438616-cert237888-cert21284 fixes for fixes for fixes for + cert438616-cert237888-cert21284 fixes for fixes for cert438616-cert237888-cert21284 Fixes for CERT438616-CERT237888-CERT21284 jetty-6.1.17 - 30 April 2009 @@ -5502,15 +5609,19 @@ jetty-7.0.0.M1 - 22 April 2009 + 273153 Test for Nested references in DispatchServlet + JETTY-695 Handler dump + JETTY-983 DefaultServlet generates accept-ranges for cached/gzip content - + initial support for loginservice.logout initial support for initial support + + initial support for loginservice.logout initial support for initial su + initial support for loginservice.logout initial support for initial support for loginservice.logout Initial support for LoginService.logout - + removed httpconnection specifics from connection dispatching removed removed + + removed httpconnection specifics from connection dispatching removed r + removed httpconnection specifics from connection dispatching removed removed httpconnection specifics from connection dispatching Removed HTTPConnection specifics from connection dispatching + reworked authentication for deferred authentication reworked authentic + reworked authentication for deferred authentication reworked authentic reworked authentication for deferred authentication Reworked authentication for deferred authentication - + reworked jmx for new layout reworked jmx for new layout reworked jmx for new + + reworked jmx for new layout reworked jmx for new layout reworked jmx f + reworked jmx for new layout reworked jmx for new layout reworked jmx for new layout Reworked JMX for new layout jetty-6.1.16 - 01 April 2009 @@ -5625,9 +5736,11 @@ jetty-7.0.0.M0 - 27 March 2009 + JETTY-953 SSL keystore file input stream is not being closed directly + JETTY-956 SslSelectChannelConnector - password should be the default value of keyPassword if not specified - + moved to org.eclipse packages moved to org.eclipse packages moved to - org.eclipse packages moved to org.eclipse packages - + simplified handlercontainer api simplified handlercontainer api simplified + + moved to org.eclipse packages moved to org.eclipse packages moved to moved + to org.eclipse packages moved to org.eclipse packages moved to org.eclipse + packages moved to org.eclipse packages + + simplified handlercontainer api simplified handlercontainer api simpli + simplified handlercontainer api simplified handlercontainer api simplified handlercontainer api simplified HandlerContainer API jetty-6.1.15 - 04 March 2009 @@ -5681,6 +5794,7 @@ jetty-6.1.15.rc2 - 23 January 2009 + JETTY-567 Delay in initial TLS Handshake With FireFox 3 beta5 and SslSelectChannelConnector + adjustment to jetty-client assembly packaging adjustment to jetty-clie + adjustment to jetty-client assembly packaging adjustment to jetty-clie adjustment to jetty-client assembly packaging adjustment to jetty-client assembly packaging @@ -5949,7 +6063,8 @@ jetty-7.0.0pre3 - 06 August 2008 with byte value 0) + JETTY-675 ServletContext.getRealPath("") returns null instead of returning the root dir of the webapp - + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade + + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upg + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 Upgrade jsp 2.1 to SJSAS-9_1_02-B04-11_Apr_2008 @@ -6002,7 +6117,8 @@ jetty-6.1.12rc1 - 01 August 2008 + JETTY-667 HttpClient handles chunked content + JETTY-669 Http methods other than GET and POST should not have error page content - + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade + + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upg + upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 upgrade jsp 2.1 to upgrade jsp 2.1 to sjsas-9_1_02-b04-11_apr_2008 Upgrade jsp 2.1 to SJSAS-9_1_02-B04-11_Apr_2008 @@ -6068,7 +6184,8 @@ jetty-6.1.10 - 20 May 2008 + JETTY-566 allow for non-blocking behavior in jetty maven plugin + JETTY-572 unique cometd client ID + JETTY-579 osgi fixes with management and servlet resources - + use queuedthreadpool as default use queuedthreadpool as default use + + use queuedthreadpool as default use queuedthreadpool as default use use + queuedthreadpool as default use queuedthreadpool as default use queuedthreadpool as default Use QueuedThreadPool as default jetty-7.0.0pre1 - 03 May 2008 @@ -6077,18 +6194,23 @@ jetty-7.0.0pre1 - 03 May 2008 + JETTY-558 optional handling of X-Forwarded-For/Host/Server + JETTY-559 ignore unsupported shutdownOutput + JETTY-566 allow for non-blocking behavior in jetty maven plugin - + address osgi bundling issue relating to build resources address osgi address + + address osgi bundling issue relating to build resources address osgi a + address osgi bundling issue relating to build resources address osgi address osgi bundling issue relating to build resources address osgi bundling issue relating to build resources + allow annotations example to be built regularly, copy to contexts-avai allow + annotations example to be built regularly, copy to contexts-avai allow annotations example to be built regularly, copy to contexts-avai Allow annotations example to be built regularly, copy to contexts-available + improved suspend examples improved suspend examples improved suspend + improved suspend examples improved suspend examples improved suspend examples Improved suspend examples - + make annotations example consistent with servlet 3.0 make annotations make + + make annotations example consistent with servlet 3.0 make annotations make + annotations example consistent with servlet 3.0 make annotations make annotations example consistent with servlet 3.0 Make annotations example consistent with servlet 3.0 - + refactor jndi impl to simplify refactor jndi impl to simplify refactor jndi + + refactor jndi impl to simplify refactor jndi impl to simplify refactor + refactor jndi impl to simplify refactor jndi impl to simplify refactor jndi impl to simplify Refactor JNDI impl to simplify jetty-7.0.0pre0 - 21 April 2008 @@ -6130,32 +6252,43 @@ jetty-7.0.0pre0 - 21 April 2008 + JETTY-557 Allow ServletContext.setAttribute before start + JETTY-560 Allow decoupling of jndi names in web.xml + added option to dispatch to suspended requests. added option to dispat added + option to dispatch to suspended requests. added option to dispat added option to dispatch to suspended requests. Added option to dispatch to suspended requests. + bayeuxclient use a single connection for polling bayeuxclient use a si + bayeuxclient use a single connection for polling bayeuxclient use a si bayeuxclient use a single connection for polling BayeuxClient use a single connection for polling - + delay 100 continues until getinputstream delay 100 continues until delay 100 + + delay 100 continues until getinputstream delay 100 continues until del delay + 100 continues until getinputstream delay 100 continues until delay 100 continues until getinputstream Delay 100 continues until getInputStream + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca ensure jotm tx mgr can be found in jetty-env.xml Ensure Jotm tx mgr can be found in jetty-env.xml + httpclient supports pipelined request httpclient supports pipelined re + httpclient supports pipelined request httpclient supports pipelined re httpclient supports pipelined request HttpClient supports pipelined request - + jetty-6.1.8 changes jetty-6.1.8 changes jetty-6.1.8 changes Jetty-6.1.8 + + jetty-6.1.8 changes jetty-6.1.8 changes jetty-6.1.8 changes jetty-6.1. + jetty-6.1.8 changes jetty-6.1.8 changes jetty-6.1.8 changes Jetty-6.1.8 Changes - + make javax.servlet.jsp optional osgi import for jetty module make make + + make javax.servlet.jsp optional osgi import for jetty module make make make + javax.servlet.jsp optional osgi import for jetty module make make javax.servlet.jsp optional osgi import for jetty module Make javax.servlet.jsp optional osgi import for jetty module - + queuedthreadpool default queuedthreadpool default queuedthreadpool default + + queuedthreadpool default queuedthreadpool default queuedthreadpool def + queuedthreadpool default queuedthreadpool default queuedthreadpool default QueuedThreadPool default - + refactor of continuation towards servlet 3.0 proposal refactor of refactor + + refactor of continuation towards servlet 3.0 proposal refactor of refa + refactor of continuation towards servlet 3.0 proposal refactor of refactor of continuation towards servlet 3.0 proposal Refactor of Continuation towards servlet 3.0 proposal + renamed modules management and naming to jmx and jndi. renamed modules + renamed modules management and naming to jmx and jndi. renamed modules renamed modules management and naming to jmx and jndi. Renamed modules management and naming to jmx and jndi. - + retryrequest exception now extends threaddeath retryrequest exception + + retryrequest exception now extends threaddeath retryrequest exception + retryrequest exception now extends threaddeath retryrequest exception retryrequest exception now extends threaddeath RetryRequest exception now extends ThreadDeath @@ -6173,9 +6306,11 @@ jetty-6.1.9 - 26 March 2008 + JETTY-538 test harness fix for windows + JETTY-541 Cometd per client timeouts + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca + ensure jotm tx mgr can be found in jetty-env.xml ensure jotm tx mgr ca ensure jotm tx mgr can be found in jetty-env.xml Ensure Jotm tx mgr can be found in jetty-env.xml - + make javax.servlet.jsp optional osgi import for jetty module make make + + make javax.servlet.jsp optional osgi import for jetty module make make make + javax.servlet.jsp optional osgi import for jetty module make make javax.servlet.jsp optional osgi import for jetty module Make javax.servlet.jsp optional osgi import for jetty module @@ -6200,47 +6335,64 @@ jetty-6.1.8 - 28 February 2008 + JETTY-513 Terracotta session replication does not work when the initial page on each server does not set any attributes + JETTY-515 Timer is missing scavenging Task in HashSessionManager - + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn + + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" add "mv add + "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn jetty:stop" - + added bayeuxservice added bayeuxservice added bayeuxservice Added - BayeuxService + + added bayeuxservice added bayeuxservice added bayeuxservice added added + bayeuxservice added bayeuxservice added bayeuxservice Added BayeuxService + added json.convertor and non static json instances added json.converto added + json.convertor and non static json instances added json.converto added json.convertor and non static json instances Added JSON.Convertor and non static JSON instances - + added queuedthreadpool added queuedthreadpool added queuedthreadpool Added + + added queuedthreadpool added queuedthreadpool added queuedthreadpool a added + queuedthreadpool added queuedthreadpool added queuedthreadpool Added QueuedThreadPool - + add removehandler(handler) method to handlercontainer interface add add + + add removehandler(handler) method to handlercontainer interface add ad add + removehandler(handler) method to handlercontainer interface add add removehandler(handler) method to handlercontainer interface add removeHandler(Handler) method to HandlerContainer interface - + ajp handles bad mod_jk methods ajp handles bad mod_jk methods ajp handles - bad mod_jk methods AJP handles bad mod_jk methods - + allow code ranges on errorpageerrorhandler allow code ranges on allow code - ranges on errorpageerrorhandler Allow code ranges on ErrorPageErrorHandler + + ajp handles bad mod_jk methods ajp handles bad mod_jk methods ajp hand ajp + handles bad mod_jk methods ajp handles bad mod_jk methods ajp handles bad + mod_jk methods AJP handles bad mod_jk methods + + allow code ranges on errorpageerrorhandler allow code ranges on allow allow + code ranges on errorpageerrorhandler allow code ranges on allow code ranges + on errorpageerrorhandler Allow code ranges on ErrorPageErrorHandler + allow sessions to be periodically persisted to disk allow sessions to allow + sessions to be periodically persisted to disk allow sessions to allow sessions to be periodically persisted to disk allow sessions to be periodically persisted to disk - + cookie support in bayeuxclient cookie support in bayeuxclient cookie support + + cookie support in bayeuxclient cookie support in bayeuxclient cookie s + cookie support in bayeuxclient cookie support in bayeuxclient cookie support in bayeuxclient Cookie support in BayeuxClient - + fixed json negative numbers fixed json negative numbers fixed json negative + + fixed json negative numbers fixed json negative numbers fixed json neg fixed + json negative numbers fixed json negative numbers fixed json negative numbers Fixed JSON negative numbers + further optimizations and improvements of cometd further optimizations + further optimizations and improvements of cometd further optimizations further optimizations and improvements of cometd further Optimizations and improvements of Cometd - + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts + + grizzly fixed for posts grizzly fixed for posts grizzly fixed for post + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts - + improved bayeux api improved bayeux api improved bayeux api Improved Bayeux + + improved bayeux api improved bayeux api improved bayeux api improved b + improved bayeux api improved bayeux api improved bayeux api Improved Bayeux API - + improved cometd timeout handling improved cometd timeout handling improved + + improved cometd timeout handling improved cometd timeout handling impr + improved cometd timeout handling improved cometd timeout handling improved cometd timeout handling Improved Cometd timeout handling - + json unquotes / json unquotes / json unquotes / JSON unquotes / - + long cache for json long cache for json long cache for json Long cache for - JSON + + json unquotes / json unquotes / json unquotes / json unquotes / json + unquotes / json unquotes / json unquotes / JSON unquotes / + + long cache for json long cache for json long cache for json long cache long + cache for json long cache for json long cache for json Long cache for JSON + optimizations and improvements of cometd, more pooled objects optimiza + optimizations and improvements of cometd, more pooled objects optimiza optimizations and improvements of cometd, more pooled objects Optimizations and improvements of Cometd, more pooled objects - + optimized quotedstringtokenizer.quote() optimized optimized + + optimized quotedstringtokenizer.quote() optimized optimized optimized + quotedstringtokenizer.quote() optimized optimized quotedstringtokenizer.quote() Optimized QuotedStringTokenizer.quote() + remove duplicate commons-logging jars and include sslengine in jboss s + remove duplicate commons-logging jars and include sslengine in jboss s remove duplicate commons-logging jars and include sslengine in jboss s Remove duplicate commons-logging jars and include sslengine in jboss sar @@ -6252,27 +6404,35 @@ jetty-6.1.7 - 22 December 2007 + JETTY-474 Fixed case sensitivity issue with HttpFields + JETTY-486 Improved jetty.sh script + JETTY-487 Handle empty chunked request - + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn + + add "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" add "mv add + "mvn jetty:stop" add "mvn jetty:stop" add "mvn jetty:stop" Add "mvn jetty:stop" - + added bayeuxservice added bayeuxservice added bayeuxservice Added - BayeuxService + + added bayeuxservice added bayeuxservice added bayeuxservice added added + bayeuxservice added bayeuxservice added bayeuxservice Added BayeuxService + added json.convertor and non static json instances added json.converto added + json.convertor and non static json instances added json.converto added json.convertor and non static json instances Added JSON.Convertor and non static JSON instances + allow sessions to be periodically persisted to disk allow sessions to allow + sessions to be periodically persisted to disk allow sessions to allow sessions to be periodically persisted to disk allow sessions to be periodically persisted to disk - + cookie support in bayeuxclient cookie support in bayeuxclient cookie support + + cookie support in bayeuxclient cookie support in bayeuxclient cookie s + cookie support in bayeuxclient cookie support in bayeuxclient cookie support in bayeuxclient Cookie support in BayeuxClient - + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts + + grizzly fixed for posts grizzly fixed for posts grizzly fixed for post + grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts grizzly fixed for posts + jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk + jetty-6.1 branch created from 6.1.6 and r593 of jetty-contrib trunk + optimizations and improvements of cometd, more pooled objects optimiza + optimizations and improvements of cometd, more pooled objects optimiza optimizations and improvements of cometd, more pooled objects Optimizations and improvements of Cometd, more pooled objects - + update java5 patch update java5 patch update java5 patch Update java5 patch + + update java5 patch update java5 patch update java5 patch update java5 + update java5 patch update java5 patch update java5 patch Update java5 patch jetty-6.1.6 - 18 November 2007 + JETTY-455 Optional cometd id @@ -6280,10 +6440,12 @@ jetty-6.1.6 - 18 November 2007 + JETTY-461 fixed cometd unknown channel + JETTY-464 typo in ErrorHandler + JETTY-465 System.exit() in constructor exception for MultiPartOutputStream - + rudimentary debian packaging rudimentary debian packaging rudimentary debian + + rudimentary debian packaging rudimentary debian packaging rudimentary + rudimentary debian packaging rudimentary debian packaging rudimentary debian packaging rudimentary debian packaging + updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 + updated grizzly connector to 1.6.1 updated grizzly connector to 1.6.1 jetty-6.1.6rc1 - 05 November 2007 + JETTY-388 Handle utf-16 and other multibyte non-utf-8 form content @@ -6301,26 +6463,35 @@ jetty-6.1.6rc1 - 05 November 2007 + JETTY-456 allow null keystore for osX + JETTY-457 AJP certificate chains + added configuration file for capturing stderr and stdout added configu added + configuration file for capturing stderr and stdout added configu added configuration file for capturing stderr and stdout Added configuration file for capturing stderr and stdout + 38616 CERT VU#38616 handle single quotes in cookie names - + give bayeux timer name give bayeux timer name give bayeux timer name Give - bayeux timer name + + give bayeux timer name give bayeux timer name give bayeux timer name g give + bayeux timer name give bayeux timer name give bayeux timer name Give bayeux + timer name + give terracotta session scavenger a name give terracotta session scave give + terracotta session scavenger a name give terracotta session scave give terracotta session scavenger a name Give Terracotta session scavenger a name - + housekeeping on poms housekeeping on poms housekeeping on poms Housekeeping + + housekeeping on poms housekeeping on poms housekeeping on poms houseke + housekeeping on poms housekeeping on poms housekeeping on poms Housekeeping on poms + improved json parsing from readers improved json parsing from readers + improved json parsing from readers improved json parsing from readers improved json parsing from readers Improved JSON parsing from Readers + jetty eclipse plugin 1.0.1: force copy of context file on redeploy jet jetty + eclipse plugin 1.0.1: force copy of context file on redeploy jet jetty eclipse plugin 1.0.1: force copy of context file on redeploy Jetty Eclipse Plugin 1.0.1: force copy of context file on redeploy + moved some impl classes from jsp-api-2.1 to jsp-2.1 moved some impl cl moved - some impl classes from jsp-api-2.1 to jsp-2.1 Moved some impl classes from + some impl classes from jsp-api-2.1 to jsp-2.1 moved some impl cl moved some + impl classes from jsp-api-2.1 to jsp-2.1 Moved some impl classes from jsp-api-2.1 to jsp-2.1 - + updated for dojo 1.0(rc) cometd updated for dojo 1.0(rc) cometd updated for + + updated for dojo 1.0(rc) cometd updated for dojo 1.0(rc) cometd update + updated for dojo 1.0(rc) cometd updated for dojo 1.0(rc) cometd updated for dojo 1.0(rc) cometd Updated for dojo 1.0(rc) cometd + upgrade jsp 2.1 to sjsas-9_1-b58g-fcs-08_sept_2007 upgrade jsp 2.1 to + upgrade jsp 2.1 to sjsas-9_1-b58g-fcs-08_sept_2007 upgrade jsp 2.1 to upgrade jsp 2.1 to sjsas-9_1-b58g-fcs-08_sept_2007 Upgrade jsp 2.1 to SJSAS-9_1-B58G-FCS-08_Sept_2007 @@ -6344,99 +6515,133 @@ jetty-6.1.6rc0 - 03 October 2007 + JETTY-430 improved cometd logging + JETTY-431 HttpClient soTimeout + add ability to persist sessions with hashsessionmanager add ability to add + ability to persist sessions with hashsessionmanager add ability to add ability to persist sessions with hashsessionmanager Add ability to persist sessions with HashSessionManager + added concatservlet to combine javascript and css added concatservlet added + concatservlet to combine javascript and css added concatservlet added concatservlet to combine javascript and css Added ConcatServlet to combine javascript and css + added jetty.lib system property to start.config added jetty.lib system added + jetty.lib system property to start.config added jetty.lib system added jetty.lib system property to start.config Added jetty.lib system property to start.config - + added jpackage rpm support added jpackage rpm support added jpackage rpm - support Added JPackage RPM support - + added json.convertable added json.convertable added json.convertable Added + + added jpackage rpm support added jpackage rpm support added jpackage r added + jpackage rpm support added jpackage rpm support added jpackage rpm support + Added JPackage RPM support + + added json.convertable added json.convertable added json.convertable a added + json.convertable added json.convertable added json.convertable Added JSON.Convertable - + adding setusername,setgroupname to setuid and mavenizing native build - adding setusername,setgroupname to setuid and mavenizing native build Adding + + adding setusername,setgroupname to setuid and mavenizing native build adding + setusername,setgroupname to setuid and mavenizing native build adding + setusername,setgroupname to setuid and mavenizing native build Adding setUsername,setGroupname to setuid and mavenizing native build - + add jetty.host system property add jetty.host system property add jetty.host + + add jetty.host system property add jetty.host system property add jett add + jetty.host system property add jetty.host system property add jetty.host system property Add jetty.host system property - + ajp13 fix on chunked post ajp13 fix on chunked post ajp13 fix on chunked - post AJP13 Fix on chunked post - + allow properties files on the xmlconfiguration command line. allow allow + + ajp13 fix on chunked post ajp13 fix on chunked post ajp13 fix on chunk ajp13 + fix on chunked post ajp13 fix on chunked post ajp13 fix on chunked post + AJP13 Fix on chunked post + + allow properties files on the xmlconfiguration command line. allow all allow + properties files on the xmlconfiguration command line. allow allow properties files on the xmlconfiguration command line. Allow properties files on the XmlConfiguration command line. + allow scan interval to be set after scanner started allow scan interva allow - scan interval to be set after scanner started Allow scan interval to be set - after Scanner started + scan interval to be set after scanner started allow scan interva allow scan + interval to be set after scanner started Allow scan interval to be set after + Scanner started + avoid full exception in window between blockforoutput and remote close avoid - full exception in window between blockforoutput and remote close Avoid FULL + full exception in window between blockforoutput and remote close avoid full + exception in window between blockforoutput and remote close Avoid FULL exception in window between blockForOutput and remote close + cached user agents strings in the /org/mortbay/jetty/useragents resour + cached user agents strings in the /org/mortbay/jetty/useragents resour cached user agents strings in the /org/mortbay/jetty/useragents resour Cached user agents strings in the /org/mortbay/jetty/useragents resource + cve-2007-5615 added protection for response splitting with bad headers + cve-2007-5615 added protection for response splitting with bad headers cve-2007-5615 added protection for response splitting with bad headers CVE-2007-5615 Added protection for response splitting with bad headers. - + ensure session is completed only when leaving context. ensure session - ensure session is completed only when leaving context. Ensure session is - completed only when leaving context. - + fix cached header optimization for extra characters fix cached header fix - cached header optimization for extra characters Fix cached header - optimization for extra characters - + fix host header for async client fix host header for async client fix host + + ensure session is completed only when leaving context. ensure session ensure + session is completed only when leaving context. ensure session ensure + session is completed only when leaving context. Ensure session is completed + only when leaving context. + + fix cached header optimization for extra characters fix cached header fix + cached header optimization for extra characters fix cached header fix cached + header optimization for extra characters Fix cached header optimization for + extra characters + + fix host header for async client fix host header for async client fix fix + host header for async client fix host header for async client fix host header for async client Fix Host header for async client + fix patch for java5 to include cometd module fix patch for java5 to in fix - patch for java5 to include cometd module Fix patch for java5 to include - cometd module + patch for java5 to include cometd module fix patch for java5 to in fix patch + for java5 to include cometd module Fix patch for java5 to include cometd + module + fix typo in async client onresponsetheader method name fix typo in asy fix - typo in async client onresponsetheader method name Fix typo in async client + typo in async client onresponsetheader method name fix typo in asy fix typo + in async client onresponsetheader method name Fix typo in async client onResponsetHeader method name + give deployment file scanner threads a unique name give deployment fil give + deployment file scanner threads a unique name give deployment fil give deployment file scanner threads a unique name Give deployment file Scanner threads a unique name + make default time format for requestlog match ncsa default make defaul make + default time format for requestlog match ncsa default make defaul make default time format for requestlog match ncsa default Make default time format for RequestLog match NCSA default + make mx4j used only if runtime uses jdk<1.5 make mx4j used only if run make - mx4j used only if runtime uses jdk<1.5 Make mx4j used only if runtime uses + mx4j used only if runtime uses jdk<1.5 make mx4j used only if run make mx4j + used only if runtime uses jdk<1.5 Make mx4j used only if runtime uses jdk<1.5 - + moved grizzly to contrib moved grizzly to contrib moved grizzly to contrib - Moved Grizzly to contrib - + prevent infinite loop on stopping with temp dir prevent infinite loop + + moved grizzly to contrib moved grizzly to contrib moved grizzly to con moved + grizzly to contrib moved grizzly to contrib moved grizzly to contrib Moved + Grizzly to contrib + + prevent infinite loop on stopping with temp dir prevent infinite loop + prevent infinite loop on stopping with temp dir prevent infinite loop prevent infinite loop on stopping with temp dir Prevent infinite loop on stopping with temp dir + removal of unneeded dependencies from management, maven-plugin, naming + removal of unneeded dependencies from management, maven-plugin, naming removal of unneeded dependencies from management, maven-plugin, naming Removal of unneeded dependencies from management, maven-plugin, naming & plus poms + setuid option to support setgid setuid option to support setgid setuid + setuid option to support setgid setuid option to support setgid setuid option to support setgid SetUID option to support setgid + tweak osgi manifests to remove unneeded imports tweak osgi manifests t tweak - osgi manifests to remove unneeded imports Tweak OSGi manifests to remove - unneeded imports + osgi manifests to remove unneeded imports tweak osgi manifests t tweak osgi + manifests to remove unneeded imports Tweak OSGi manifests to remove unneeded + imports + updated readme, test index.html file and jetty-plus.xml file updated r + updated readme, test index.html file and jetty-plus.xml file updated r updated readme, test index.html file and jetty-plus.xml file Updated README, test index.html file and jetty-plus.xml file + update jasper2.1 to tag sjsas-9_1-b58c-fcs-22_aug_2007 update jasper2. + update jasper2.1 to tag sjsas-9_1-b58c-fcs-22_aug_2007 update jasper2. update jasper2.1 to tag sjsas-9_1-b58c-fcs-22_aug_2007 Update jasper2.1 to tag SJSAS-9_1-B58C-FCS-22_Aug_2007 + update terracotta to 2.4.1 and exclude ssl classes update terracotta t + update terracotta to 2.4.1 and exclude ssl classes update terracotta t update terracotta to 2.4.1 and exclude ssl classes Update terracotta to 2.4.1 and exclude ssl classes + use terracotta repo for build; make jetty a terracotta module use terr use + terracotta repo for build; make jetty a terracotta module use terr use terracotta repo for build; make jetty a terracotta module Use terracotta repo for build; make jetty a terracotta module - + utf-8 for bayeux client utf-8 for bayeux client utf-8 for bayeux client - UTF-8 for bayeux client + + utf-8 for bayeux client utf-8 for bayeux client utf-8 for bayeux clien utf-8 + for bayeux client utf-8 for bayeux client utf-8 for bayeux client UTF-8 for + bayeux client jetty-6.1.5 - 19 July 2007 + JETTY-392 updated LikeJettyXml example - + fixed gzipfilter for dispatchers fixed gzipfilter for dispatchers fixed - gzipfilter for dispatchers Fixed GzipFilter for dispatchers - + fixed reset of reason fixed reset of reason fixed reset of reason Fixed - reset of reason + + fixed gzipfilter for dispatchers fixed gzipfilter for dispatchers fixe fixed + gzipfilter for dispatchers fixed gzipfilter for dispatchers fixed gzipfilter + for dispatchers Fixed GzipFilter for dispatchers + + fixed reset of reason fixed reset of reason fixed reset of reason fixe fixed + reset of reason fixed reset of reason fixed reset of reason Fixed reset of + reason + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 Upgrade to Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 @@ -6453,41 +6658,55 @@ jetty-6.1.5rc0 - 15 July 0200 + JETTY-385 EncodeURL for new sessions from dispatch + JETTY-386 Allow // in file resources + added gzipfilter and useragentfilter added gzipfilter and useragentfil added + gzipfilter and useragentfilter added gzipfilter and useragentfil added gzipfilter and useragentfilter Added GzipFilter and UserAgentFilter + dispatch sslengine expiry (non atomic) dispatch sslengine expiry (non + dispatch sslengine expiry (non atomic) dispatch sslengine expiry (non dispatch sslengine expiry (non atomic) Dispatch SslEngine expiry (non atomic) - + improved request log configuration options improved request log improved + + improved request log configuration options improved request log improv + improved request log configuration options improved request log improved request log configuration options Improved Request log configuration options + make jetty plus example webapps use contextdeployer make jetty plus ex make - jetty plus example webapps use contextdeployer make jetty plus example - webapps use ContextDeployer - + make osgi manifests for jetty jars make osgi manifests for jetty jars make - osgi manifests for jetty jars make OSGi manifests for jetty jars + jetty plus example webapps use contextdeployer make jetty plus ex make jetty + plus example webapps use contextdeployer make jetty plus example webapps use + ContextDeployer + + make osgi manifests for jetty jars make osgi manifests for jetty jars make + osgi manifests for jetty jars make osgi manifests for jetty jars make osgi + manifests for jetty jars make OSGi manifests for jetty jars + make slf4jlog impl public, add mbean descriptors make slf4jlog impl pu make + slf4jlog impl public, add mbean descriptors make slf4jlog impl pu make slf4jlog impl public, add mbean descriptors Make SLF4JLog impl public, add mbean descriptors + protect sslselectchannelconnector from exceptions during close protect + protect sslselectchannelconnector from exceptions during close protect protect sslselectchannelconnector from exceptions during close Protect SslSelectChannelConnector from exceptions during close + remove call to open connectors in jetty.xml remove call to open connec + remove call to open connectors in jetty.xml remove call to open connec remove call to open connectors in jetty.xml remove call to open connectors in jetty.xml - + setuid option to only open connectors before setuid. setuid option to - setuid option to only open connectors before setuid. SetUID option to only - open connectors before setUID. + + setuid option to only open connectors before setuid. setuid option to setuid + option to only open connectors before setuid. setuid option to setuid option + to only open connectors before setuid. SetUID option to only open connectors + before setUID. + spr-3682 - dont hide forward attr in include. spr-3682 - dont hide for + spr-3682 - dont hide forward attr in include. spr-3682 - dont hide for spr-3682 - dont hide forward attr in include. SPR-3682 - dont hide forward attr in include. - + update links on website update links on website update links on website + + update links on website update links on website update links on websit + update links on website update links on website update links on website update links on website + update terracotta configs for tc 2.4 stable1 update terracotta configs + update terracotta configs for tc 2.4 stable1 update terracotta configs update terracotta configs for tc 2.4 stable1 update terracotta configs for tc 2.4 stable1 + update terracotta session clustering to terracotta 2.4 update terracot + update terracotta session clustering to terracotta 2.4 update terracot update terracotta session clustering to terracotta 2.4 update terracotta session clustering to terracotta 2.4 + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to + upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 upgrade to upgrade to jasper 2.1 tag sjsas-9_1-b50g-beta3-27_june_2007 Upgrade to Jasper 2.1 tag SJSAS-9_1-B50G-BETA3-27_June_2007 @@ -6496,8 +6715,8 @@ jetty-6.1.4 - 15 June 2007 + JETTY-371 Fixed chunked HEAD response + JETTY-372 make test for cookie caching more rigorous + fixed early open() call in nio connectors fixed early open() call in n fixed - early open() call in nio connectors fixed early open() call in NIO - connectors + early open() call in nio connectors fixed early open() call in n fixed early + open() call in nio connectors fixed early open() call in NIO connectors jetty-6.1.4rc1 - 10 June 2007 + JETTY-310 better exception when no filter file for cometd servlet @@ -6511,19 +6730,25 @@ jetty-6.1.4rc1 - 10 June 2007 + JETTY-362 More object locks + JETTY-365 make needClientAuth work on SslSelectChannelConnector + JETTY-366 JETTY-368 Improved bayeux disconnect - + async client improvements async client improvements async client - improvements async client improvements + + async client improvements async client improvements async client async + client improvements async client improvements async client improvements + async client improvements + fixed handling of large streamed files fixed handling of large streame fixed + handling of large streamed files fixed handling of large streame fixed handling of large streamed files fixed handling of large streamed files + fixed synchronization conflict sslselectchannel and selectchannel fixe fixed + synchronization conflict sslselectchannel and selectchannel fixe fixed synchronization conflict sslselectchannel and selectchannel Fixed synchronization conflict SslSelectChannel and SelectChannel - + moved documentation for jetty and jspc maven plugins to wiki moved moved + + moved documentation for jetty and jspc maven plugins to wiki moved mov moved + documentation for jetty and jspc maven plugins to wiki moved moved documentation for jetty and jspc maven plugins to wiki moved documentation for jetty and jspc maven plugins to wiki - + optional static content cache optional static content cache optional static + + optional static content cache optional static content cache optional s + optional static content cache optional static content cache optional static content cache Optional static content cache + work around ibm jvm socket close issue work around ibm jvm socket clos work + around ibm jvm socket close issue work around ibm jvm socket clos work around ibm jvm socket close issue Work around IBM JVM socket close issue jetty-6.1.4rc0 - 01 June 2007 @@ -6543,42 +6768,58 @@ jetty-6.1.4rc0 - 01 June 2007 + JETTY-347 Fixed type util init + JETTY-352 Object locks + add (commented out) jspc precompile to test-webapp add (commented out) add + (commented out) jspc precompile to test-webapp add (commented out) add (commented out) jspc precompile to test-webapp Add (commented out) jspc precompile to test-webapp + add ability to run cometd webapps to maven plugin add ability to run c add + ability to run cometd webapps to maven plugin add ability to run c add ability to run cometd webapps to maven plugin Add ability to run cometd webapps to maven plugin - + add slf4j-api for upgraded version add slf4j-api for upgraded version add + + add slf4j-api for upgraded version add slf4j-api for upgraded version add + slf4j-api for upgraded version add slf4j-api for upgraded version add slf4j-api for upgraded version Add slf4j-api for upgraded version + allow xmlconfiguration properties to be configured allow xmlconfigurat allow + xmlconfiguration properties to be configured allow xmlconfigurat allow xmlconfiguration properties to be configured Allow XmlConfiguration properties to be configured - + change scope of fields for session change scope of fields for session change + + change scope of fields for session change scope of fields for session + change scope of fields for session change scope of fields for session change scope of fields for session Change scope of fields for Session + delay ssl handshake until after dispatch in sslsocketconnector delay s delay - ssl handshake until after dispatch in sslsocketconnector Delay ssl handshake + ssl handshake until after dispatch in sslsocketconnector delay s delay ssl + handshake until after dispatch in sslsocketconnector Delay ssl handshake until after dispatch in sslSocketConnector - + fixed jsp close handling fixed jsp close handling fixed jsp close handling - fixed JSP close handling - + fixed waiting continuation reset fixed waiting continuation reset fixed - waiting continuation reset fixed waiting continuation reset - + improved date header handling improved date header handling improved date + + fixed jsp close handling fixed jsp close handling fixed jsp close hand fixed + jsp close handling fixed jsp close handling fixed jsp close handling fixed + JSP close handling + + fixed waiting continuation reset fixed waiting continuation reset fixe fixed + waiting continuation reset fixed waiting continuation reset fixed waiting + continuation reset fixed waiting continuation reset + + improved date header handling improved date header handling improved d + improved date header handling improved date header handling improved date header handling improved date header handling - + optional send date header. server.setsenddateheader(boolean) optional + + optional send date header. server.setsenddateheader(boolean) optional + optional send date header. server.setsenddateheader(boolean) optional optional send date header. server.setsenddateheader(boolean) Optional send Date header. Server.setSendDateHeader(boolean) + reorganized import of contrib modules reorganized import of contrib mo + reorganized import of contrib modules reorganized import of contrib mo reorganized import of contrib modules Reorganized import of contrib modules + set so_timeout during ssl handshake as an option on sslsocketconnector set + so_timeout during ssl handshake as an option on sslsocketconnector set so_timeout during ssl handshake as an option on sslsocketconnector Set so_timeout during ssl handshake as an option on SslSocketConnector - + unified jmx configuration unified jmx configuration unified jmx - configuration Unified JMX configuration - + updated junit to 3.8.2 updated junit to 3.8.2 updated junit to 3.8.2 Updated + + unified jmx configuration unified jmx configuration unified jmx unified jmx + configuration unified jmx configuration unified jmx configuration Unified + JMX configuration + + updated junit to 3.8.2 updated junit to 3.8.2 updated junit to 3.8.2 u + updated junit to 3.8.2 updated junit to 3.8.2 updated junit to 3.8.2 Updated junit to 3.8.2 - + updated slf4j version to 1.3.1 updated slf4j version to 1.3.1 updated slf4j + + updated slf4j version to 1.3.1 updated slf4j version to 1.3.1 updated + updated slf4j version to 1.3.1 updated slf4j version to 1.3.1 updated slf4j version to 1.3.1 Updated slf4j version to 1.3.1 - + update etc/jetty-ssl.xml with new handshake timeout setting update update + + update etc/jetty-ssl.xml with new handshake timeout setting update upd + update etc/jetty-ssl.xml with new handshake timeout setting update update etc/jetty-ssl.xml with new handshake timeout setting update etc/jetty-ssl.xml with new handshake timeout setting @@ -6587,6 +6828,7 @@ jetty-6.1.3 - 04 May 2007 + JETTY-315 suppressed warning + JETTY-322 AJP13 cping and keep alive + handle crlf for content in header optimization handle crlf for content + handle crlf for content in header optimization handle crlf for content handle crlf for content in header optimization Handle CRLF for content in header optimization @@ -6595,29 +6837,36 @@ jetty-6.1.2 - 01 May 2007 + JETTY-324 fix ant plugin + JETTY-328 updated jboss + added static member definition in wadisessionmanager added static memb added + static member definition in wadisessionmanager added static memb added static member definition in wadisessionmanager Added static member definition in WadiSessionManager - + fixed session invalidation error in wadisessionmanager fixed session fixed - session invalidation error in wadisessionmanager Fixed session invalidation - error in WadiSessionManager + + fixed session invalidation error in wadisessionmanager fixed session f fixed + session invalidation error in wadisessionmanager fixed session fixed session + invalidation error in wadisessionmanager Fixed session invalidation error in + WadiSessionManager + improved unavailabile handling improved unavailabile handling improved + improved unavailabile handling improved unavailabile handling improved unavailabile handling Improved unavailabile handling - + senderror resets output state senderror resets output state senderror resets + + senderror resets output state senderror resets output state senderror + senderror resets output state senderror resets output state senderror resets output state sendError resets output state - + updated wadi to version 2.0-m3 updated wadi to version 2.0-m3 updated wadi + + updated wadi to version 2.0-m3 updated wadi to version 2.0-m3 updated + updated wadi to version 2.0-m3 updated wadi to version 2.0-m3 updated wadi to version 2.0-m3 Updated Wadi to version 2.0-M3 jetty-6.1.2rc5 - 24 April 2007 + JETTY-305 delayed connection destroy + JETTY-309 handle close in multivalue connection fields + JETTY-314 fix for possible NPE in Request.isRequestedSessionIdValid - + allow jsp-file to be / or /* allow jsp-file to be / or /* allow jsp-file to - be / or /* Allow jsp-file to be / or /* - + removed some compile warnings removed some compile warnings removed some + + allow jsp-file to be / or /* allow jsp-file to be / or /* allow jsp-fi allow + jsp-file to be / or /* allow jsp-file to be / or /* allow jsp-file to be / + or /* Allow jsp-file to be / or /* + + removed some compile warnings removed some compile warnings removed so + removed some compile warnings removed some compile warnings removed some compile warnings removed some compile warnings - + set default keystore for sslsocketconnector set default keystore for set - default keystore for sslsocketconnector set default keystore for - SslSocketConnector + + set default keystore for sslsocketconnector set default keystore for s set + default keystore for sslsocketconnector set default keystore for set default + keystore for sslsocketconnector set default keystore for SslSocketConnector jetty-6.1.2rc4 - 19 April 2007 + JETTY-294 Fixed authentication reset @@ -6638,20 +6887,26 @@ jetty-6.1.2rc3 - 16 April 2007 + JETTY-296 Close direct content inputstreams + JETTY-297 Recreate tmp dir on stop/start + JETTY-298 Names in JMX ObjectNames for context, servlets and filters - + ajp redirects https requests correctly ajp redirects https requests ajp + + ajp redirects https requests correctly ajp redirects https requests aj ajp + redirects https requests correctly ajp redirects https requests ajp redirects https requests correctly AJP redirects https requests correctly - + fixed writes of unencoded char arrays. fixed writes of unencoded char fixed - writes of unencoded char arrays. Fixed writes of unencoded char arrays. + + fixed writes of unencoded char arrays. fixed writes of unencoded char fixed + writes of unencoded char arrays. fixed writes of unencoded char fixed writes + of unencoded char arrays. Fixed writes of unencoded char arrays. + improved performance and exclusions for tld scanning improved performa + improved performance and exclusions for tld scanning improved performa improved performance and exclusions for tld scanning Improved performance and exclusions for TLD scanning + improvements to allow simple setting of cache-control headers improvem + improvements to allow simple setting of cache-control headers improvem improvements to allow simple setting of cache-control headers Improvements to allow simple setting of Cache-Control headers + mbean properties assume writeable unless marked ro mbean properties as mbean + properties assume writeable unless marked ro mbean properties as mbean properties assume writeable unless marked ro MBean properties assume writeable unless marked RO + refactor of sessionmanager and sessionidmanager for clustering refacto + refactor of sessionmanager and sessionidmanager for clustering refacto refactor of sessionmanager and sessionidmanager for clustering refactor of SessionManager and SessionIdManager for clustering @@ -6678,36 +6933,47 @@ jetty-6.1.2rc2 - 27 March 2007 + JETTY-286 isIntegral and isConfidential methods overridden in SslSelectChannelConnector + added restfilter for put and delete from aleksi kallio added restfilte added + restfilter for put and delete from aleksi kallio added restfilte added restfilter for put and delete from aleksi kallio Added RestFilter for PUT and DELETE from Aleksi Kallio + ajp13 cping request and cpong response implemented ajp13 cping request ajp13 - cping request and cpong response implemented AJP13 CPING request and CPONG + cping request and cpong response implemented ajp13 cping request ajp13 cping + request and cpong response implemented AJP13 CPING request and CPONG response implemented - + ajp13 remoteuser, contextpath, servletpath requests implemented ajp13 ajp13 + + ajp13 remoteuser, contextpath, servletpath requests implemented ajp13 ajp13 + remoteuser, contextpath, servletpath requests implemented ajp13 ajp13 remoteuser, contextpath, servletpath requests implemented AJP13 remoteUser, contextPath, servletPath requests implemented + ajp13 shutdown request from peer implemented ajp13 shutdown request fr ajp13 + shutdown request from peer implemented ajp13 shutdown request fr ajp13 shutdown request from peer implemented AJP13 Shutdown Request from peer implemented + change some jndi logging to debug level instead of info change some jn + change some jndi logging to debug level instead of info change some jn change some jndi logging to debug level instead of info Change some JNDI logging to debug level instead of info + enable the sharedstorecontextualiser for the wadisessionmanager(databa + enable the sharedstorecontextualiser for the wadisessionmanager(databa enable the sharedstorecontextualiser for the wadisessionmanager(databa Enable the SharedStoreContextualiser for the WadiSessionManager(Database store for clustering) + make annotations work for maven plugin make annotations work for maven make + annotations work for maven plugin make annotations work for maven make annotations work for maven plugin Make annotations work for maven plugin + optimized multi threaded init on startup servlets optimized multi thre + optimized multi threaded init on startup servlets optimized multi thre optimized multi threaded init on startup servlets Optimized multi threaded init on startup servlets + refactor scanner to increase code reuse with maven/ant plugins refacto + refactor scanner to increase code reuse with maven/ant plugins refacto refactor scanner to increase code reuse with maven/ant plugins Refactor Scanner to increase code reuse with maven/ant plugins + removed unneeded specialized taglibconfiguration class from maven plug + removed unneeded specialized taglibconfiguration class from maven plug removed unneeded specialized taglibconfiguration class from maven plug Removed unneeded specialized TagLibConfiguration class from maven plugin + update jasper to glassfish tag sjsas-9_1-b39-rc-14_mar_2007 update jas + update jasper to glassfish tag sjsas-9_1-b39-rc-14_mar_2007 update jas update jasper to glassfish tag sjsas-9_1-b39-rc-14_mar_2007 Update jasper to glassfish tag SJSAS-9_1-B39-RC-14_Mar_2007 @@ -6725,45 +6991,59 @@ jetty-6.1.2rc1 - 08 March 2007 + JETTY-250 protect attribute enumerations from modification + JETTY-252 Fixed stats handling of close connection + JETTY-254 prevent close of jar file by bad JVMs - + add ajp connector jar to jetty-jboss sar add ajp connector jar to add ajp + + add ajp connector jar to jetty-jboss sar add ajp connector jar to add add + ajp connector jar to jetty-jboss sar add ajp connector jar to add ajp connector jar to jetty-jboss sar add ajp connector jar to jetty-jboss sar + added option to allow null pathinfo within context added option to all added + option to allow null pathinfo within context added option to all added option to allow null pathinfo within context Added option to allow null pathInfo within context + added support for lowresourcesidletime to selectchannelconnector added added + support for lowresourcesidletime to selectchannelconnector added added support for lowresourcesidletime to selectchannelconnector Added support for lowResourcesIdleTime to SelectChannelConnector + boundedthreadpool queues rather than blocks excess jobs. boundedthread + boundedthreadpool queues rather than blocks excess jobs. boundedthread boundedthreadpool queues rather than blocks excess jobs. BoundedThreadPool queues rather than blocks excess jobs. + call predestroy() after servlet/filter destroy() call predestroy() aft call + predestroy() after servlet/filter destroy() call predestroy() aft call predestroy() after servlet/filter destroy() call preDestroy() after servlet/filter destroy() + ensure jetty/jboss uses servlet-spec classloading order ensure jetty/j + ensure jetty/jboss uses servlet-spec classloading order ensure jetty/j ensure jetty/jboss uses servlet-spec classloading order Ensure jetty/jboss uses servlet-spec classloading order + fix constructor for constraint to detect wildcard role fix constructor fix + constructor for constraint to detect wildcard role fix constructor fix constructor for constraint to detect wildcard role Fix constructor for Constraint to detect wildcard role + fix dump servlet to handle primitive array types fix dump servlet to h fix - dump servlet to handle primitive array types fix Dump servlet to handle - primitive array types - + handle comma separated values for the connection: header handle comma handle + dump servlet to handle primitive array types fix dump servlet to h fix dump + servlet to handle primitive array types fix Dump servlet to handle primitive + array types + + handle comma separated values for the connection: header handle comma + handle comma separated values for the connection: header handle comma handle comma separated values for the connection: header handle comma separated values for the Connection: header + improved context setters for wadi support improved context setters for + improved context setters for wadi support improved context setters for improved context setters for wadi support Improved Context setters for wadi support + improved handling of early close in ajp improved handling of early clo + improved handling of early close in ajp improved handling of early clo improved handling of early close in ajp Improved handling of early close in AJP + support null pathinfo option for webservices deployed to jetty/jboss s + support null pathinfo option for webservices deployed to jetty/jboss s support null pathinfo option for webservices deployed to jetty/jboss Support null pathInfo option for webservices deployed to jetty/jboss + taglibconfiguration uses resource input stream taglibconfiguration use + taglibconfiguration uses resource input stream taglibconfiguration use taglibconfiguration uses resource input stream TagLibConfiguration uses resource input stream + workaround to call securityassocation.clear() for jboss webservices ca + workaround to call securityassocation.clear() for jboss webservices ca workaround to call securityassocation.clear() for jboss webservices ca Workaround to call SecurityAssocation.clear() for jboss webservices calls to ejbs @@ -6775,29 +7055,36 @@ jetty-6.1.2rc0 - 15 February 2007 + JETTY-236 Buffer leak + JETTY-237 AJPParser Buffer Data Handling + JETTY-238 prevent form truncation - + coma separated cookies coma separated cookies coma separated cookies Coma + + coma separated cookies coma separated cookies coma separated cookies c coma + separated cookies coma separated cookies coma separated cookies Coma separated cookies - + cometd timeout clients cometd timeout clients cometd timeout clients Cometd + + cometd timeout clients cometd timeout clients cometd timeout clients c + cometd timeout clients cometd timeout clients cometd timeout clients Cometd timeout clients + patches from sybase for clientcertauthenticator patches from sybase fo + patches from sybase for clientcertauthenticator patches from sybase fo patches from sybase for clientcertauthenticator Patches from sybase for ClientCertAuthenticator jetty-6.1.2pre1 - 05 February 2007 + JETTY-224 run build up to process-test before invoking jetty:run + added error handling for incorrect keystore/truststore password in add added - error handling for incorrect keystore/truststore password in Added error - handling for incorrect keystore/truststore password in - SslSelectChannelConnector + error handling for incorrect keystore/truststore password in add added error + handling for incorrect keystore/truststore password in Added error handling + for incorrect keystore/truststore password in SslSelectChannelConnector + added win32service to standard build added win32service to standard bu added + win32service to standard build added win32service to standard bu added win32service to standard build added win32service to standard build + allow resourcehandler to use resource base from an enclosing contextha allow + resourcehandler to use resource base from an enclosing contextha allow resourcehandler to use resource base from an enclosing contextha allow ResourceHandler to use resource base from an enclosing ContextHandler + fixed bug with virtual host handling in contexthandlercollection fixed fixed - bug with virtual host handling in contexthandlercollection fixed bug with + bug with virtual host handling in contexthandlercollection fixed fixed bug + with virtual host handling in contexthandlercollection fixed bug with virtual host handling in ContextHandlerCollection - + refactored cometd to be continuation independent refactored cometd to + + refactored cometd to be continuation independent refactored cometd to + refactored cometd to be continuation independent refactored cometd to refactored cometd to be continuation independent refactored cometd to be continuation independent @@ -6810,37 +7097,46 @@ jetty-6.1.2pre0 - 01 February 2007 + JETTY-220 fixed AJP content + JETTY-222 fix problem parsing faces-config.xml + added cometd jsonp transport from aabeling added cometd jsonp transpor added + cometd jsonp transport from aabeling added cometd jsonp transpor added cometd jsonp transport from aabeling Added cometd jsonp transport from aabeling + added terracotta cluster support for cometd added terracotta cluster s added + terracotta cluster support for cometd added terracotta cluster s added terracotta cluster support for cometd Added terracotta cluster support for cometd + add support for annotations in servlet, filter and listener sources ad add + support for annotations in servlet, filter and listener sources ad add support for annotations in servlet, filter and listener sources add support for Annotations in servlet, filter and listener sources + enable sslselectchannelconnector to modify the sslengine's client enab + enable sslselectchannelconnector to modify the sslengine's client enab enable sslselectchannelconnector to modify the sslengine's client enable SslSelectChannelConnector to modify the SslEngine's client authentication settings - + fixed 1.4 method in jetty plus fixed 1.4 method in jetty plus fixed 1.4 - method in jetty plus Fixed 1.4 method in jetty plus - + fixed generation of errors during jsp compilation for jsp-2.1 fixed fixed + + fixed 1.4 method in jetty plus fixed 1.4 method in jetty plus fixed 1. fixed + 1.4 method in jetty plus fixed 1.4 method in jetty plus fixed 1.4 method in + jetty plus Fixed 1.4 method in jetty plus + + fixed generation of errors during jsp compilation for jsp-2.1 fixed fi fixed + generation of errors during jsp compilation for jsp-2.1 fixed fixed generation of errors during jsp compilation for jsp-2.1 Fixed generation of errors during jsp compilation for jsp-2.1 - + handle virtual hosts in contexthandlercollection handle virtual hosts - handle virtual hosts in contexthandlercollection handle virtual hosts in + + handle virtual hosts in contexthandlercollection handle virtual hosts handle + virtual hosts in contexthandlercollection handle virtual hosts handle + virtual hosts in contexthandlercollection handle virtual hosts in ContextHandlerCollection - + improved writer buffering improved writer buffering improved writer - buffering improved writer buffering + + improved writer buffering improved writer buffering improved writer improved + writer buffering improved writer buffering improved writer buffering + improved writer buffering + moved json parser to util to support reuse moved json parser to util t moved - json parser to util to support reuse moved JSON parser to util to support - reuse + json parser to util to support reuse moved json parser to util t moved json + parser to util to support reuse moved JSON parser to util to support reuse jetty-6.1.1 - 15 January 2007 jetty-6.1.1rc1 - 12 January 2007 + JETTY-210 Build jsp-api-2.0 for java 1.4 + use timers for rollover logs and scanner use timers for rollover logs use + timers for rollover logs and scanner use timers for rollover logs use timers for rollover logs and scanner Use timers for Rollover logs and scanner @@ -6849,43 +7145,55 @@ jetty-6.1.1rc0 - 10 January 2007 + JETTY-210 Build servlet-api-2.5 for java 1.4 + JETTY-211 fixed jboss build + cgi servlet fails without exception cgi servlet fails without exceptio cgi + servlet fails without exception cgi servlet fails without exceptio cgi servlet fails without exception CGI servlet fails without exception + ensure response headers on ajaxfilter messsages turn off caching ensur + ensure response headers on ajaxfilter messsages turn off caching ensur ensure response headers on ajaxfilter messsages turn off caching ensure response headers on AjaxFilter messsages turn off caching + extras/win32service download only if no javaservicewrapper exist + extras/win32service download only if no javaservicewrapper exist extras/win32service download only if no javaservicewrapper exist extras/win32service download only if no JavaServiceWrapper exist - + fixed unpacking war fixed unpacking war fixed unpacking war Fixed unpacking - WAR + + fixed unpacking war fixed unpacking war fixed unpacking war fixed unpa fixed + unpacking war fixed unpacking war fixed unpacking war Fixed unpacking WAR + multipartfilter deletefiles option multipartfilter deletefiles option + multipartfilter deletefiles option multipartfilter deletefiles option multipartfilter deletefiles option MultiPartFilter deleteFiles option - + simplified chat demo simplified chat demo simplified chat demo simplified + + simplified chat demo simplified chat demo simplified chat demo simplif + simplified chat demo simplified chat demo simplified chat demo simplified chat demo + start webapps on deployment with jboss, use isdistributed() method fro start + webapps on deployment with jboss, use isdistributed() method fro start webapps on deployment with jboss, use isdistributed() method fro start webapps on deployment with jboss, use isDistributed() method from WebAppContext jetty-6.1.0 - 09 January 2007 - + fixed unpacking war fixed unpacking war fixed unpacking war Fixed unpacking - WAR + + fixed unpacking war fixed unpacking war fixed unpacking war fixed unpa fixed + unpacking war fixed unpacking war fixed unpacking war Fixed unpacking WAR jetty-6.1.0 - 05 January 2007 + JETTY-206 fixed AJP getServerPort and getRemotePort - + added extras/win32service added extras/win32service added - extras/win32service Added extras/win32service + + added extras/win32service added extras/win32service added added + extras/win32service added extras/win32service added extras/win32service + Added extras/win32service + added webappcontext.setcopywebdir to avoid jvm jar caching issues. add added + webappcontext.setcopywebdir to avoid jvm jar caching issues. add added webappcontext.setcopywebdir to avoid jvm jar caching issues. Added WebAppContext.setCopyWebDir to avoid JVM jar caching issues. + geronimo-2677 refactor of session id handling for clustering geronimo- + geronimo-2677 refactor of session id handling for clustering geronimo- geronimo-2677 refactor of session id handling for clustering GERONIMO-2677 refactor of session id handling for clustering + improved config of java5 threadpool improved config of java5 threadpoo + improved config of java5 threadpool improved config of java5 threadpoo improved config of java5 threadpool Improved config of java5 threadpool + protect context deployer from errors protect context deployer from err + protect context deployer from errors protect context deployer from err protect context deployer from errors Protect context deployer from Errors + servlettester sets content length servlettester sets content length + servlettester sets content length servlettester sets content length servlettester sets content length ServletTester sets content length jetty-6.1.0rc3 - 02 January 2007 @@ -6894,14 +7202,18 @@ jetty-6.1.0rc3 - 02 January 2007 + JETTY-203 initialize ServletHandler if no Context instance + JETTY-204 setuid fix + extras/servlet-tester extras/servlet-tester extras/servlet-tester + extras/servlet-tester extras/servlet-tester extras/servlet-tester extras/servlet-tester + implement resource injection and lifecycle callbacks declared in web.x + implement resource injection and lifecycle callbacks declared in web.x implement resource injection and lifecycle callbacks declared in web.x implement resource injection and lifecycle callbacks declared in web.xml + setlocale does not use default content type setlocale does not use def + setlocale does not use default content type setlocale does not use def setlocale does not use default content type setLocale does not use default content type + use standard releases of servlet and jsp apis. use standard releases o use + standard releases of servlet and jsp apis. use standard releases o use standard releases of servlet and jsp apis. Use standard releases of servlet and jsp APIs. @@ -6910,37 +7222,47 @@ jetty-6.1.0rc2 - 20 December 2006 + JETTY-194 doubles slashes are significant in URIs + JETTY-201 make run-as work for both web container and ejb container in jboss + ajp13parser, throw illegalstateexception on unimplemented ajp13 reques + ajp13parser, throw illegalstateexception on unimplemented ajp13 reques ajp13parser, throw illegalstateexception on unimplemented ajp13 reques AJP13Parser, throw IllegalStateException on unimplemented AJP13 Requests + contexthandlercollection is noop with no handlers contexthandlercollec + contexthandlercollection is noop with no handlers contexthandlercollec contexthandlercollection is noop with no handlers ContextHandlerCollection is noop with no handlers - + ensure classpath passed to jspc contains file paths not urls ensure ensure + + ensure classpath passed to jspc contains file paths not urls ensure en + ensure classpath passed to jspc contains file paths not urls ensure ensure classpath passed to jspc contains file paths not urls ensure classpath passed to jspc contains file paths not urls - + ensure com.sun.el.messages.properties included in jsp-2.1 jar ensure ensure + + ensure com.sun.el.messages.properties included in jsp-2.1 jar ensure e + ensure com.sun.el.messages.properties included in jsp-2.1 jar ensure ensure com.sun.el.messages.properties included in jsp-2.1 jar ensure com.sun.el.Messages.properties included in jsp-2.1 jar + ensure servlets initialized if only using servlethandler ensure servle + ensure servlets initialized if only using servlethandler ensure servle ensure servlets initialized if only using servlethandler ensure servlets initialized if only using ServletHandler + Jetty-197 AJP13 getRemoteHost() + refactored abstractsessionmanager for ehcache refactored refactored + refactored abstractsessionmanager for ehcache refactored refactored abstractsessionmanager for ehcache Refactored AbstractSessionManager for ehcache + remove code to remove securityhandler if no constraints present remove + remove code to remove securityhandler if no constraints present remove remove code to remove securityhandler if no constraints present remove code to remove SecurityHandler if no constraints present jetty-6.1.0rc1 - 14 December 2006 + JETTY-193 MailSessionReference without authentication + JETTY-199 newClassPathResource - + added cache session manager(pre-alpha) added cache session added cache - session manager(pre-alpha) added cache session manager(pre-alpha) - + ensure unique name for servletholder instances ensure unique name for ensure + + added cache session manager(pre-alpha) added cache session added cache added + cache session manager(pre-alpha) added cache session added cache session + manager(pre-alpha) added cache session manager(pre-alpha) + + ensure unique name for servletholder instances ensure unique name for + ensure unique name for servletholder instances ensure unique name for ensure unique name for servletholder instances ensure unique name for ServletHolder instances - + simplified idle timeout handling simplified idle timeout handling simplified + + simplified idle timeout handling simplified idle timeout handling simp + simplified idle timeout handling simplified idle timeout handling simplified idle timeout handling simplified idle timeout handling jetty-6.1.0rc0 - 08 December 2006 @@ -6951,60 +7273,84 @@ jetty-6.1.0rc0 - 08 December 2006 + JETTY-185 tmp filename generation + JETTY-189 ProxyConnection + 403 for BASIC authorization failure - + added extras/gwt added extras/gwt added extras/gwt Added extras/gwt - + added org.mortbay.thread.concurrent.threadpool added added + + added extras/gwt added extras/gwt added extras/gwt added extras/gwt added + extras/gwt added extras/gwt added extras/gwt Added extras/gwt + + added org.mortbay.thread.concurrent.threadpool added added added + org.mortbay.thread.concurrent.threadpool added added org.mortbay.thread.concurrent.threadpool Added org.mortbay.thread.concurrent.ThreadPool - + added spring ejb3 demo example added spring ejb3 demo example added spring - ejb3 demo example Added spring ejb3 demo example + + added spring ejb3 demo example added spring ejb3 demo example added sp added + spring ejb3 demo example added spring ejb3 demo example added spring ejb3 + demo example Added spring ejb3 demo example + defaulthandler links virtual hosts. defaulthandler links virtual hosts + defaulthandler links virtual hosts. defaulthandler links virtual hosts defaulthandler links virtual hosts. DefaultHandler links virtual hosts. + dispatcher does not protect javax.servlet attributes dispatcher does n + dispatcher does not protect javax.servlet attributes dispatcher does n dispatcher does not protect javax.servlet attributes Dispatcher does not protect javax.servlet attributes - + fixed cachesize on invalidate fixed cachesize on invalidate fixed cachesize - on invalidate Fixed cachesize on invalidate - + fixed idle timeout fixed idle timeout fixed idle timeout Fixed idle timeout - + flush if content-length written flush if content-length written flush if + + fixed cachesize on invalidate fixed cachesize on invalidate fixed cach fixed + cachesize on invalidate fixed cachesize on invalidate fixed cachesize on + invalidate Fixed cachesize on invalidate + + fixed idle timeout fixed idle timeout fixed idle timeout fixed idle ti fixed + idle timeout fixed idle timeout fixed idle timeout Fixed idle timeout + + flush if content-length written flush if content-length written flush flush + if content-length written flush if content-length written flush if content-length written flush if content-length written + forward query attribute fix forward query attribute fix forward query + forward query attribute fix forward query attribute fix forward query attribute fix forward query attribute fix - + handle request content encodings handle request content encodings handle + + handle request content encodings handle request content encodings hand + handle request content encodings handle request content encodings handle request content encodings Handle request content encodings - + null for unknown named dispatches null for unknown named dispatches null for + + null for unknown named dispatches null for unknown named dispatches nu null + for unknown named dispatches null for unknown named dispatches null for unknown named dispatches null for unknown named dispatches - + optimization of writers optimization of writers optimization of writers + + optimization of writers optimization of writers optimization of writer + optimization of writers optimization of writers optimization of writers Optimization of writers + servlethandler allows non request exceptions to propogate servlethandl + servlethandler allows non request exceptions to propogate servlethandl servlethandler allows non request exceptions to propogate ServletHandler allows non REQUEST exceptions to propogate - + servlet role ref servlet role ref servlet role ref Servlet role ref - + session attribute listener session attribute listener session attribute + + servlet role ref servlet role ref servlet role ref servlet role ref servlet + role ref servlet role ref servlet role ref Servlet role ref + + session attribute listener session attribute listener session attribut + session attribute listener session attribute listener session attribute listener session attribute listener - + support for rfc2518 102-processing response support for rfc2518 support for + + support for rfc2518 102-processing response support for rfc2518 suppor + support for rfc2518 102-processing response support for rfc2518 support for rfc2518 102-processing response Support for RFC2518 102-processing response - + tck fixes from sybase: tck fixes from sybase: tck fixes from sybase: TCK - fixes from Sybase: - + update jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper - update jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper to - glassfish SJSAS-9_1-B27-EA-07_Dec_2006 + + tck fixes from sybase: tck fixes from sybase: tck fixes from sybase: t tck + fixes from sybase: tck fixes from sybase: tck fixes from sybase: TCK fixes + from Sybase: + + update jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper update + jasper to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper update jasper + to glassfish sjsas-9_1-b27-ea-07_dec_2006 update jasper to glassfish + SJSAS-9_1-B27-EA-07_Dec_2006 jetty-6.1.0pre3 - 22 November 2006 + JETTY-154 Cookies are double quotes only + JETTY-180 XBean support for context deploy + cve-2006-6969 upgraded session id generation to use securerandom + cve-2006-6969 upgraded session id generation to use securerandom cve-2006-6969 upgraded session id generation to use securerandom CVE-2006-6969 Upgraded session ID generation to use SecureRandom - + expose isresumed on continuations expose isresumed on continuations expose + + expose isresumed on continuations expose isresumed on continuations ex + expose isresumed on continuations expose isresumed on continuations expose isresumed on continuations Expose isResumed on Continuations + fixed nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed - nio endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid + nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed nio + endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid duplicate sends - + refactored ajp generator refactored ajp generator refactored ajp generator + + refactored ajp generator refactored ajp generator refactored ajp gener + refactored ajp generator refactored ajp generator refactored ajp generator Refactored AJP generator - + support tls_dhe_rsa_with_aes_256_cbc_sha support support + + support tls_dhe_rsa_with_aes_256_cbc_sha support support support + tls_dhe_rsa_with_aes_256_cbc_sha support support tls_dhe_rsa_with_aes_256_cbc_sha Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA - + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated + + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated u + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated glassfish jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 @@ -7020,108 +7366,147 @@ jetty-6.0.2 - 22 November 2006 + JETTY-172 use getName() instead of toString + JETTY-173 restore servletpath after dispatch + (re)make jaas classes available to webapp classloader (re)make jaas cl + (re)make jaas classes available to webapp classloader (re)make jaas cl (re)make jaas classes available to webapp classloader (re)make JAAS classes available to webapp classloader - + add replacement in jetty xml config files add add + + add replacement in jetty xml config files add ad add + replacement in jetty xml config files add add replacement in jetty xml config files add replacement in jetty xml config files + added concept of bufferred endpoint added concept of bufferred endpoin added + concept of bufferred endpoint added concept of bufferred endpoin added concept of bufferred endpoint Added concept of bufferred endpoint + added conversion object -> objectname for the result of method calls m added + conversion object -> objectname for the result of method calls m added conversion object -> objectname for the result of method calls m Added conversion Object -> ObjectName for the result of method calls made on MBeans + added datafilter configuration to cometd added datafilter configuratio added + datafilter configuration to cometd added datafilter configuratio added datafilter configuration to cometd Added DataFilter configuration to cometd - + added examples/test-jaas-webapp added examples/test-jaas-webapp added + + added examples/test-jaas-webapp added examples/test-jaas-webapp added added + examples/test-jaas-webapp added examples/test-jaas-webapp added examples/test-jaas-webapp added examples/test-jaas-webapp + added extraclasspath to webappcontext added extraclasspath to webappco added + extraclasspath to webappcontext added extraclasspath to webappco added extraclasspath to webappcontext Added extraClassPath to WebAppContext + added hierarchical destroy of mbeans added hierarchical destroy of mbe added + hierarchical destroy of mbeans added hierarchical destroy of mbe added hierarchical destroy of mbeans Added hierarchical destroy of mbeans + added id constructor to abstractsessionmanager.session added id constr added - id constructor to abstractsessionmanager.session Added ID constructor to + id constructor to abstractsessionmanager.session added id constr added id + constructor to abstractsessionmanager.session Added ID constructor to AbstractSessionManager.Session + added isstopped() in lifecycle and abstractlifecycle added isstopped() added + isstopped() in lifecycle and abstractlifecycle added isstopped() added isstopped() in lifecycle and abstractlifecycle added isStopped() in LifeCycle and AbstractLifeCycle - + added override descriptor for deployment of ro webapps added override added + + added override descriptor for deployment of ro webapps added override added + override descriptor for deployment of ro webapps added override added override descriptor for deployment of ro webapps Added override descriptor for deployment of RO webapps + allow session cookie to be refreshed allow session cookie to be refres allow + session cookie to be refreshed allow session cookie to be refres allow session cookie to be refreshed Allow session cookie to be refreshed + alternate optimizations of writer (use -dbuffer.writers=true) alternat + alternate optimizations of writer (use -dbuffer.writers=true) alternat alternate optimizations of writer (use -dbuffer.writers=true) alternate optimizations of writer (use -Dbuffer.writers=true) + apply queryencoding to getquerystring apply queryencoding to getquerys apply + queryencoding to getquerystring apply queryencoding to getquerys apply queryencoding to getquerystring Apply queryEncoding to getQueryString - + cgi example in test webapp cgi example in test webapp cgi example in test - webapp CGI example in test webapp - + change examples/test-jndi-webapp so it can be regularly built change change + + cgi example in test webapp cgi example in test webapp cgi example in t cgi + example in test webapp cgi example in test webapp cgi example in test webapp + CGI example in test webapp + + change examples/test-jndi-webapp so it can be regularly built change c + change examples/test-jndi-webapp so it can be regularly built change change examples/test-jndi-webapp so it can be regularly built change examples/test-jndi-webapp so it can be regularly built - + default solinger is -1 (disabled) default solinger is -1 (disabled) default + + default solinger is -1 (disabled) default solinger is -1 (disabled) de + default solinger is -1 (disabled) default solinger is -1 (disabled) default solinger is -1 (disabled) Default soLinger is -1 (disabled) + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for servletcontext.getcontextpath() for root contex ensure "" returned for servletcontext.getcontextpath() for root contex ensure "" returned for ServletContext.getContextPath() for root context + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null aft ensure sessions nulled out on request recycle; ensure session null aft ensure sessions nulled out on request recycle; ensure session null after invalidate - + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure + + ensure setcontextpath() works when invoked from jetty-web.xml ensure e + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure setcontextpath() works when invoked from jetty-web.xml ensure setContextPath() works when invoked from jetty-web.xml + fixed nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed - nio endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid + nio endpoint flush. avoid duplicate sends fixed nio endpoint flu fixed nio + endpoint flush. avoid duplicate sends fixed NIO endpoint flush. Avoid duplicate sends - + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in + + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe fixed + npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in bio.socketendpoint.getremoteaddr() Fixed NPE in bio.SocketEndPoint.getRemoteAddr() - + fixed resource cache flushing fixed resource cache flushing fixed resource - cache flushing Fixed resource cache flushing - + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed - tld parsing for maven plugin Fixed tld parsing for maven plugin + + fixed resource cache flushing fixed resource cache flushing fixed reso fixed + resource cache flushing fixed resource cache flushing fixed resource cache + flushing Fixed resource cache flushing + + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed + tld parsing for maven plugin fixed tld parsing for maven plugin fixed tld + parsing for maven plugin Fixed tld parsing for maven plugin + httpgenerator can generate requests httpgenerator can generate request + httpgenerator can generate requests httpgenerator can generate request httpgenerator can generate requests HttpGenerator can generate requests + improved *-mbean.properties files and specialized some mbean improved + improved *-mbean.properties files and specialized some mbean improved improved *-mbean.properties files and specialized some mbean Improved *-mbean.properties files and specialized some MBean + major refactor of selectchannel endpoint for client selector major ref major + refactor of selectchannel endpoint for client selector major ref major refactor of selectchannel endpoint for client selector Major refactor of SelectChannel EndPoint for client selector + make .tag files work in packed wars make .tag files work in packed war make - .tag files work in packed wars make .tag files work in packed wars + .tag files work in packed wars make .tag files work in packed war make .tag + files work in packed wars make .tag files work in packed wars + moved all modules updates from 6.1pre2 to 6.0 moved all modules update moved - all modules updates from 6.1pre2 to 6.0 Moved all modules updates from - 6.1pre2 to 6.0 + all modules updates from 6.1pre2 to 6.0 moved all modules update moved all + modules updates from 6.1pre2 to 6.0 Moved all modules updates from 6.1pre2 + to 6.0 + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. plugin shutdown context be plugin shutdown context before stopping it. Plugin shutdown context before stopping it. + refactored session lifecycle and additional tests refactored session + refactored session lifecycle and additional tests refactored session refactored session lifecycle and additional tests Refactored session lifecycle and additional tests + release resource lookup in default servlet release resource lookup in + release resource lookup in default servlet release resource lookup in release resource lookup in default servlet release resource lookup in Default servlet + reverted unixcrypt to use coersions (that effected results) reverted + reverted unixcrypt to use coersions (that effected results) reverted reverted unixcrypt to use coersions (that effected results) Reverted UnixCrypt to use coersions (that effected results) - + session ids can change worker id session ids can change worker id session + + session ids can change worker id session ids can change worker id sess + session ids can change worker id session ids can change worker id session ids can change worker id Session IDs can change worker ID - + simplified resourcecache and default servlet simplified resourcecache + + simplified resourcecache and default servlet simplified resourcecache + simplified resourcecache and default servlet simplified resourcecache simplified resourcecache and default servlet Simplified ResourceCache and Default servlet + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop socketconnector close socketconnector closes all connections in dostop SocketConnector closes all connections in doStop - + support tls_dhe_rsa_with_aes_256_cbc_sha support support + + support tls_dhe_rsa_with_aes_256_cbc_sha support support support + tls_dhe_rsa_with_aes_256_cbc_sha support support tls_dhe_rsa_with_aes_256_cbc_sha Support TLS_DHE_RSA_WITH_AES_256_CBC_SHA - + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated + + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated u + updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated updated glassfish jasper to tag sjsas-9_1-b25-ea-08_nov_2006 updated glassfish jasper to tag SJSAS-9_1-B25-EA-08_Nov_2006 + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom upgraded session id upgraded session id generation to use securerandom Upgraded session ID generation to use SecureRandom @@ -7129,73 +7514,94 @@ jetty-5.1.14 - 09 August 2007 + JETTY-155 force close with content length + JETTY-369 failed state in Container + patched with correct version patched with correct version patched with + patched with correct version patched with correct version patched with correct version patched with correct version jetty-5.1.13 + sourceforge 1648335: problem setting version for ajp13 sourceforge 164 + sourceforge 1648335: problem setting version for ajp13 sourceforge 164 sourceforge 1648335: problem setting version for ajp13 Sourceforge 1648335: problem setting version for AJP13 jetty-5.1.12 - 22 November 2006 + JETTY-154 Cookies ignore single quotes - + added support for tls_dhe_rsa_with_aes_256_cbc_sha added support for added - support for tls_dhe_rsa_with_aes_256_cbc_sha Added support for + + added support for tls_dhe_rsa_with_aes_256_cbc_sha added support for a added + support for tls_dhe_rsa_with_aes_256_cbc_sha added support for added support + for tls_dhe_rsa_with_aes_256_cbc_sha Added support for TLS_DHE_RSA_WITH_AES_256_CBC_SHA + ajp protected against bad requests from mod_jk ajp protected against b ajp + protected against bad requests from mod_jk ajp protected against b ajp protected against bad requests from mod_jk AJP protected against bad requests from mod_jk - + quote single quotes in cookies quote single quotes in cookies quote single - quotes in cookies Quote single quotes in cookies + + quote single quotes in cookies quote single quotes in cookies quote si quote + single quotes in cookies quote single quotes in cookies quote single quotes + in cookies Quote single quotes in cookies + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom upgraded session id upgraded session id generation to use securerandom Upgraded session ID generation to use SecureRandom jetty-4.2.27 - 22 November 2006 + ajp protected against bad requests from mod_jk ajp protected against b ajp + protected against bad requests from mod_jk ajp protected against b ajp protected against bad requests from mod_jk AJP protected against bad requests from mod_jk + upgraded session id generation to use securerandom upgraded session id + upgraded session id generation to use securerandom upgraded session id upgraded session id generation to use securerandom Upgraded session ID generation to use SecureRandom jetty-6.1.0pre2 - 20 November 2006 + added extraclasspath to webappcontext added extraclasspath to webappco added + extraclasspath to webappcontext added extraclasspath to webappco added extraclasspath to webappcontext Added extraClassPath to WebAppContext - + clean up jboss module licensing clean up jboss module licensing clean up - jboss module licensing Clean up jboss module licensing - + fixed resource cache flushing fixed resource cache flushing fixed resource - cache flushing Fixed resource cache flushing + + clean up jboss module licensing clean up jboss module licensing clean clean + up jboss module licensing clean up jboss module licensing clean up jboss + module licensing Clean up jboss module licensing + + fixed resource cache flushing fixed resource cache flushing fixed reso fixed + resource cache flushing fixed resource cache flushing fixed resource cache + flushing Fixed resource cache flushing jetty-6.1.0pre1 - 19 November 2006 + JETTY-151 Idle timeout only applies to blocking operations + JETTY-171 Fixed filter mapping + JETTY-172 use getName() instead of toString + JETTY-173 restore servletpath after dispatch - + added extras/jboss added extras/jboss added extras/jboss Added extras/jboss + + added extras/jboss added extras/jboss added extras/jboss added extras/ added + extras/jboss added extras/jboss added extras/jboss Added extras/jboss + added hierarchical destroy of mbeans added hierarchical destroy of mbe added + hierarchical destroy of mbeans added hierarchical destroy of mbe added hierarchical destroy of mbeans Added hierarchical destroy of mbeans - + added override descriptor for deployment of ro webapps added override added + + added override descriptor for deployment of ro webapps added override added + override descriptor for deployment of ro webapps added override added override descriptor for deployment of ro webapps Added override descriptor for deployment of RO webapps + alternate optimizations of writer (use -dbuffer.writers=true) alternat + alternate optimizations of writer (use -dbuffer.writers=true) alternat alternate optimizations of writer (use -dbuffer.writers=true) alternate optimizations of writer (use -Dbuffer.writers=true) - + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in + + fixed npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe fixed + npe in bio.socketendpoint.getremoteaddr() fixed npe in fixed npe in bio.socketendpoint.getremoteaddr() Fixed NPE in bio.SocketEndPoint.getRemoteAddr() + major refactor of selectchannel endpoint for client selector major ref major + refactor of selectchannel endpoint for client selector major ref major refactor of selectchannel endpoint for client selector Major refactor of SelectChannel EndPoint for client selector + release resource lookup in default servlet release resource lookup in + release resource lookup in default servlet release resource lookup in release resource lookup in default servlet release resource lookup in Default servlet + reverted unixcrypt to use coersions (that effected results) reverted + reverted unixcrypt to use coersions (that effected results) reverted reverted unixcrypt to use coersions (that effected results) Reverted UnixCrypt to use coersions (that effected results) - + simplified resourcecache and default servlet simplified resourcecache + + simplified resourcecache and default servlet simplified resourcecache + simplified resourcecache and default servlet simplified resourcecache simplified resourcecache and default servlet Simplified ResourceCache and Default servlet + use contextdeployer as main deployer in jetty.xml use contextdeployer use + contextdeployer as main deployer in jetty.xml use contextdeployer use contextdeployer as main deployer in jetty.xml Use ContextDeployer as main deployer in jetty.xml @@ -7212,127 +7618,173 @@ jetty-6.1.0pre0 - 21 October 2006 + JETTY-126 handle content > Integer.MAX_VALUE + JETTY-129 ServletContextListeners called after servlets are initialized + (re)make jaas classes available to webapp classloader (re)make jaas cl + (re)make jaas classes available to webapp classloader (re)make jaas cl (re)make jaas classes available to webapp classloader (re)make JAAS classes available to webapp classloader - + add replacement in jetty xml config files add add + + add replacement in jetty xml config files add ad add + replacement in jetty xml config files add add replacement in jetty xml config files add replacement in jetty xml config files - + add a maven-jetty-jspc-plugin to do jspc precompilation add a add a + + add a maven-jetty-jspc-plugin to do jspc precompilation add a add a add a + maven-jetty-jspc-plugin to do jspc precompilation add a add a maven-jetty-jspc-plugin to do jspc precompilation add a maven-jetty-jspc-plugin to do jspc precompilation - + added cometd chat demo added cometd chat demo added cometd chat demo added - cometd chat demo + + added cometd chat demo added cometd chat demo added cometd chat demo a added + cometd chat demo added cometd chat demo added cometd chat demo added cometd + chat demo + added concept of bufferred endpoint added concept of bufferred endpoin added + concept of bufferred endpoint added concept of bufferred endpoin added concept of bufferred endpoint Added concept of bufferred endpoint + added conversion object -> objectname for the result of method calls m added + conversion object -> objectname for the result of method calls m added conversion object -> objectname for the result of method calls m Added conversion Object -> ObjectName for the result of method calls made on MBeans + added datafilter configuration to cometd added datafilter configuratio added + datafilter configuration to cometd added datafilter configuratio added datafilter configuration to cometd Added DataFilter configuration to cometd - + added examples/test-jaas-webapp added examples/test-jaas-webapp added + + added examples/test-jaas-webapp added examples/test-jaas-webapp added added + examples/test-jaas-webapp added examples/test-jaas-webapp added examples/test-jaas-webapp added examples/test-jaas-webapp + added extras/setuid to support start as root added extras/setuid to su added + extras/setuid to support start as root added extras/setuid to su added extras/setuid to support start as root Added extras/setuid to support start as root + added id constructor to abstractsessionmanager.session added id constr added - id constructor to abstractsessionmanager.session Added ID constructor to + id constructor to abstractsessionmanager.session added id constr added id + constructor to abstractsessionmanager.session Added ID constructor to AbstractSessionManager.Session + added isstopped() in lifecycle and abstractlifecycle added isstopped() added + isstopped() in lifecycle and abstractlifecycle added isstopped() added isstopped() in lifecycle and abstractlifecycle added isStopped() in LifeCycle and AbstractLifeCycle - + add hot deployment capability add hot deployment capability add hot - deployment capability add hot deployment capability - + ajp connector ajp connector ajp connector AJP Connector + + add hot deployment capability add hot deployment capability add hot add hot + deployment capability add hot deployment capability add hot deployment + capability add hot deployment capability + + ajp connector ajp connector ajp connector ajp connector ajp connector ajp + connector ajp connector AJP Connector + allow session cookie to be refreshed allow session cookie to be refres allow + session cookie to be refreshed allow session cookie to be refres allow session cookie to be refreshed Allow session cookie to be refreshed + apply queryencoding to getquerystring apply queryencoding to getquerys apply + queryencoding to getquerystring apply queryencoding to getquerys apply queryencoding to getquerystring Apply queryEncoding to getQueryString - + cgi example in test webapp cgi example in test webapp cgi example in test - webapp CGI example in test webapp - + change examples/test-jndi-webapp so it can be regularly built change change + + cgi example in test webapp cgi example in test webapp cgi example in t cgi + example in test webapp cgi example in test webapp cgi example in test webapp + CGI example in test webapp + + change examples/test-jndi-webapp so it can be regularly built change c + change examples/test-jndi-webapp so it can be regularly built change change examples/test-jndi-webapp so it can be regularly built change examples/test-jndi-webapp so it can be regularly built - + default solinger is -1 (disabled) default solinger is -1 (disabled) default + + default solinger is -1 (disabled) default solinger is -1 (disabled) de + default solinger is -1 (disabled) default solinger is -1 (disabled) default solinger is -1 (disabled) Default soLinger is -1 (disabled) + ensure "" returned for servletcontext.getcontextpath() for root contex + ensure "" returned for servletcontext.getcontextpath() for root contex ensure "" returned for servletcontext.getcontextpath() for root contex ensure "" returned for ServletContext.getContextPath() for root context + ensure sessions nulled out on request recycle; ensure session null aft + ensure sessions nulled out on request recycle; ensure session null aft ensure sessions nulled out on request recycle; ensure session null aft ensure sessions nulled out on request recycle; ensure session null after invalidate - + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure + + ensure setcontextpath() works when invoked from jetty-web.xml ensure e + ensure setcontextpath() works when invoked from jetty-web.xml ensure ensure setcontextpath() works when invoked from jetty-web.xml ensure setContextPath() works when invoked from jetty-web.xml + factored errorpageerrorhandler out of webappcontext factored factored + factored errorpageerrorhandler out of webappcontext factored factored errorpageerrorhandler out of webappcontext Factored ErrorPageErrorHandler out of WebAppContext + fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed ClassCastException in JAASUserRealm.setRoleClassNames(String[]) + fixed isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed + isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed isuserinrole checking for jaasuserrealm fixed isUserInRole checking for JAASUserRealm - + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed - tld parsing for maven plugin Fixed tld parsing for maven plugin + + fixed tld parsing for maven plugin fixed tld parsing for maven plugin fixed + tld parsing for maven plugin fixed tld parsing for maven plugin fixed tld + parsing for maven plugin Fixed tld parsing for maven plugin + httpgenerator can generate requests httpgenerator can generate request + httpgenerator can generate requests httpgenerator can generate request httpgenerator can generate requests HttpGenerator can generate requests + improved *-mbean.properties files and specialized some mbean improved + improved *-mbean.properties files and specialized some mbean improved improved *-mbean.properties files and specialized some mbean Improved *-mbean.properties files and specialized some MBean - + improved charset handling in urls improved charset handling in urls improved + + improved charset handling in urls improved charset handling in urls im + improved charset handling in urls improved charset handling in urls improved charset handling in urls Improved charset handling in URLs + jetyy-120 selectchannelconnector closes all connections on stop jetyy- + jetyy-120 selectchannelconnector closes all connections on stop jetyy- jetyy-120 selectchannelconnector closes all connections on stop JETYY-120 SelectChannelConnector closes all connections on stop + make .tag files work in packed wars make .tag files work in packed war make - .tag files work in packed wars make .tag files work in packed wars + .tag files work in packed wars make .tag files work in packed war make .tag + files work in packed wars make .tag files work in packed wars + minor optimization of bytes to utf8 strings minor optimization of byte minor + optimization of bytes to utf8 strings minor optimization of byte minor optimization of bytes to utf8 strings minor optimization of bytes to UTF8 strings + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. plugin shutdown context be plugin shutdown context before stopping it. Plugin shutdown context before stopping it. - + ported htaccesshandler ported htaccesshandler ported htaccesshandler Ported + + ported htaccesshandler ported htaccesshandler ported htaccesshandler p + ported htaccesshandler ported htaccesshandler ported htaccesshandler Ported HtAccessHandler + refactored errorhandler to avoid statics refactored errorhandler to av + refactored errorhandler to avoid statics refactored errorhandler to av refactored errorhandler to avoid statics Refactored ErrorHandler to avoid statics + refactored session lifecycle and additional tests refactored session + refactored session lifecycle and additional tests refactored session refactored session lifecycle and additional tests Refactored session lifecycle and additional tests - + session ids can change worker id session ids can change worker id session + + session ids can change worker id session ids can change worker id sess + session ids can change worker id session ids can change worker id session ids can change worker id Session IDs can change worker ID + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop socketconnector close socketconnector closes all connections in dostop SocketConnector closes all connections in doStop - + start of a client api start of a client api start of a client api Start of a + + start of a client api start of a client api start of a client api star start + of a client api start of a client api start of a client api Start of a client API + transforming classloader does not transform resources. transforming + transforming classloader does not transform resources. transforming transforming classloader does not transform resources. Transforming classloader does not transform resources. jetty-5.1.11 - 08 October 2006 + default servlet only uses setcontentlength on wrapped responses defaul + default servlet only uses setcontentlength on wrapped responses defaul default servlet only uses setcontentlength on wrapped responses Default servlet only uses setContentLength on wrapped responses - + fixed ajp chunk header (1507377) fixed ajp chunk header (1507377) fixed ajp - chunk header (1507377) Fixed AJP chunk header (1507377) + + fixed ajp chunk header (1507377) fixed ajp chunk header (1507377) fixe fixed + ajp chunk header (1507377) fixed ajp chunk header (1507377) fixed ajp chunk + header (1507377) Fixed AJP chunk header (1507377) + fixed ajp handling of certificate length (1494939) fixed ajp handling fixed - ajp handling of certificate length (1494939) Fixed AJP handling of - certificate length (1494939) - + fixed bytebufferoutputstream capacity calculation fixed fixed + ajp handling of certificate length (1494939) fixed ajp handling fixed ajp + handling of certificate length (1494939) Fixed AJP handling of certificate + length (1494939) + + fixed bytebufferoutputstream capacity calculation fixed fixed fixed + bytebufferoutputstream capacity calculation fixed fixed bytebufferoutputstream capacity calculation fixed ByteBufferOutputStream capacity calculation + fixed order of destruction event calls fixed order of destruction even fixed - order of destruction event calls Fixed order of destruction event calls - + fix to httpoutputstream from m.traverso fix to httpoutputstream from fix to + order of destruction event calls fixed order of destruction even fixed order + of destruction event calls Fixed order of destruction event calls + + fix to httpoutputstream from m.traverso fix to httpoutputstream from f fix + to httpoutputstream from m.traverso fix to httpoutputstream from fix to httpoutputstream from m.traverso Fix to HttpOutputStream from M.Traverso jetty-4.2.26 - 08 October 2006 - + backport of ajp fixes backport of ajp fixes backport of ajp fixes Backport + + backport of ajp fixes backport of ajp fixes backport of ajp fixes back + backport of ajp fixes backport of ajp fixes backport of ajp fixes Backport of AJP fixes jetty-6.0.1 - 24 September 2006 @@ -7343,5958 +7795,8025 @@ jetty-6.0.1 - 24 September 2006 + JETTY-121 init not called on externally constructed servlets + JETTY-124 always initialize filter caches + factored errorpageerrorhandler out of webappcontext factored factored + factored errorpageerrorhandler out of webappcontext factored factored errorpageerrorhandler out of webappcontext Factored ErrorPageErrorHandler out of WebAppContext + fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed + classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed classcastexception in jaasuserrealm.setroleclassnames(string[]) fixed ClassCastException in JAASUserRealm.setRoleClassNames(String[]) + fixed isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed + isuserinrole checking for jaasuserrealm fixed isuserinrole check fixed isuserinrole checking for jaasuserrealm fixed isUserInRole checking for JAASUserRealm - + improved charset handling in urls improved charset handling in urls improved + + improved charset handling in urls improved charset handling in urls im + improved charset handling in urls improved charset handling in urls improved charset handling in urls Improved charset handling in URLs + jetyy-120 selectchannelconnector closes all connections on stop jetyy- + jetyy-120 selectchannelconnector closes all connections on stop jetyy- jetyy-120 selectchannelconnector closes all connections on stop JETYY-120 SelectChannelConnector closes all connections on stop + minor optimization of bytes to utf8 strings minor optimization of byte minor + optimization of bytes to utf8 strings minor optimization of byte minor optimization of bytes to utf8 strings minor optimization of bytes to UTF8 strings + refactored errorhandler to avoid statics refactored errorhandler to av + refactored errorhandler to avoid statics refactored errorhandler to av refactored errorhandler to avoid statics Refactored ErrorHandler to avoid statics jetty-6.0.0 - 10 September 2006 + conveniance builder methods for listeners and filters conveniance buil + conveniance builder methods for listeners and filters conveniance buil conveniance builder methods for listeners and filters Conveniance builder methods for listeners and filters + plugin shutdown context before stopping it. plugin shutdown context be + plugin shutdown context before stopping it. plugin shutdown context be plugin shutdown context before stopping it. Plugin shutdown context before stopping it. + socketconnector closes all connections in dostop socketconnector close + socketconnector closes all connections in dostop socketconnector close socketconnector closes all connections in dostop SocketConnector closes all connections in doStop + transforming classloader does not transform resources. transforming + transforming classloader does not transform resources. transforming transforming classloader does not transform resources. Transforming classloader does not transform resources. jetty-6.0.0rc4 - 05 September 2006 + JETTY-107 Poor cast in SessionDump demo + bind jetty-env.xml entries to java:comp/env bind jetty-env.xml entries bind + jetty-env.xml entries to java:comp/env bind jetty-env.xml entries bind jetty-env.xml entries to java:comp/env bind jetty-env.xml entries to java:comp/env - + set charset on error pages set charset on error pages set charset on error - pages Set charset on error pages + + set charset on error pages set charset on error pages set charset on e set + charset on error pages set charset on error pages set charset on error pages + Set charset on error pages jetty-6.0.0rc3 - 01 September 2006 + JETTY-68 Complete request after sendRedirect + JETTY-104 (raised glassfish ISSUE-1044) hide JSP forced path attribute + avoid double error handling of bad requests avoid double error handlin avoid + double error handling of bad requests avoid double error handlin avoid double error handling of bad requests Avoid double error handling of Bad requests + don't warn for content length on head requests don't warn for content don't - warn for content length on head requests don't warn for content length on - head requests + warn for content length on head requests don't warn for content don't warn + for content length on head requests don't warn for content length on head + requests + jetty-103 JETTY-103 + less verbose handling of badresources from bad urls less verbose handl less + verbose handling of badresources from bad urls less verbose handl less verbose handling of badresources from bad urls Less verbose handling of BadResources from bad URLs - + move mailsessionreference to org.mortbay.naming.factories move move + + move mailsessionreference to org.mortbay.naming.factories move move move + mailsessionreference to org.mortbay.naming.factories move move mailsessionreference to org.mortbay.naming.factories Move MailSessionReference to org.mortbay.naming.factories - + pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 + + pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0 + pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 branch pulled 6.0.0 branch + transferred the sslengine patch from the patches directory to extras + transferred the sslengine patch from the patches directory to extras transferred the sslengine patch from the patches directory to extras Transferred the sslengine patch from the patches directory to extras jetty-6.0.0rc2 - 25 August 2006 + added org.apache.commons.logging package to system classes that can't added + org.apache.commons.logging package to system classes that can't added org.apache.commons.logging package to system classes that can't added org.apache.commons.logging package to system classes that can't be overridden by a webapp classloader + destroy httpconnection to improve buffer pooling destroy httpconnectio + destroy httpconnection to improve buffer pooling destroy httpconnectio destroy httpconnection to improve buffer pooling Destroy HttpConnection to improve buffer pooling - + direct buffer useage is optional direct buffer useage is optional direct + + direct buffer useage is optional direct buffer useage is optional dire + direct buffer useage is optional direct buffer useage is optional direct buffer useage is optional Direct buffer useage is optional - + fixed npe when no resource cache fixed npe when no resource cache fixed npe - when no resource cache Fixed NPE when no resource cache + + fixed npe when no resource cache fixed npe when no resource cache fixe fixed + npe when no resource cache fixed npe when no resource cache fixed npe when + no resource cache Fixed NPE when no resource cache + moved more utility packagtes to the util jar moved more utility packag moved - more utility packagtes to the util jar Moved more utility packagtes to the - util jar + more utility packagtes to the util jar moved more utility packag moved more + utility packagtes to the util jar Moved more utility packagtes to the util + jar + mvn -djetty.port=x jetty:run uses port number given for the default mv mvn + -djetty.port=x jetty:run uses port number given for the default mv mvn -djetty.port=x jetty:run uses port number given for the default mvn -Djetty.port=x jetty:run uses port number given for the default connector + refactored webxmlconfiguration to allow custom web.xml resource refact + refactored webxmlconfiguration to allow custom web.xml resource refact refactored webxmlconfiguration to allow custom web.xml resource Refactored WebXmlConfiguration to allow custom web.xml resource + timestamp in stderrlog timestamp in stderrlog timestamp in stderrlog + timestamp in stderrlog timestamp in stderrlog timestamp in stderrlog Timestamp in StdErrLog + use mvn -dslf4j=false jetty:run to disable use of slf4j logging with u use - mvn -dslf4j=false jetty:run to disable use of slf4j logging with use mvn + mvn -dslf4j=false jetty:run to disable use of slf4j logging with u use mvn + -dslf4j=false jetty:run to disable use of slf4j logging with use mvn -Dslf4j=false jetty:run to disable use of slf4j logging with jdk1.4/jsp2.0 jetty-6.0.0rc1 - 16 August 2006 + JETTY-85 JETTY-86 (TrustManager and SecureRandom are now configurable; better handling of null/default values) + add config param to jetty plugin add config add + config param to jetty plugin add config add config param to jetty plugin add config param to jetty plugin + added modules/spring with xmlbeanfactory configuration added modules/s added + modules/spring with xmlbeanfactory configuration added modules/s added modules/spring with xmlbeanfactory configuration added modules/spring with XmlBeanFactory configuration - + added simple resourcehandler and fileserver example added simple added - simple resourcehandler and fileserver example Added simple ResourceHandler - and FileServer example + + added simple resourcehandler and fileserver example added simple added added + simple resourcehandler and fileserver example added simple added simple + resourcehandler and fileserver example Added simple ResourceHandler and + FileServer example + added start of cometd implementation (json only) added start of cometd added - start of cometd implementation (json only) added start of cometd - implementation (JSON only) - + added start of grizzly connector added start of grizzly connector added - start of grizzly connector added start of grizzly connector + start of cometd implementation (json only) added start of cometd added start + of cometd implementation (json only) added start of cometd implementation + (JSON only) + + added start of grizzly connector added start of grizzly connector adde added + start of grizzly connector added start of grizzly connector added start of + grizzly connector added start of grizzly connector + added transformingwebappclassloader for spring 2.0 byte code modificat added + transformingwebappclassloader for spring 2.0 byte code modificat added transformingwebappclassloader for spring 2.0 byte code modificat Added TransformingWebAppClassLoader for spring 2.0 byte code modification support + allow direct filling of buffers for uncached static content. allow dir allow + direct filling of buffers for uncached static content. allow dir allow direct filling of buffers for uncached static content. Allow direct filling of buffers for uncached static content. + change path mapping so that a path spec of /foo/* does not match /foo. + change path mapping so that a path spec of /foo/* does not match /foo. change path mapping so that a path spec of /foo/* does not match /foo. Change path mapping so that a path spec of /foo/* does not match /foo.bar : JETTY-88 - + -dstop.port must be specified. -dstop.port must be specified. -dstop.port + + -dstop.port must be specified. -dstop.port must be specified. -dstop.p + -dstop.port must be specified. -dstop.port must be specified. -dstop.port must be specified. -DSTOP.PORT must be specified. + fixed bug that caused response.setstatus to ignore the provided messag fixed bug that caused response.setstatus to ignore the provided messag fixed bug - that caused Response.setStatus to ignore the provided message + that caused response.setstatus to ignore the provided messag fixed bug that + caused Response.setStatus to ignore the provided message + jetty-63 Fixed FD leak for bad TCP acks JETTY-63 + jetty-87 JETTY-87 + jetty-90 JETTY-90 + jetty-91 JETTY-91 - + moved optional modules to extras moved optional modules to extras moved - optional modules to extras moved optional modules to extras + + moved optional modules to extras moved optional modules to extras move moved + optional modules to extras moved optional modules to extras moved optional + modules to extras moved optional modules to extras + parse jsp-property-group in web.xml for additional jsp servlet mapping parse + jsp-property-group in web.xml for additional jsp servlet mapping parse jsp-property-group in web.xml for additional jsp servlet mapping parse jsp-property-group in web.xml for additional JSP servlet mappings - + protected setcontenttype from being set during include protected protected + + protected setcontenttype from being set during include protected prote + protected setcontenttype from being set during include protected protected setcontenttype from being set during include protected setContentType from being set during include - + refactored resource cache refactored resource cache refactored resource + + refactored resource cache refactored resource cache refactored resourc + refactored resource cache refactored resource cache refactored resource cache refactored resource cache + removed org.mortbay. from context system classes configuration removed + removed org.mortbay. from context system classes configuration removed removed org.mortbay. from context system classes configuration removed org.mortbay. from context system classes configuration + removed support for lowresources from selectchannelconnector removed s + removed support for lowresources from selectchannelconnector removed s removed support for lowresources from selectchannelconnector removed support for lowResources from SelectChannelConnector + support for binding references and referenceables and javax.mail.sessi + support for binding references and referenceables and javax.mail.sessi support for binding references and referenceables and javax.mail.sessi Support for binding References and Referenceables and javax.mail.Sessions in JNDI jetty-6.0.0rc0 - 07 July 2006 + add ability to have a lib/ext dir from which to recursively add all ja add + ability to have a lib/ext dir from which to recursively add all ja add ability to have a lib/ext dir from which to recursively add all ja add ability to have a lib/ext dir from which to recursively add all jars and zips to the classpath + added 8 random letters&digits to jetty-generated tmp work dir name to added - 8 random letters&digits to jetty-generated tmp work dir name to Added 8 + 8 random letters&digits to jetty-generated tmp work dir name to added 8 + random letters&digits to jetty-generated tmp work dir name to Added 8 random letters&digits to Jetty-generated tmp work dir name to ensure uniqueness + added html module from jetty 5 - but deprecated until maintainer found added html module from jetty 5 - but deprecated until maintainer found added html + module from jetty 5 - but deprecated until maintainer found added html module from jetty 5 - but deprecated until maintainer found + added maximum limit to filter chain cache. added maximum limit to filt added + maximum limit to filter chain cache. added maximum limit to filt added maximum limit to filter chain cache. Added maximum limit to filter chain cache. + added setters and getters on sessionmanager api for session related co added + setters and getters on sessionmanager api for session related co added setters and getters on sessionmanager api for session related co added setters and getters on SessionManager API for session related config: cookie name, url parameter name, domain, max age and path. + added statisticshandler and statistics on connector. added statisticsh added + statisticshandler and statistics on connector. added statisticsh added statisticshandler and statistics on connector. added StatisticsHandler and statistics on Connector. + added webappcontextclassloader.newinstance to better support exensible added + webappcontextclassloader.newinstance to better support exensible added webappcontextclassloader.newinstance to better support exensible Added WebAppContextClassLoader.newInstance to better support exensible loaders. + allow or in for plugin allow or or in for plugin allow or in + or in for plugin allow or + or in for plugin allow or in for plugin + changed servletcontext.getresourcepaths() to not return paths contain + changed servletcontext.getresourcepaths() to not return paths contain changed servletcontext.getresourcepaths() to not return paths contain changed ServletContext.getResourcePaths() to not return paths containing double slashes - + change name of generated tmp directory to be change name of generated - change name of generated tmp directory to be change name of generated tmp - directory to be "Jetty_"+host+"_"+port+"_"+contextpath+"_"+virtualhost - + change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn - change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn change - prefix from "jetty6" to just "jetty" for plugin: eg is now mvn jetty:run - + cleaned up idle expiry. cleaned up idle expiry. cleaned up idle expiry. + + change name of generated tmp directory to be change name of generated change + name of generated tmp directory to be change name of generated change name + of generated tmp directory to be change name of generated tmp directory to + be "Jetty_"+host+"_"+port+"_"+contextpath+"_"+virtualhost + + change prefix from "jetty6" to just "jetty" for plugin: eg is now mvn change + prefix from "jetty6" to just "jetty" for plugin: eg is now mvn change prefix + from "jetty6" to just "jetty" for plugin: eg is now mvn change prefix from + "jetty6" to just "jetty" for plugin: eg is now mvn jetty:run + + cleaned up idle expiry. cleaned up idle expiry. cleaned up idle expiry + cleaned up idle expiry. cleaned up idle expiry. cleaned up idle expiry. Cleaned up idle expiry. + contexthandlercollection addcontext and setcontextclass + contexthandlercollection addcontext and setcontextclass contexthandlercollection addcontext and setcontextclass ContextHandlerCollection addContext and setContextClass + discard excess bytes in header buffer if connection is closing discard + discard excess bytes in header buffer if connection is closing discard discard excess bytes in header buffer if connection is closing Discard excess bytes in header buffer if connection is closing + do not wrap eofexception with eofexception do not wrap eofexception wi do - not wrap eofexception with eofexception Do not wrap EofException with + not wrap eofexception with eofexception do not wrap eofexception wi do not + wrap eofexception with eofexception Do not wrap EofException with EofException + ensure explicitly set tmp directory called "work" is not deleted on ex + ensure explicitly set tmp directory called "work" is not deleted on ex ensure explicitly set tmp directory called "work" is not deleted on ex ensure explicitly set tmp directory called "work" is not deleted on exit - + ensure mvn clean cleans the build ensure mvn clean cleans the build ensure + + ensure mvn clean cleans the build ensure mvn clean cleans the build en + ensure mvn clean cleans the build ensure mvn clean cleans the build ensure mvn clean cleans the build Ensure mvn clean cleans the build + ensure war is only unpacked if war is newer than "work" directory ensu + ensure war is only unpacked if war is newer than "work" directory ensu ensure war is only unpacked if war is newer than "work" directory ensure war is only unpacked if war is newer than "work" directory + fixed classesdirectory param for maven plugin to be configurable fixed fixed + classesdirectory param for maven plugin to be configurable fixed fixed classesdirectory param for maven plugin to be configurable fixed classesDirectory param for maven plugin to be configurable + jetty-82 fixed HttpGenerator convertion of non UTF-8: JETTY-82 - + immutable getparametermap() immutable getparametermap() immutable - getparametermap() immutable getParameterMap() + + immutable getparametermap() immutable getparametermap() immutable immutable + getparametermap() immutable getparametermap() immutable getparametermap() + immutable getParameterMap() + patch to allow jetty to use jsp2.1 from glassfish instead of jasper fr patch to allow jetty to use jsp2.1 from glassfish instead of jasper fr patch to - allow Jetty to use JSP2.1 from Glassfish instead of Jasper from Tomcat - + refactor httpchannelendpoint in preparation for sslengine refactor refactor + allow jetty to use jsp2.1 from glassfish instead of jasper fr patch to allow + Jetty to use JSP2.1 from Glassfish instead of Jasper from Tomcat + + refactor httpchannelendpoint in preparation for sslengine refactor ref + refactor httpchannelendpoint in preparation for sslengine refactor refactor httpchannelendpoint in preparation for sslengine refactor HttpChannelEndPoint in preparation for SslEngine + reverse order for destroy event listeners reverse order for destroy ev + reverse order for destroy event listeners reverse order for destroy ev reverse order for destroy event listeners reverse order for destroy event listeners + simplified jetty.xml with new constructor injections simplified jetty. + simplified jetty.xml with new constructor injections simplified jetty. simplified jetty.xml with new constructor injections simplified jetty.xml with new constructor injections - + simplified servlet context api simplified servlet context api simplified + + simplified servlet context api simplified servlet context api simplifi + simplified servlet context api simplified servlet context api simplified servlet context api Simplified Servlet Context API + simplify runtime resolution of jsp library for plugin simplify runtime + simplify runtime resolution of jsp library for plugin simplify runtime simplify runtime resolution of jsp library for plugin Simplify runtime resolution of JSP library for plugin + ssl algorithm taken from system property ssl algorithm taken from syst ssl + algorithm taken from system property ssl algorithm taken from syst ssl algorithm taken from system property Ssl algorithm taken from system property + support for singlethreadmodel support for singlethreadmodel support for singlethreadmodel support for SingleThreadModel - + support graceful shutdown support graceful shutdown support graceful - shutdown support graceful shutdown + + support graceful shutdown support graceful shutdown support graceful support + graceful shutdown support graceful shutdown support graceful shutdown + support graceful shutdown + threadpool does not need to be a lifecycle threadpool does not need to + threadpool does not need to be a lifecycle threadpool does not need to threadpool does not need to be a lifecycle Threadpool does not need to be a LifeCycle - + updated javax code from updated javax code from updated javax code from + + updated javax code from updated javax code from updated javax code fro + updated javax code from updated javax code from updated javax code from Updated javax code from http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/javax@417727 jetty-6.0.0beta17 - 01 June 2006 + added clover reports and enough tests to get >50% coverage added clove added + clover reports and enough tests to get >50% coverage added clove added clover reports and enough tests to get >50% coverage Added clover reports and enough tests to get >50% coverage + added config to disable file memory mapped buffers for windows added c added + config to disable file memory mapped buffers for windows added c added config to disable file memory mapped buffers for windows Added config to disable file memory mapped buffers for windows - + added request.ishandled() added request.ishandled() added - request.ishandled() Added Request.isHandled() + + added request.ishandled() added request.ishandled() added added + request.ishandled() added request.ishandled() added request.ishandled() + Added Request.isHandled() + boundedthreadpool.dostop waits for threads to complete + boundedthreadpool.dostop waits for threads to complete boundedthreadpool.dostop waits for threads to complete BoundedThreadPool.doStop waits for threads to complete - + connector lowresourcemaxidletime implemented. connector connector - lowresourcemaxidletime implemented. Connector lowResourceMaxIdleTime + + connector lowresourcemaxidletime implemented. connector connector connector + lowresourcemaxidletime implemented. connector connector + lowresourcemaxidletime implemented. Connector lowResourceMaxIdleTime implemented. + contexthandler.setconnectors replace sethosts contexthandler.setconnec + contexthandler.setconnectors replace sethosts contexthandler.setconnec contexthandler.setconnectors replace sethosts ContextHandler.setConnectors replace setHosts + default servlet checks for aliases resources default servlet checks fo + default servlet checks for aliases resources default servlet checks fo default servlet checks for aliases resources Default servlet checks for aliases resources - + don't reset headers during forward don't reset headers during forward don't - reset headers during forward don't reset headers during forward - + fixed ie ssl issue. fixed ie ssl issue. fixed ie ssl issue. Fixed IE SSL - issue. + + don't reset headers during forward don't reset headers during forward don't + reset headers during forward don't reset headers during forward don't reset + headers during forward don't reset headers during forward + + fixed ie ssl issue. fixed ie ssl issue. fixed ie ssl issue. fixed ie s fixed + ie ssl issue. fixed ie ssl issue. fixed ie ssl issue. Fixed IE SSL issue. + flush will flush all bytes rather than just some. flush will flush all flush - will flush all bytes rather than just some. Flush will flush all bytes - rather than just some. - + implemented runas on servlets implemented runas on servlets implemented + will flush all bytes rather than just some. flush will flush all flush will + flush all bytes rather than just some. Flush will flush all bytes rather + than just some. + + implemented runas on servlets implemented runas on servlets implemente + implemented runas on servlets implemented runas on servlets implemented runas on servlets Implemented runAs on servlets - + protected web-inf and meta-inf protected web-inf and meta-inf protected + + protected web-inf and meta-inf protected web-inf and meta-inf protecte + protected web-inf and meta-inf protected web-inf and meta-inf protected web-inf and meta-inf Protected WEB-INF and META-INF + recovered repository from codehaus crash recovered repository from cod + recovered repository from codehaus crash recovered repository from cod recovered repository from codehaus crash Recovered repository from Codehaus crash - + refactored synchronization of selectchannelconnector refactored refactored + + refactored synchronization of selectchannelconnector refactored refact + refactored synchronization of selectchannelconnector refactored refactored synchronization of selectchannelconnector Refactored Synchronization of SelectChannelConnector jetty-6.0.0beta16 - 12 May 2006 - + remove a couple of system.err.printlns remove a couple of remove a couple of + + remove a couple of system.err.printlns remove a couple of remove a cou + remove a couple of system.err.printlns remove a couple of remove a couple of system.err.printlns remove a couple of System.err.printlns + replace backwards compativle api in urlencoded replace backwards compa + replace backwards compativle api in urlencoded replace backwards compa replace backwards compativle api in urlencoded replace backwards compativle API in UrlEncoded jetty-6.0.0beta15 - 11 May 2006 + added parameter to allow other locations to scan for plu added + parameter to allow other locations to scan for plu added parameter to allow other locations to scan for plu Added parameter to allow other locations to scan for plugin + added automatic scan of all web-inf/jetty-*.xml files for plugin added added + automatic scan of all web-inf/jetty-*.xml files for plugin added added automatic scan of all web-inf/jetty-*.xml files for plugin Added automatic scan of all WEB-INF/jetty-*.xml files for plugin - + added embedded examples added embedded examples added embedded examples - Added embedded examples + + added embedded examples added embedded examples added embedded example added + embedded examples added embedded examples added embedded examples Added + embedded examples + added server attribute org.mortbay.jetty.request.maxformcontentsize ad added + server attribute org.mortbay.jetty.request.maxformcontentsize ad added server attribute org.mortbay.jetty.request.maxformcontentsize Added Server attribute org.mortbay.jetty.Request.maxFormContentSize + added taglib resources to 2.1 jsp api jar added taglib resources to 2. added + taglib resources to 2.1 jsp api jar added taglib resources to 2. added taglib resources to 2.1 jsp api jar Added taglib resources to 2.1 jsp api jar - + added throttlingfilter and fixed race in continuations added added + + added throttlingfilter and fixed race in continuations added added added + throttlingfilter and fixed race in continuations added added throttlingfilter and fixed race in continuations Added ThrottlingFilter and fixed race in Continuations - + added --version to start.jar added --version to start.jar added --version to + + added --version to start.jar added --version to start.jar added --vers added + --version to start.jar added --version to start.jar added --version to start.jar Added --version to start.jar + contexthandler.setcontextpath can be called after start. + contexthandler.setcontextpath can be called after start. contexthandler.setcontextpath can be called after start. ContextHandler.setContextPath can be called after start. - + don't accept partial authority in request line. don't accept partial don't - accept partial authority in request line. don't accept partial authority in - request line. + + don't accept partial authority in request line. don't accept partial d don't + accept partial authority in request line. don't accept partial don't accept + partial authority in request line. don't accept partial authority in request + line. + enforce 204 and 304 have no content enforce 204 and 304 have no conten + enforce 204 and 304 have no content enforce 204 and 304 have no conten enforce 204 and 304 have no content enforce 204 and 304 have no content - + fixed handling of params after forward fixed handling of params after fixed + + fixed handling of params after forward fixed handling of params after fixed + handling of params after forward fixed handling of params after fixed handling of params after forward Fixed handling of params after forward + improved httpexception improved httpexception improved httpexception + improved httpexception improved httpexception improved httpexception Improved HttpException + improved mbeancontainer object removal improved mbeancontainer object + improved mbeancontainer object removal improved mbeancontainer object improved mbeancontainer object removal improved MBeanContainer object removal - + improved mbean names improved mbean names improved mbean names improved + + improved mbean names improved mbean names improved mbean names improve + improved mbean names improved mbean names improved mbean names improved MBean names + improved support for java5 jconsole improved support for java5 jconsol + improved support for java5 jconsole improved support for java5 jconsol improved support for java5 jconsole improved support for java5 jconsole + major refactor to simplify server and handler hierarchy major refactor major + refactor to simplify server and handler hierarchy major refactor major refactor to simplify server and handler hierarchy Major refactor to simplify Server and handler hierarchy - + moved more resources to resources moved more resources to resources moved - more resources to resources Moved more resources to resources + + moved more resources to resources moved more resources to resources mo moved + more resources to resources moved more resources to resources moved more + resources to resources Moved more resources to resources + readded boundedthreadpool shrinking (and then fixed resulting deadlock + readded boundedthreadpool shrinking (and then fixed resulting deadlock readded boundedthreadpool shrinking (and then fixed resulting deadlock readded BoundedThreadPool shrinking (and then fixed resulting deadlock) + removed selectblockingchannelconnector (unmaintained) removed removed + removed selectblockingchannelconnector (unmaintained) removed removed selectblockingchannelconnector (unmaintained) removed SelectBlockingChannelConnector (unmaintained) - + renamed notfoundhandler to defaulthandler renamed notfoundhandler to renamed + + renamed notfoundhandler to defaulthandler renamed notfoundhandler to r + renamed notfoundhandler to defaulthandler renamed notfoundhandler to renamed notfoundhandler to defaulthandler Renamed NotFoundHandler to DefaultHandler - + reset of timer task clears expiry reset of timer task clears expiry reset of - timer task clears expiry Reset of timer task clears expiry + + reset of timer task clears expiry reset of timer task clears expiry re reset + of timer task clears expiry reset of timer task clears expiry reset of timer + task clears expiry Reset of timer task clears expiry + session scavenger threads from threadpool session scavenger threads fr + session scavenger threads from threadpool session scavenger threads fr session scavenger threads from threadpool Session scavenger threads from threadpool + setsendserverversion method added to server to control sending of serv + setsendserverversion method added to server to control sending of serv setsendserverversion method added to server to control sending of serv setSendServerVersion method added to Server to control sending of Server: http header + simplified defaultservlet static content buffering simplified defaults + simplified defaultservlet static content buffering simplified defaults simplified defaultservlet static content buffering Simplified DefaultServlet static content buffering + thread names include uri if debug set thread names include uri if debu + thread names include uri if debug set thread names include uri if debu thread names include uri if debug set Thread names include URI if debug set jetty-6.0.0beta14 - 09 April 2006 - + added configurability for webdefault.xml in maven plugin added added + + added configurability for webdefault.xml in maven plugin added added added + configurability for webdefault.xml in maven plugin added added configurability for webdefault.xml in maven plugin added configurability for webdefault.xml in maven plugin + added jasper 2.1 as jesper (jasper without jcl) added jasper 2.1 as je added + jasper 2.1 as jesper (jasper without jcl) added jasper 2.1 as je added jasper 2.1 as jesper (jasper without jcl) Added Jasper 2.1 as jesper (jasper without JCL) - + added jetty-util.jar module added jetty-util.jar module added jetty-util.jar + + added jetty-util.jar module added jetty-util.jar module added jetty-ut added + jetty-util.jar module added jetty-util.jar module added jetty-util.jar module added jetty-util.jar module - + added jsp 2.1 apis from apache added jsp 2.1 apis from apache added jsp 2.1 - apis from apache Added JSP 2.1 APIs from apache - + added proxyservlet added proxyservlet added proxyservlet added ProxyServlet - + added reset to continuation added reset to continuation added reset to + + added jsp 2.1 apis from apache added jsp 2.1 apis from apache added js added + jsp 2.1 apis from apache added jsp 2.1 apis from apache added jsp 2.1 apis + from apache Added JSP 2.1 APIs from apache + + added proxyservlet added proxyservlet added proxyservlet added proxyse added + proxyservlet added proxyservlet added proxyservlet added ProxyServlet + + added reset to continuation added reset to continuation added reset to added + reset to continuation added reset to continuation added reset to continuation added reset to Continuation + added support for stopping jetty using "java -jar start.jar --stop" ad added + support for stopping jetty using "java -jar start.jar --stop" ad added support for stopping jetty using "java -jar start.jar --stop" added support for stopping jetty using "java -jar start.jar --stop" - + adding invokerservlet adding invokerservlet adding invokerservlet adding + + adding invokerservlet adding invokerservlet adding invokerservlet addi + adding invokerservlet adding invokerservlet adding invokerservlet adding InvokerServlet + change tmp dir of plugin to work to be in line with jetty convention c + change tmp dir of plugin to work to be in line with jetty convention c change tmp dir of plugin to work to be in line with jetty convention Change tmp dir of plugin to work to be in line with jetty convention - + fixed forward bug (treated as include) fixed forward bug (treated as fixed - forward bug (treated as include) fixed forward bug (treated as include) - + fixed httpfield iterator fixed httpfield iterator fixed httpfield iterator - fixed HttpField iterator + + fixed forward bug (treated as include) fixed forward bug (treated as f fixed + forward bug (treated as include) fixed forward bug (treated as fixed forward + bug (treated as include) fixed forward bug (treated as include) + + fixed httpfield iterator fixed httpfield iterator fixed httpfield iter fixed + httpfield iterator fixed httpfield iterator fixed httpfield iterator fixed + HttpField iterator + fixed priority of port from url over host header fixed priority of por fixed + priority of port from url over host header fixed priority of por fixed priority of port from url over host header fixed priority of port from url over host header + ignore dirs and files that don't exist in plugin scanner ignore dirs a + ignore dirs and files that don't exist in plugin scanner ignore dirs a ignore dirs and files that don't exist in plugin scanner ignore dirs and files that don't exist in plugin scanner + implemented request.isuserinrole implemented request.isuserinrole + implemented request.isuserinrole implemented request.isuserinrole implemented request.isuserinrole implemented request.isUserInRole + improved contenttype handling and test harness improved contenttype ha + improved contenttype handling and test harness improved contenttype ha improved contenttype handling and test harness improved contentType handling and test harness + modify plugin to select jsp impl at runtime modify plugin to select js + modify plugin to select jsp impl at runtime modify plugin to select js modify plugin to select jsp impl at runtime Modify plugin to select JSP impl at runtime + moved test webapps to examples directory moved test webapps to example moved - test webapps to examples directory moved test webapps to examples directory + test webapps to examples directory moved test webapps to example moved test + webapps to examples directory moved test webapps to examples directory + securityhandler removed if not used. securityhandler removed if not us + securityhandler removed if not used. securityhandler removed if not us securityhandler removed if not used. securityHandler removed if not used. + started readding logging to jesper using jdk logging started readding + started readding logging to jesper using jdk logging started readding started readding logging to jesper using jdk logging Started readding logging to jesper using jdk logging + stop jdbcuserrealm coercing all credentials to string stop jdbcuserrea stop + jdbcuserrealm coercing all credentials to string stop jdbcuserrea stop jdbcuserrealm coercing all credentials to string stop JDBCUserRealm coercing all credentials to String + use start.config to select which jsp impl at runtime based on jdk vers use + start.config to select which jsp impl at runtime based on jdk vers use start.config to select which jsp impl at runtime based on jdk vers Use start.config to select which JSP impl at runtime based on jdk version jetty-6.0.0beta12 - 16 March 2006 - + added jsp2.0 demos to test webapp added jsp2.0 demos to test webapp added - jsp2.0 demos to test webapp Added JSP2.0 demos to test webapp + + added jsp2.0 demos to test webapp added jsp2.0 demos to test webapp ad added + jsp2.0 demos to test webapp added jsp2.0 demos to test webapp added jsp2.0 + demos to test webapp Added JSP2.0 demos to test webapp + added provider support to ssllistener added provider support to ssllis added + provider support to ssllistener added provider support to ssllis added provider support to ssllistener Added provider support to SslListener - + fixed error handling in error page fixed error handling in error page fixed - error handling in error page Fixed error handling in error page - + fixed jettyplus for root contexts fixed jettyplus for root contexts fixed + + fixed error handling in error page fixed error handling in error page fixed + error handling in error page fixed error handling in error page fixed error + handling in error page Fixed error handling in error page + + fixed jettyplus for root contexts fixed jettyplus for root contexts fi fixed + jettyplus for root contexts fixed jettyplus for root contexts fixed jettyplus for root contexts Fixed JettyPlus for root contexts + fixed maven plugin jndi for redeploys fixed maven plugin jndi for rede fixed - maven plugin jndi for redeploys Fixed maven plugin JNDI for redeploys + maven plugin jndi for redeploys fixed maven plugin jndi for rede fixed maven + plugin jndi for redeploys Fixed maven plugin JNDI for redeploys + fixed tld discovery for plugin (search dependencies) fixed tld discove fixed - tld discovery for plugin (search dependencies) Fixed tld discovery for - plugin (search dependencies) - + log error for runtimeexceptions log error for runtimeexceptions log error - for runtimeexceptions Log ERROR for runtimeExceptions + tld discovery for plugin (search dependencies) fixed tld discove fixed tld + discovery for plugin (search dependencies) Fixed tld discovery for plugin + (search dependencies) + + log error for runtimeexceptions log error for runtimeexceptions log er log + error for runtimeexceptions log error for runtimeexceptions log error for + runtimeexceptions Log ERROR for runtimeExceptions + upgraded jasper to 5.5.15 upgraded jasper to 5.5.15 upgraded jasper to + upgraded jasper to 5.5.15 upgraded jasper to 5.5.15 upgraded jasper to 5.5.15 Upgraded jasper to 5.5.15 jetty-6.0.0beta11 - 14 March 2006 + added httpuri and improved utf-8 parsing. added httpuri and improved u added + httpuri and improved utf-8 parsing. added httpuri and improved u added httpuri and improved utf-8 parsing. Added HttpURI and improved UTF-8 parsing. - + added jaas added jaas added jaas added JAAS + + added jaas added jaas added jaas added jaas added jaas added jaas added jaas + added JAAS + added missing configurations for maven plugin added missing configurat added + missing configurations for maven plugin added missing configurat added missing configurations for maven plugin added missing Configurations for maven plugin - + added patch to use joda-time added patch to use joda-time added patch to use + + added patch to use joda-time added patch to use joda-time added patch added + patch to use joda-time added patch to use joda-time added patch to use joda-time added patch to use joda-time - + added webapp-specific jndi entries added webapp-specific jndi entries added + + added webapp-specific jndi entries added webapp-specific jndi entries added + webapp-specific jndi entries added webapp-specific jndi entries added webapp-specific jndi entries added webapp-specific JNDI entries - + fixed ; decoding in uris fixed ; decoding in uris fixed ; decoding in uris - fixed ; decoding in URIs - + fixed form authentication fixed form authentication fixed form - authentication fixed FORM authentication + + fixed ; decoding in uris fixed ; decoding in uris fixed ; decoding in fixed + ; decoding in uris fixed ; decoding in uris fixed ; decoding in uris fixed ; + decoding in URIs + + fixed form authentication fixed form authentication fixed form fixed form + authentication fixed form authentication fixed form authentication fixed + FORM authentication + moved dtd and xsd to standard javax location moved dtd and xsd to stan moved - dtd and xsd to standard javax location moved dtd and xsd to standard javax + dtd and xsd to standard javax location moved dtd and xsd to stan moved dtd + and xsd to standard javax location moved dtd and xsd to standard javax location + refactored configuration files and start() refactored configuration fi + refactored configuration files and start() refactored configuration fi refactored configuration files and start() refactored configuration files and start() - + refactored session id management refactored session id management refactored + + refactored session id management refactored session id management refa + refactored session id management refactored session id management refactored session id management refactored session ID management + refactored writers and improved utf-8 generation. refactored writers a + refactored writers and improved utf-8 generation. refactored writers a refactored writers and improved utf-8 generation. refactored writers and improved UTF-8 generation. jetty-6.0.0beta10 - 25 February 2006 - + added getlocalport() to connector added getlocalport() to connector added + + added getlocalport() to connector added getlocalport() to connector ad added + getlocalport() to connector added getlocalport() to connector added getlocalport() to connector added getLocalPort() to connector - + added support for java:comp/env added support for java:comp/env added - support for java:comp/env Added support for java:comp/env + + added support for java:comp/env added support for java:comp/env added added + support for java:comp/env added support for java:comp/env added support for + java:comp/env Added support for java:comp/env + added support for pluggable transaction manager added support for plug added + support for pluggable transaction manager added support for plug added support for pluggable transaction manager Added support for pluggable transaction manager + additional accessors for request logging additional accessors for requ + additional accessors for request logging additional accessors for requ additional accessors for request logging Additional accessors for request logging + fixed content-type for range requests fixed content-type for range req fixed + content-type for range requests fixed content-type for range req fixed content-type for range requests Fixed content-type for range requests + fixed default servlet handling of includes fixed default servlet handl fixed + default servlet handling of includes fixed default servlet handl fixed default servlet handling of includes Fixed default servlet handling of includes + fix for myfaces and include with close fix for myfaces and include wit fix - for myfaces and include with close Fix for myfaces and include with close + for myfaces and include with close fix for myfaces and include wit fix for + myfaces and include with close Fix for myfaces and include with close + fix for sf1435795 30sec delay from c taylor fix for sf1435795 30sec de fix - for sf1435795 30sec delay from c taylor Fix for sf1435795 30sec delay from c + for sf1435795 30sec delay from c taylor fix for sf1435795 30sec de fix for + sf1435795 30sec delay from c taylor Fix for sf1435795 30sec delay from c taylor - + fix http://jira.codehaus.org/browse/jetty-6. hi byte reader fix fix + + fix http://jira.codehaus.org/browse/jetty-6. hi byte reader fix fix fix + http://jira.codehaus.org/browse/jetty-6. hi byte reader fix fix http://jira.codehaus.org/browse/jetty-6. hi byte reader Fix http://jira.codehaus.org/browse/JETTY-6. hi byte reader + fix sf1431936 don't chunk the chunk fix sf1431936 don't chunk the chun fix + sf1431936 don't chunk the chunk fix sf1431936 don't chunk the chun fix sf1431936 don't chunk the chunk Fix sf1431936 don't chunk the chunk + forward masks include attributes and vice versa forward masks include + forward masks include attributes and vice versa forward masks include forward masks include attributes and vice versa Forward masks include attributes and vice versa - + updates javax to mr2 release updates javax to mr2 release updates javax to + + updates javax to mr2 release updates javax to mr2 release updates java + updates javax to mr2 release updates javax to mr2 release updates javax to mr2 release Updates javax to MR2 release jetty-6.0.0beta9 - 09 February 2006 - + added cgi servlet. added cgi servlet. added cgi servlet. Added CGI servlet. - + added request log. added request log. added request log. Added request log. - + added tld tag listener handling. added tld tag listener handling. added tld - tag listener handling. Added TLD tag listener handling. - + continuation cleanup continuation cleanup continuation cleanup Continuation + + added cgi servlet. added cgi servlet. added cgi servlet. added cgi ser added + cgi servlet. added cgi servlet. added cgi servlet. Added CGI servlet. + + added request log. added request log. added request log. added request added + request log. added request log. added request log. Added request log. + + added tld tag listener handling. added tld tag listener handling. adde added + tld tag listener handling. added tld tag listener handling. added tld tag + listener handling. Added TLD tag listener handling. + + continuation cleanup continuation cleanup continuation cleanup continu + continuation cleanup continuation cleanup continuation cleanup Continuation cleanup + fixed dispatch of wrapped requests. fixed dispatch of wrapped requests fixed + dispatch of wrapped requests. fixed dispatch of wrapped requests fixed dispatch of wrapped requests. Fixed dispatch of wrapped requests. + fixed double flush of short content. fixed double flush of short conte fixed + double flush of short content. fixed double flush of short conte fixed double flush of short content. Fixed double flush of short content. - + fixed setlocale bug sf1426940 fixed setlocale bug sf1426940 fixed setlocale - bug sf1426940 fixed setLocale bug sf1426940 + + fixed setlocale bug sf1426940 fixed setlocale bug sf1426940 fixed setl fixed + setlocale bug sf1426940 fixed setlocale bug sf1426940 fixed setlocale bug + sf1426940 fixed setLocale bug sf1426940 + fixed unraw decoding of query string fixed unraw decoding of query str fixed - unraw decoding of query string Fixed unraw decoding of query string - + force a tempdir to be set. force a tempdir to be set. force a tempdir to be - set. Force a tempdir to be set. - + force jasper scratch dir. force jasper scratch dir. force jasper scratch - dir. Force jasper scratch dir. + unraw decoding of query string fixed unraw decoding of query str fixed unraw + decoding of query string Fixed unraw decoding of query string + + force a tempdir to be set. force a tempdir to be set. force a tempdir force + a tempdir to be set. force a tempdir to be set. force a tempdir to be set. + Force a tempdir to be set. + + force jasper scratch dir. force jasper scratch dir. force jasper scrat force + jasper scratch dir. force jasper scratch dir. force jasper scratch dir. + Force jasper scratch dir. + pathmap for direct context mapping. pathmap for direct context mapping + pathmap for direct context mapping. pathmap for direct context mapping pathmap for direct context mapping. PathMap for direct context mapping. + refactored chat demo and upgraded prototype.js refactored chat demo an + refactored chat demo and upgraded prototype.js refactored chat demo an refactored chat demo and upgraded prototype.js Refactored chat demo and upgraded prototype.js jetty-6.0.0beta8 - 24 January 2006 + conveniance addhandler removehandler methods conveniance addhandler + conveniance addhandler removehandler methods conveniance addhandler conveniance addhandler removehandler methods conveniance addHandler removeHandler methods + fixed bug in overloaded write method on httpconnection (reported again fixed bug in overloaded write method on httpconnection (reported again fixed bug - in overloaded write method on HttpConnection (reported against Tapestry4.0) + in overloaded write method on httpconnection (reported again fixed bug in + overloaded write method on HttpConnection (reported against Tapestry4.0) + fixed dispatch of new session problem. sf:1407090 fixed dispatch of ne fixed + dispatch of new session problem. sf:1407090 fixed dispatch of ne fixed dispatch of new session problem. sf:1407090 fixed dispatch of new session problem. sf:1407090 + handle pipeline requests without hangs handle pipeline requests withou + handle pipeline requests without hangs handle pipeline requests withou handle pipeline requests without hangs Handle pipeline requests without hangs - + hid org.apache.commons.logging and org.slf4j packages from webapp hid hid + + hid org.apache.commons.logging and org.slf4j packages from webapp hid hid + org.apache.commons.logging and org.slf4j packages from webapp hid hid org.apache.commons.logging and org.slf4j packages from webapp hid org.apache.commons.logging and org.slf4j packages from webapp - + improve buffer return mechanism. improve buffer return mechanism. improve + + improve buffer return mechanism. improve buffer return mechanism. impr + improve buffer return mechanism. improve buffer return mechanism. improve buffer return mechanism. improve buffer return mechanism. - + improved caching of content types improved caching of content types improved + + improved caching of content types improved caching of content types im + improved caching of content types improved caching of content types improved caching of content types improved caching of content types + maven-jetty6-plugin: ensure compile is done before invoking jetty maven-jetty6-plugin: ensure compile is done before invoking jetty maven-jetty6-plugin: ensure compile is done before invoking jetty + maven-jetty6-plugin: ensure compile is done before invoking jetty + maven-jetty6-plugin: support all types of artifact dependencies maven-jetty6-plugin: support all types of artifact dependencies maven-jetty6-plugin: support all types of artifact dependencies + maven-jetty6-plugin: support all types of artifact dependencies + maven-jetty6-plugin stopped transitive inclusion of log4j and + maven-jetty6-plugin stopped transitive inclusion of log4j and maven-jetty6-plugin stopped transitive inclusion of log4j and maven-jetty6-plugin stopped transitive inclusion of log4j and commons-logging from commons-el for jasper + patch to remove spurious ; in httpfields patch to remove spurious ; in patch - to remove spurious ; in httpfields patch to remove spurious ; in HttpFields - + reinstated rfc2616 test harness reinstated rfc2616 test harness reinstated + to remove spurious ; in httpfields patch to remove spurious ; in patch to + remove spurious ; in httpfields patch to remove spurious ; in HttpFields + + reinstated rfc2616 test harness reinstated rfc2616 test harness reinst + reinstated rfc2616 test harness reinstated rfc2616 test harness reinstated rfc2616 test harness reinstated rfc2616 test harness - + removed queue from thread pool. removed queue from thread pool. removed + + removed queue from thread pool. removed queue from thread pool. remove + removed queue from thread pool. removed queue from thread pool. removed queue from thread pool. Removed queue from thread pool. jetty-6.0.0Beta7 + faster header name lookup faster header name lookup faster header name + faster header name lookup faster header name lookup faster header name lookup Faster header name lookup + fixed infinite loop with chunk handling fixed infinite loop with chunk fixed + infinite loop with chunk handling fixed infinite loop with chunk fixed infinite loop with chunk handling Fixed infinite loop with chunk handling + maven-jetty6-plugin added tmpdirectory property maven-jetty6-plugin ad + maven-jetty6-plugin added tmpdirectory property maven-jetty6-plugin ad maven-jetty6-plugin added tmpdirectory property maven-jetty6-plugin added tmpDirectory property + maven-jetty6-plugin stopped throwing an error if there is no target/cl + maven-jetty6-plugin stopped throwing an error if there is no target/cl maven-jetty6-plugin stopped throwing an error if there is no target/cl maven-jetty6-plugin stopped throwing an error if there is no target/classes directory + null dispatch attributes not in names null dispatch attributes not in null + dispatch attributes not in names null dispatch attributes not in null dispatch attributes not in names null dispatch attributes not in names - + reduced info verbosity reduced info verbosity reduced info verbosity reduced + + reduced info verbosity reduced info verbosity reduced info verbosity r + reduced info verbosity reduced info verbosity reduced info verbosity reduced info verbosity - + removed singleton container removed singleton container removed singleton + + removed singleton container removed singleton container removed single + removed singleton container removed singleton container removed singleton container removed singleton Container jetty-6.0.0Beta6 - + fixed issue with blocking reads fixed issue with blocking reads fixed issue - with blocking reads Fixed issue with blocking reads - + fixed issue with unknown headers fixed issue with unknown headers fixed - issue with unknown headers Fixed issue with unknown headers - + optimizations optimizations optimizations optimizations + + fixed issue with blocking reads fixed issue with blocking reads fixed fixed + issue with blocking reads fixed issue with blocking reads fixed issue with + blocking reads Fixed issue with blocking reads + + fixed issue with unknown headers fixed issue with unknown headers fixe fixed + issue with unknown headers fixed issue with unknown headers fixed issue with + unknown headers Fixed issue with unknown headers + + optimizations optimizations optimizations optimizations optimizations + optimizations optimizations optimizations jetty-6.0.0Beta5 - + added management module for mbeans added management module for mbeans added + + added management module for mbeans added management module for mbeans added + management module for mbeans added management module for mbeans added management module for mbeans Added management module for mbeans - + fixed writer char[] creations fixed writer char[] creations fixed writer - char[] creations Fixed writer char[] creations - + moved to svn moved to svn moved to svn Moved to SVN + + fixed writer char[] creations fixed writer char[] creations fixed writ fixed + writer char[] creations fixed writer char[] creations fixed writer char[] + creations Fixed writer char[] creations + + moved to svn moved to svn moved to svn moved to svn moved to svn moved to + svn moved to svn Moved to SVN jetty-6.0.0Beta4 + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed cve-2006-2758 fixed jsp visibility security issue. CVE-2006-2758 Fixed JSP visibility security issue. + improved jetty-web.xml access to org.mortbay classes. improved jetty-w + improved jetty-web.xml access to org.mortbay classes. improved jetty-w improved jetty-web.xml access to org.mortbay classes. Improved jetty-web.xml access to org.mortbay classes. - + jasper 5.5.12 jasper 5.5.12 jasper 5.5.12 Jasper 5.5.12 - + system property support in plugin system property support in plugin system + + jasper 5.5.12 jasper 5.5.12 jasper 5.5.12 jasper 5.5.12 jasper 5.5.12 jasper + 5.5.12 jasper 5.5.12 Jasper 5.5.12 + + system property support in plugin system property support in plugin sy + system property support in plugin system property support in plugin system property support in plugin System property support in plugin jetty-6.0.0Beta3 + fixed classloader issue with server classes fixed classloader issue wi fixed + classloader issue with server classes fixed classloader issue wi fixed classloader issue with server classes Fixed classloader issue with server classes - + fixed error in block read fixed error in block read fixed error in block - read Fixed error in block read - + named dispatch. named dispatch. named dispatch. Named dispatch. + + fixed error in block read fixed error in block read fixed error in blo fixed + error in block read fixed error in block read fixed error in block read + Fixed error in block read + + named dispatch. named dispatch. named dispatch. named dispatch. named + dispatch. named dispatch. named dispatch. Named dispatch. jetty-6.0.0Beta2 + improved buffer return improved buffer return improved buffer return + improved buffer return improved buffer return improved buffer return Improved buffer return + improved reuse of httpfield values and cookies. improved reuse of http + improved reuse of httpfield values and cookies. improved reuse of http improved reuse of httpfield values and cookies. Improved reuse of HttpField values and cookies. - + loosely coupled with jsp servlet loosely coupled with jsp servlet loosely + + loosely coupled with jsp servlet loosely coupled with jsp servlet loos + loosely coupled with jsp servlet loosely coupled with jsp servlet loosely coupled with jsp servlet loosely coupled with JSP servlet - + loosely coupled with slf4j loosely coupled with slf4j loosely coupled with + + loosely coupled with slf4j loosely coupled with slf4j loosely coupled + loosely coupled with slf4j loosely coupled with slf4j loosely coupled with slf4j loosely coupled with SLF4J + merged util jar back into jetty jar merged util jar back into jetty ja + merged util jar back into jetty jar merged util jar back into jetty ja merged util jar back into jetty jar merged util jar back into jetty jar - + simpler continuation api simpler continuation api simpler continuation api + + simpler continuation api simpler continuation api simpler continuation + simpler continuation api simpler continuation api simpler continuation api Simpler continuation API jetty-6.0.0Beta1 - + error pages error pages error pages Error pages + + error pages error pages error pages error pages error pages error pages + error pages Error pages + implemented all listeners implemented all listeners implemented all + implemented all listeners implemented all listeners implemented all listeners Implemented all listeners - + maven2 plugin maven2 plugin maven2 plugin maven2 plugin - + multiple select sets multiple select sets multiple select sets Multiple + + maven2 plugin maven2 plugin maven2 plugin maven2 plugin maven2 plugin maven2 + plugin maven2 plugin maven2 plugin + + multiple select sets multiple select sets multiple select sets multipl + multiple select sets multiple select sets multiple select sets Multiple select sets - + refactored start/stop refactored start/stop refactored start/stop refactored + + refactored start/stop refactored start/stop refactored start/stop refa + refactored start/stop refactored start/stop refactored start/stop refactored start/stop - + servlet 2.5 api servlet 2.5 api servlet 2.5 api Servlet 2.5 API - + shutdown hook shutdown hook shutdown hook shutdown hook - + ssl connector ssl connector ssl connector SSL connector - + virtual hosts virtual hosts virtual hosts Virtual hosts + + servlet 2.5 api servlet 2.5 api servlet 2.5 api servlet 2.5 api servlet 2.5 + api servlet 2.5 api servlet 2.5 api Servlet 2.5 API + + shutdown hook shutdown hook shutdown hook shutdown hook shutdown hook + shutdown hook shutdown hook shutdown hook + + ssl connector ssl connector ssl connector ssl connector ssl connector ssl + connector ssl connector SSL connector + + virtual hosts virtual hosts virtual hosts virtual hosts virtual hosts + virtual hosts virtual hosts Virtual hosts jetty-6.0.0Beta0 - + dispatcher parameters dispatcher parameters dispatcher parameters Dispatcher + + dispatcher parameters dispatcher parameters dispatcher parameters disp + dispatcher parameters dispatcher parameters dispatcher parameters Dispatcher parameters - + fixed blocking read fixed blocking read fixed blocking read Fixed blocking - read - + maven 2 build maven 2 build maven 2 build Maven 2 build - + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for urls - UTF-8 encoding for URLs + + fixed blocking read fixed blocking read fixed blocking read fixed bloc fixed + blocking read fixed blocking read fixed blocking read Fixed blocking read + + maven 2 build maven 2 build maven 2 build maven 2 build maven 2 build maven + 2 build maven 2 build Maven 2 build + + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for url utf-8 + encoding for urls utf-8 encoding for urls utf-8 encoding for urls UTF-8 + encoding for URLs jetty-6.0.0APLPA3 - + added demo for continuations added demo for continuations added demo for + + added demo for continuations added demo for continuations added demo f added + demo for continuations added demo for continuations added demo for continuations Added demo for Continuations - + jasper and associated libraries. jasper and associated libraries. jasper and + + jasper and associated libraries. jasper and associated libraries. jasp + jasper and associated libraries. jasper and associated libraries. jasper and associated libraries. Jasper and associated libraries. jetty-6.0.0ALPHA2 + continuations - way cool way to suspend a request and retry later. + continuations - way cool way to suspend a request and retry later. continuations - way cool way to suspend a request and retry later. Continuations - way cool way to suspend a request and retry later. - + dispatchers dispatchers dispatchers Dispatchers - + security security security Security + + dispatchers dispatchers dispatchers dispatchers dispatchers dispatchers + dispatchers Dispatchers + + security security security security security security security Security jetty-6.0.0ALPHA1 - + filters filters filters Filters - + web.xml handling web.xml handling web.xml handling web.xml handling + + filters filters filters filters filters filters filters Filters + + web.xml handling web.xml handling web.xml handling web.xml handling web.xml + handling web.xml handling web.xml handling web.xml handling jetty-6.0.0ALPHA0 + file may be sent as sent is a single operation. file may be sent as se file - may be sent as sent is a single operation. file may be sent as sent is a - single operation. + may be sent as sent is a single operation. file may be sent as se file may + be sent as sent is a single operation. file may be sent as sent is a single + operation. + improved "dependancy injection" and "inversion of control" design of + improved "dependancy injection" and "inversion of control" design of improved "dependancy injection" and "inversion of control" design of Improved "dependancy injection" and "inversion of control" design of components + improved "interceptor" design of handlers improved "interceptor" desig + improved "interceptor" design of handlers improved "interceptor" desig improved "interceptor" design of handlers Improved "interceptor" design of handlers - + missing request dispatchers missing request dispatchers missing request + + missing request dispatchers missing request dispatchers missing reques + missing request dispatchers missing request dispatchers missing request dispatchers Missing Request Dispatchers - + missing security missing security missing security Missing Security - + missing war support missing war support missing war support Missing war + + missing security missing security missing security missing security missing + security missing security missing security Missing Security + + missing war support missing war support missing war support missing wa + missing war support missing war support missing war support Missing war support + missing web.xml based configuration missing web.xml based configuratio + missing web.xml based configuration missing web.xml based configuratio missing web.xml based configuration Missing web.xml based configuration + optional use of nio buffering so that efficient direct buffers and mem + optional use of nio buffering so that efficient direct buffers and mem optional use of nio buffering so that efficient direct buffers and mem Optional use of NIO Buffering so that efficient direct buffers and memory mapped files can be used. + optional use of nio gather writes, so that for example a http header a + optional use of nio gather writes, so that for example a http header a optional use of nio gather writes, so that for example a http header a Optional use of NIO gather writes, so that for example a HTTP header and a memory mapped + optional use of nio non-blocking scheduling so that threads are not op + optional use of nio non-blocking scheduling so that threads are not op optional use of nio non-blocking scheduling so that threads are not Optional use of NIO non-blocking scheduling so that threads are not allocated per connection. + smart split buffer design allows large buffers to only be allocated to smart - split buffer design allows large buffers to only be allocated to Smart split + split buffer design allows large buffers to only be allocated to smart split + buffer design allows large buffers to only be allocated to Smart split buffer design allows large buffers to only be allocated to active connections. The resulting memory savings allow very large buffers to be used, which increases the chance of efficient asynchronous flushing and of avoiding chunking. + totally rearchitected and rebuilt, so 10 years of cruft could be remov + totally rearchitected and rebuilt, so 10 years of cruft could be remov totally rearchitected and rebuilt, so 10 years of cruft could be remov Totally rearchitected and rebuilt, so 10 years of cruft could be removed! jetty-5.1.11RC0 - 05 April 2006 + added provider support to ssllistener added provider support to ssllis added + provider support to ssllistener added provider support to ssllis added provider support to ssllistener Added provider support to SslListener - + fixed ajp handling of ;jsessionid. fixed ajp handling of ;jsessionid. fixed - ajp handling of ;jsessionid. Fixed AJP handling of ;jsessionid. + + fixed ajp handling of ;jsessionid. fixed ajp handling of ;jsessionid. fixed + ajp handling of ;jsessionid. fixed ajp handling of ;jsessionid. fixed ajp + handling of ;jsessionid. Fixed AJP handling of ;jsessionid. + force close with shutdownoutput for win32 force close with shutdownout force - close with shutdownoutput for win32 force close with shutdownOutput for - win32 + close with shutdownoutput for win32 force close with shutdownout force close + with shutdownoutput for win32 force close with shutdownOutput for win32 + improved contenttype param handling improved contenttype param handlin + improved contenttype param handling improved contenttype param handlin improved contenttype param handling improved contentType param handling + logging improvements for servlet and runtime exceptions logging improv + logging improvements for servlet and runtime exceptions logging improv logging improvements for servlet and runtime exceptions logging improvements for servlet and runtime exceptions + npe protection if desirable client certificates npe protection if desi npe + protection if desirable client certificates npe protection if desi npe protection if desirable client certificates NPE protection if desirable client certificates + stop jdbcuserrealm forcing all credentials to be string stop jdbcuserr stop + jdbcuserrealm forcing all credentials to be string stop jdbcuserr stop jdbcuserrealm forcing all credentials to be string stop JDBCUserRealm forcing all credentials to be String jetty-5.1.10 - 05 January 2006 + fixed path aliasing with // on windows. fixed path aliasing with // on fixed - path aliasing with // on windows. Fixed path aliasing with // on windows. - + fix for ajp13 with encoded path fix for ajp13 with encoded path fix for - ajp13 with encoded path Fix for AJP13 with encoded path + path aliasing with // on windows. fixed path aliasing with // on fixed path + aliasing with // on windows. Fixed path aliasing with // on windows. + + fix for ajp13 with encoded path fix for ajp13 with encoded path fix fo fix + for ajp13 with encoded path fix for ajp13 with encoded path fix for ajp13 + with encoded path Fix for AJP13 with encoded path + fix for ajp13 with multiple headers fix for ajp13 with multiple header fix - for ajp13 with multiple headers Fix for AJP13 with multiple headers + for ajp13 with multiple headers fix for ajp13 with multiple header fix for + ajp13 with multiple headers Fix for AJP13 with multiple headers + put post content default back to iso_8859_1. get is utf-8 still put po put - post content default back to iso_8859_1. get is utf-8 still Put POST content + post content default back to iso_8859_1. get is utf-8 still put po put post + content default back to iso_8859_1. get is utf-8 still Put POST content default back to iso_8859_1. GET is UTF-8 still + remove null dispatch attributes from getattributenames remove null dis + remove null dispatch attributes from getattributenames remove null dis remove null dispatch attributes from getattributenames Remove null dispatch attributes from getAttributeNames jetty-4.2.25 - 04 January 2006 - + fixed aliasing of // for win32 fixed aliasing of // for win32 fixed aliasing - of // for win32 Fixed aliasing of // for win32 + + fixed aliasing of // for win32 fixed aliasing of // for win32 fixed al fixed + aliasing of // for win32 fixed aliasing of // for win32 fixed aliasing of // + for win32 Fixed aliasing of // for win32 jetty-5.1.9 - 07 December 2005 - + fixed wantclientauth(false) overriding netclientauth(true) fixed fixed + + fixed wantclientauth(false) overriding netclientauth(true) fixed fixed fixed + wantclientauth(false) overriding netclientauth(true) fixed fixed wantclientauth(false) overriding netclientauth(true) Fixed wantClientAuth(false) overriding netClientAuth(true) jetty-6.0.0betaX - + see http://jetty.mortbay.org/jetty6 for 6.0 releases see see + + see http://jetty.mortbay.org/jetty6 for 6.0 releases see see see + http://jetty.mortbay.org/jetty6 for 6.0 releases see see http://jetty.mortbay.org/jetty6 for 6.0 releases See http://jetty.mortbay.org/jetty6 for 6.0 releases jetty-5.1.8 - 07 December 2005 + fixed space in url issued created in 5.1.6 fixed space in url issued c fixed - space in url issued created in 5.1.6 Fixed space in URL issued created in - 5.1.6 + space in url issued created in 5.1.6 fixed space in url issued c fixed space + in url issued created in 5.1.6 Fixed space in URL issued created in 5.1.6 jetty-5.1.7 - 07 December 2005 jetty-5.1.7rc0 - 06 December 2005 + better support for uri character encodings better support for uri char + better support for uri character encodings better support for uri char better support for uri character encodings better support for URI character encodings - + char encoding for multipartrequest char encoding for multipartrequest char + + char encoding for multipartrequest char encoding for multipartrequest char + encoding for multipartrequest char encoding for multipartrequest char encoding for multipartrequest char encoding for MultiPartRequest + fixed merging of post params in dispatch query string. fixed merging o fixed + merging of post params in dispatch query string. fixed merging o fixed merging of post params in dispatch query string. fixed merging of POST params in dispatch query string. - + improved server stats improved server stats improved server stats improved + + improved server stats improved server stats improved server stats impr + improved server stats improved server stats improved server stats improved server stats + jsp file servlet mappings copy jspservlet init params. jsp file servle jsp - file servlet mappings copy jspservlet init params. JSP file servlet mappings - copy JspServlet init params. + file servlet mappings copy jspservlet init params. jsp file servle jsp file + servlet mappings copy jspservlet init params. JSP file servlet mappings copy + JspServlet init params. + prefix servlet context logs with org.mortbay.jetty.context prefix serv + prefix servlet context logs with org.mortbay.jetty.context prefix serv prefix servlet context logs with org.mortbay.jetty.context Prefix servlet context logs with org.mortbay.jetty.context + protect from npe in dispatcher getvalues protect from npe in dispatche + protect from npe in dispatcher getvalues protect from npe in dispatche protect from npe in dispatcher getvalues protect from NPE in dispatcher getValues - + updated to 2.6.2 xerces updated to 2.6.2 xerces updated to 2.6.2 xerces + + updated to 2.6.2 xerces updated to 2.6.2 xerces updated to 2.6.2 xerce + updated to 2.6.2 xerces updated to 2.6.2 xerces updated to 2.6.2 xerces Updated to 2.6.2 xerces + use commons logging jar instead of api jar. use commons logging jar in use + commons logging jar instead of api jar. use commons logging jar in use commons logging jar instead of api jar. use commons logging jar instead of api jar. jetty-5.1.6 - 18 November 2005 + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed + cve-2006-2758 fixed jsp visibility security issue. cve-2006-2758 fixed cve-2006-2758 fixed jsp visibility security issue. CVE-2006-2758 Fixed JSP visibility security issue. + improved jetty-web.xml access to org.mortbay classes. improved jetty-w + improved jetty-web.xml access to org.mortbay classes. improved jetty-w improved jetty-web.xml access to org.mortbay classes. Improved jetty-web.xml access to org.mortbay classes. jetty-5.1.5 - 10 November 2005 + improved mapping of jsp files. improved mapping of jsp files. improved + improved mapping of jsp files. improved mapping of jsp files. improved mapping of jsp files. Improved mapping of JSP files. + improved shutdown hook improved shutdown hook improved shutdown hook + improved shutdown hook improved shutdown hook improved shutdown hook Improved shutdown hook - + improved url decoding improved url decoding improved url decoding Improved + + improved url decoding improved url decoding improved url decoding impr + improved url decoding improved url decoding improved url decoding Improved URL Decoding jetty-5.1.5rc2 - 07 October 2005 + proxyhandler can handle chained proxies proxyhandler can handle chaine + proxyhandler can handle chained proxies proxyhandler can handle chaine proxyhandler can handle chained proxies ProxyHandler can handle chained proxies - + public servermbean constructor public servermbean constructor public - servermbean constructor public ServerMBean constructor + + public servermbean constructor public servermbean constructor public public + servermbean constructor public servermbean constructor public servermbean + constructor public ServerMBean constructor + refixed merge of dispatcher params refixed merge of dispatcher params + refixed merge of dispatcher params refixed merge of dispatcher params refixed merge of dispatcher params ReFixed merge of Dispatcher params + response.setlocale will set locale even if getwriter called. + response.setlocale will set locale even if getwriter called. response.setlocale will set locale even if getwriter called. Response.setLocale will set locale even if getWriter called. + reverted dispatcher params to ri rather than spec behaviour. reverted + reverted dispatcher params to ri rather than spec behaviour. reverted reverted dispatcher params to ri rather than spec behaviour. Reverted dispatcher params to RI rather than spec behaviour. - + unsynchronized contextloader unsynchronized contextloader unsynchronized + + unsynchronized contextloader unsynchronized contextloader unsynchroniz + unsynchronized contextloader unsynchronized contextloader unsynchronized contextloader unsynchronized ContextLoader - + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for urls - UTF-8 encoding for URLs + + utf-8 encoding for urls utf-8 encoding for urls utf-8 encoding for url utf-8 + encoding for urls utf-8 encoding for urls utf-8 encoding for urls UTF-8 + encoding for URLs jetty-5.1.5rc1 - 23 August 2005 + encoded full path in resourcehandler directory listing encoded full pa + encoded full path in resourcehandler directory listing encoded full pa encoded full path in resourcehandler directory listing Encoded full path in ResourceHandler directory listing + fixed 100-continues with chunking and early commit fixed 100-continues fixed + 100-continues with chunking and early commit fixed 100-continues fixed 100-continues with chunking and early commit Fixed 100-continues with chunking and early commit + fixed illegal state with chunks and 100 continue - tony seebregts fixe fixed + illegal state with chunks and 100 continue - tony seebregts fixe fixed illegal state with chunks and 100 continue - tony seebregts Fixed illegal state with chunks and 100 continue - Tony Seebregts + fixed merge of dispatcher parameters fixed merge of dispatcher paramet fixed - merge of dispatcher parameters Fixed merge of Dispatcher parameters + merge of dispatcher parameters fixed merge of dispatcher paramet fixed merge + of dispatcher parameters Fixed merge of Dispatcher parameters + fixed pkcs12import input string method fixed pkcs12import input string fixed + pkcs12import input string method fixed pkcs12import input string fixed pkcs12import input string method Fixed PKCS12Import input string method - + handle extra params after charset in header handle extra params after handle + + handle extra params after charset in header handle extra params after + handle extra params after charset in header handle extra params after handle extra params after charset in header handle extra params after charset in header + release commons logging factories when stopping context. release commo + release commons logging factories when stopping context. release commo release commons logging factories when stopping context. Release commons logging factories when stopping context. - + upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 upgraded + + upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 up + upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 upgraded to commons logging 1.0.4 jetty-5.1.5rc0 - 16 August 2005 + applied ciphersuite patch from tonyj applied ciphersuite patch from to + applied ciphersuite patch from tonyj applied ciphersuite patch from to applied ciphersuite patch from tonyj Applied ciphersuite patch from tonyj + authenticators use servlet senderror authenticators use servlet sender + authenticators use servlet senderror authenticators use servlet sender authenticators use servlet senderror Authenticators use servlet sendError - + cgi sets script_filename cgi sets script_filename cgi sets script_filename - CGI sets SCRIPT_FILENAME + + cgi sets script_filename cgi sets script_filename cgi sets script_file cgi + sets script_filename cgi sets script_filename cgi sets script_filename CGI + sets SCRIPT_FILENAME + expect continues only sent if input is read. expect continues only sen + expect continues only sent if input is read. expect continues only sen expect continues only sent if input is read. Expect continues only sent if input is read. + facade over commons logfactory so that discovery may be avoided. facad + facade over commons logfactory so that discovery may be avoided. facad facade over commons logfactory so that discovery may be avoided. Facade over commons LogFactory so that discovery may be avoided. + fixed component remove memory leak for stop/start cycles fixed compone fixed + component remove memory leak for stop/start cycles fixed compone fixed component remove memory leak for stop/start cycles Fixed component remove memory leak for stop/start cycles - + httptunnel timeout httptunnel timeout httptunnel timeout HttpTunnel timeout + + httptunnel timeout httptunnel timeout httptunnel timeout httptunnel ti + httptunnel timeout httptunnel timeout httptunnel timeout HttpTunnel timeout + npe protection for double stop in threadedserver npe protection for do npe + protection for double stop in threadedserver npe protection for do npe protection for double stop in threadedserver NPE protection for double stop in ThreadedServer jetty-5.1.4 - 05 June 2005 + change jaas impl to be more flexible on finding roles change jaas impl + change jaas impl to be more flexible on finding roles change jaas impl change jaas impl to be more flexible on finding roles Change JAAS impl to be more flexible on finding roles - + fixed ftp close issue. fixed ftp close issue. fixed ftp close issue. Fixed - FTP close issue. + + fixed ftp close issue. fixed ftp close issue. fixed ftp close issue. f fixed + ftp close issue. fixed ftp close issue. fixed ftp close issue. Fixed FTP + close issue. + modelmbean handles null signatures modelmbean handles null signatures + modelmbean handles null signatures modelmbean handles null signatures modelmbean handles null signatures ModelMBean handles null signatures - + npe protection in threadedserver npe protection in threadedserver npe - protection in threadedserver NPE protection in ThreadedServer + + npe protection in threadedserver npe protection in threadedserver npe npe + protection in threadedserver npe protection in threadedserver npe protection + in threadedserver NPE protection in ThreadedServer + set classloader during webapp dostop set classloader during webapp dos set + classloader during webapp dostop set classloader during webapp dos set classloader during webapp dostop set classloader during webapp doStop - + setup mx4j with jdk1.5 in start.config setup mx4j with jdk1.5 in setup mx4j - with jdk1.5 in start.config setup MX4J with JDK1.5 in start.config + + setup mx4j with jdk1.5 in start.config setup mx4j with jdk1.5 in setup setup + mx4j with jdk1.5 in start.config setup mx4j with jdk1.5 in setup mx4j with + jdk1.5 in start.config setup MX4J with JDK1.5 in start.config jetty-5.1.4rc0 - 19 April 2005 + allow servlethandler in normal httpcontext again. allow servlethandler allow + servlethandler in normal httpcontext again. allow servlethandler allow servlethandler in normal httpcontext again. Allow ServletHandler in normal HttpContext again. + httpserver delegates component handling to container. httpserver deleg + httpserver delegates component handling to container. httpserver deleg httpserver delegates component handling to container. HttpServer delegates component handling to Container. - + more protection from null classloaders. more protection from null more - protection from null classloaders. More protection from null classloaders. + + more protection from null classloaders. more protection from null more more + protection from null classloaders. more protection from null more protection + from null classloaders. More protection from null classloaders. + servlethttpcontext correctly calls super.dostop. servlethttpcontext + servlethttpcontext correctly calls super.dostop. servlethttpcontext servlethttpcontext correctly calls super.dostop. ServletHttpContext correctly calls super.doStop. - + stop start.jar putting current directory on classpath. stop start.jar stop + + stop start.jar putting current directory on classpath. stop start.jar stop + start.jar putting current directory on classpath. stop start.jar stop start.jar putting current directory on classpath. Stop start.jar putting current directory on classpath. + turn off web.xml validation for jboss. turn off web.xml validation for turn - off web.xml validation for jboss. Turn off web.xml validation for JBoss. + off web.xml validation for jboss. turn off web.xml validation for turn off + web.xml validation for jboss. Turn off web.xml validation for JBoss. jetty-5.1.3 - 07 April 2005 + some minor code janitorial services some minor code janitorial service some - minor code janitorial services Some minor code janitorial services + minor code janitorial services some minor code janitorial service some minor + code janitorial services Some minor code janitorial services jetty-4.2.24 - 07 April 2005 jetty-5.1.3rc4 - 31 March 2005 + allow xmlconfiguration to start with no object. allow xmlconfiguration allow + xmlconfiguration to start with no object. allow xmlconfiguration allow xmlconfiguration to start with no object. Allow XmlConfiguration to start with no object. + make java:comp/env immutable for webapps as per j2ee spec make java:co make + java:comp/env immutable for webapps as per j2ee spec make java:co make java:comp/env immutable for webapps as per j2ee spec make java:comp/env immutable for webapps as per J2EE spec + moved servlet request wrapping to entercontextscope for geronimo secur moved + servlet request wrapping to entercontextscope for geronimo secur moved servlet request wrapping to entercontextscope for geronimo secur Moved servlet request wrapping to enterContextScope for geronimo security + refixed / mapping for filters refixed / mapping for filters refixed / + refixed / mapping for filters refixed / mapping for filters refixed / mapping for filters refixed / mapping for filters - + rework initialcontextfactory to use static 'default' namespace rework rework + + rework initialcontextfactory to use static 'default' namespace rework + rework initialcontextfactory to use static 'default' namespace rework rework initialcontextfactory to use static 'default' namespace rework InitialContextFactory to use static 'default' namespace - + updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to + + updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to mx4j 3.0.1 upda + updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to mx4j 3.0.1 updated to mx4j 3.0.1 jetty-5.1.3rc3 - 20 March 2005 + fixed "no getter or setter found" mbean errors fixed "no getter or set fixed - "no getter or setter found" mbean errors fixed "No getter or setter found" - mbean errors - + removed accidental enablement of debug for jettyplus jndi in removed removed + "no getter or setter found" mbean errors fixed "no getter or set fixed "no + getter or setter found" mbean errors fixed "No getter or setter found" mbean + errors + + removed accidental enablement of debug for jettyplus jndi in removed r + removed accidental enablement of debug for jettyplus jndi in removed removed accidental enablement of debug for jettyplus jndi in removed accidental enablement of DEBUG for JettyPlus jndi in log4j.properties jetty-5.1.3rc2 - 16 March 2005 - + fixed context to _context refactory error fixed context to _context fixed - context to _context refactory error Fixed context to _context refactory - error + + fixed context to _context refactory error fixed context to _context fi fixed + context to _context refactory error fixed context to _context fixed context + to _context refactory error Fixed context to _context refactory error + updated jsr154filter for error dispatch updated jsr154filter for error + updated jsr154filter for error dispatch updated jsr154filter for error updated jsr154filter for error dispatch Updated JSR154Filter for ERROR dispatch jetty-5.1.3rc1 - 13 March 2005 - + fixed principal naming in formauthenticator fixed principal naming in fixed + + fixed principal naming in formauthenticator fixed principal naming in fixed + principal naming in formauthenticator fixed principal naming in fixed principal naming in formauthenticator Fixed principal naming in FormAuthenticator + fixed typo in context-param handling. fixed typo in context-param hand fixed - typo in context-param handling. Fixed typo in context-param handling. + typo in context-param handling. fixed typo in context-param hand fixed typo + in context-param handling. Fixed typo in context-param handling. + jettyplus updated to jotm 2.0.5, xapool 1.4.2 jettyplus updated to jot + jettyplus updated to jotm 2.0.5, xapool 1.4.2 jettyplus updated to jot jettyplus updated to jotm 2.0.5, xapool 1.4.2 JettyPlus updated to JOTM 2.0.5, XAPool 1.4.2 - + update to demo site look and feel. update to demo site look and feel. update + + update to demo site look and feel. update to demo site look and feel. + update to demo site look and feel. update to demo site look and feel. update to demo site look and feel. update to demo site look and feel. jetty-4.2.24rc1 - + fixed principal naming in formauthenticator fixed principal naming in fixed + + fixed principal naming in formauthenticator fixed principal naming in fixed + principal naming in formauthenticator fixed principal naming in fixed principal naming in formauthenticator Fixed principal naming in FormAuthenticator jetty-5.1.3rc0 - 08 March 2005 + added logcookie and loglatency support to ncsarequestlog added logcook added + logcookie and loglatency support to ncsarequestlog added logcook added logcookie and loglatency support to ncsarequestlog Added logCookie and logLatency support to NCSARequestLog + added new jaas callback to allow extra login form fields in authentica added - new jaas callback to allow extra login form fields in authentica Added new - JAAS callback to allow extra login form fields in authentication - + added simple xpath support to xmlparser added simple xpath support to added - simple xpath support to xmlparser Added simple xpath support to XmlParser + new jaas callback to allow extra login form fields in authentica added new + jaas callback to allow extra login form fields in authentica Added new JAAS + callback to allow extra login form fields in authentication + + added simple xpath support to xmlparser added simple xpath support to added + simple xpath support to xmlparser added simple xpath support to added simple + xpath support to xmlparser Added simple xpath support to XmlParser + added ssllistener for 1.4 jsse api. added ssllistener for 1.4 jsse api added + ssllistener for 1.4 jsse api. added ssllistener for 1.4 jsse api added ssllistener for 1.4 jsse api. Added SslListener for 1.4 JSSE API. - + added taglibconfiguration to search for listeners in tlds. added added + + added taglibconfiguration to search for listeners in tlds. added added added + taglibconfiguration to search for listeners in tlds. added added taglibconfiguration to search for listeners in tlds. Added TagLibConfiguration to search for listeners in TLDs. + allow system and server classes to be configured for context loader. a allow + system and server classes to be configured for context loader. a allow system and server classes to be configured for context loader. Allow system and server classes to be configured for context loader. + fixed htaccess crypt salt handling. fixed htaccess crypt salt handling fixed + htaccess crypt salt handling. fixed htaccess crypt salt handling fixed htaccess crypt salt handling. Fixed HTAccess crypt salt handling. + fixed jsr154 error dispatch with explicit pass of type. fixed jsr154 e fixed + jsr154 error dispatch with explicit pass of type. fixed jsr154 e fixed jsr154 error dispatch with explicit pass of type. Fixed JSR154 error dispatch with explicit pass of type. + fixed moderate load preventing threadpool shrinking. fixed moderate lo fixed + moderate load preventing threadpool shrinking. fixed moderate lo fixed moderate load preventing threadpool shrinking. Fixed moderate load preventing ThreadPool shrinking. - + fixed rollover filename format bug fixed rollover filename format bug fixed + + fixed rollover filename format bug fixed rollover filename format bug fixed + rollover filename format bug fixed rollover filename format bug fixed rollover filename format bug Fixed rollover filename format bug + flush filter chain caches on servlet/filter change flush filter chain flush + filter chain caches on servlet/filter change flush filter chain flush filter chain caches on servlet/filter change Flush filter chain caches on servlet/filter change + ioexception if eof read during chunk. ioexception if eof read during c + ioexception if eof read during chunk. ioexception if eof read during c ioexception if eof read during chunk. IOException if EOF read during chunk. jetty-4.2.24rc0 - 08 March 2005 + added logcookie and loglatency support to ncsarequestlog added logcook added + logcookie and loglatency support to ncsarequestlog added logcook added logcookie and loglatency support to ncsarequestlog Added logCookie and logLatency support to NCSARequestLog - + back ported jetty 5 threadedserver and threadpool back ported jetty 5 back - ported jetty 5 threadedserver and threadpool Back ported Jetty 5 - ThreadedServer and ThreadPool + + back ported jetty 5 threadedserver and threadpool back ported jetty 5 back + ported jetty 5 threadedserver and threadpool back ported jetty 5 back ported + jetty 5 threadedserver and threadpool Back ported Jetty 5 ThreadedServer and + ThreadPool jetty-5.1.2 - 18 January 2005 + added id and ref support to xmlconfiguration added id and ref support added - id and ref support to xmlconfiguration Added id and ref support to + id and ref support to xmlconfiguration added id and ref support added id + and ref support to xmlconfiguration Added id and ref support to XmlConfiguration + 1103953 Apply patch #1103953 - + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up + + cleaned up abstractsessionmanager synchronization. cleaned up cleaned + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up abstractsessionmanager synchronization. Cleaned up AbstractSessionManager synchronization. - + fixed potential concurrent login problem with jaas fixed potential fixed - potential concurrent login problem with jaas Fixed potential concurrent - login problem with JAAS + + fixed potential concurrent login problem with jaas fixed potential fix fixed + potential concurrent login problem with jaas fixed potential fixed potential + concurrent login problem with jaas Fixed potential concurrent login problem + with JAAS jetty-4.2.23 - 16 January 2005 - + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up + + cleaned up abstractsessionmanager synchronization. cleaned up cleaned + cleaned up abstractsessionmanager synchronization. cleaned up cleaned up abstractsessionmanager synchronization. Cleaned up AbstractSessionManager synchronization. - + fixed potential concurrent login problem with jaas fixed potential fixed - potential concurrent login problem with jaas Fixed potential concurrent - login problem with JAAS + + fixed potential concurrent login problem with jaas fixed potential fix fixed + potential concurrent login problem with jaas fixed potential fixed potential + concurrent login problem with jaas Fixed potential concurrent login problem + with JAAS jetty-5.1.2pre0 - 22 December 2004 - + added global invalidation to abstractsessionmanager added global added - global invalidation to abstractsessionmanager Added global invalidation to + + added global invalidation to abstractsessionmanager added global added added + global invalidation to abstractsessionmanager added global added global + invalidation to abstractsessionmanager Added global invalidation to AbstractSessionManager - + fixed case of cookie parameters fixed case of cookie parameters fixed case - of cookie parameters Fixed case of Cookie parameters - + fixed suffix filters fixed suffix filters fixed suffix filters Fixed suffix + + fixed case of cookie parameters fixed case of cookie parameters fixed fixed + case of cookie parameters fixed case of cookie parameters fixed case of + cookie parameters Fixed case of Cookie parameters + + fixed suffix filters fixed suffix filters fixed suffix filters fixed s fixed + suffix filters fixed suffix filters fixed suffix filters Fixed suffix filters + modified userequestedid handling to only use ids from other contexts + modified userequestedid handling to only use ids from other contexts modified userequestedid handling to only use ids from other contexts Modified useRequestedID handling to only use IDs from other contexts + support secure and httponly in session cookies support secure and http + support secure and httponly in session cookies support secure and http support secure and httponly in session cookies Support Secure and HttpOnly in session cookies + unavailableexception handling from handle unavailableexception handlin + unavailableexception handling from handle unavailableexception handlin unavailableexception handling from handle UnavailableException handling from handle jetty-4.2.23RC0 - 17 December 2004 + added logstream to capture stderr and stdout to logging added logstrea added + logstream to capture stderr and stdout to logging added logstrea added logstream to capture stderr and stdout to logging Added LogStream to capture stderr and stdout to logging - + build unsealed jars build unsealed jars build unsealed jars Build unsealed - jars + + build unsealed jars build unsealed jars build unsealed jars build unse build + unsealed jars build unsealed jars build unsealed jars Build unsealed jars + lineinput handles readers with small internal buffer lineinput handles + lineinput handles readers with small internal buffer lineinput handles lineinput handles readers with small internal buffer LineInput handles readers with small internal buffer + support secure and httponly in session cookies support secure and http + support secure and httponly in session cookies support secure and http support secure and httponly in session cookies Support Secure and HttpOnly in session cookies jetty-5.1.1 - 01 December 2004 jetty-5.1.1RC1 - + allow double // within uris allow double // within uris allow double // - within uris Allow double // within URIs + + allow double // within uris allow double // within uris allow double / allow + double // within uris allow double // within uris allow double // within + uris Allow double // within URIs + applied patch for md5 hashed credentials for md5 applied patch for md5 + applied patch for md5 hashed credentials for md5 applied patch for md5 applied patch for md5 hashed credentials for md5 Applied patch for MD5 hashed credentials for MD5 + fixed ordering of filters with multiple interleaved mappings. fixed or fixed + ordering of filters with multiple interleaved mappings. fixed or fixed ordering of filters with multiple interleaved mappings. Fixed ordering of filters with multiple interleaved mappings. + made more webapplicationhandle configuration methods public. made more made - more webapplicationhandle configuration methods public. Made more + more webapplicationhandle configuration methods public. made more made more + webapplicationhandle configuration methods public. Made more WebApplicationHandle configuration methods public. - + some minor findbugs code cleanups some minor findbugs code cleanups some - minor findbugs code cleanups Some minor findbugs code cleanups + + some minor findbugs code cleanups some minor findbugs code cleanups so some + minor findbugs code cleanups some minor findbugs code cleanups some minor + findbugs code cleanups Some minor findbugs code cleanups jetty-5.1.1RC0 - 17 November 2004 + added new contributed shell start/stop script added new contributed sh added - new contributed shell start/stop script added new contributed shell - start/stop script + new contributed shell start/stop script added new contributed sh added new + contributed shell start/stop script added new contributed shell start/stop + script + excluded errorpagehandler from standard build in extra/jdk1.2 build ex + excluded errorpagehandler from standard build in extra/jdk1.2 build ex excluded errorpagehandler from standard build in extra/jdk1.2 build excluded ErrorPageHandler from standard build in extra/jdk1.2 build + fix commons logging imports to ibmjsselistener fix commons logging imp fix + commons logging imports to ibmjsselistener fix commons logging imp fix commons logging imports to ibmjsselistener fix commons logging imports to IbmJsseListener - + fix for adding recognized eventlisteners fix for adding recognized fix for + + fix for adding recognized eventlisteners fix for adding recognized fix fix + for adding recognized eventlisteners fix for adding recognized fix for adding recognized eventlisteners fix for adding recognized EventListeners jetty-5.1.0 - 14 November 2004 jetty-5.1.RC1 - 24 October 2004 + allow jsse listener to be just confidential or just integral. allow js allow - jsse listener to be just confidential or just integral. Allow JSSE listener - to be just confidential or just integral. - + allow multiple accepting threads allow multiple accepting threads allow - multiple accepting threads Allow multiple accepting threads - + build unsealed jars build unsealed jars build unsealed jars Build unsealed - jars + jsse listener to be just confidential or just integral. allow js allow jsse + listener to be just confidential or just integral. Allow JSSE listener to be + just confidential or just integral. + + allow multiple accepting threads allow multiple accepting threads allo allow + multiple accepting threads allow multiple accepting threads allow multiple + accepting threads Allow multiple accepting threads + + build unsealed jars build unsealed jars build unsealed jars build unse build + unsealed jars build unsealed jars build unsealed jars Build unsealed jars + default / mapping does not apply to filters default / mapping does not + default / mapping does not apply to filters default / mapping does not default / mapping does not apply to filters default / mapping does not apply to Filters - + fixed npe for null contenttype fixed npe for null contenttype fixed npe for - null contenttype Fixed NPE for null contenttype + + fixed npe for null contenttype fixed npe for null contenttype fixed np fixed + npe for null contenttype fixed npe for null contenttype fixed npe for null + contenttype Fixed NPE for null contenttype + improved clean targets improved clean targets improved clean targets + improved clean targets improved clean targets improved clean targets improved clean targets - + many minor cleanups suggested from figbug utility many minor cleanups many - minor cleanups suggested from figbug utility many minor cleanups suggested - from figbug utility + + many minor cleanups suggested from figbug utility many minor cleanups many + minor cleanups suggested from figbug utility many minor cleanups many minor + cleanups suggested from figbug utility many minor cleanups suggested from + figbug utility + partially flush writers on every write so content length can be detect + partially flush writers on every write so content length can be detect partially flush writers on every write so content length can be detect Partially flush writers on every write so content length can be detected. + when committed setheader is a noop rather than illegalstateexception w when + committed setheader is a noop rather than illegalstateexception w when committed setheader is a noop rather than illegalstateexception when committed setHeader is a noop rather than IllegalStateException jetty-5.1.RC0 - 11 October 2004 - + added filter chain cache added filter chain cache added filter chain cache - Added filter chain cache + + added filter chain cache added filter chain cache added filter chain c added + filter chain cache added filter chain cache added filter chain cache Added + filter chain cache + added jsr77 servlet statistic support added jsr77 servlet statistic su added - jsr77 servlet statistic support Added JSR77 servlet statistic support + jsr77 servlet statistic support added jsr77 servlet statistic su added jsr77 + servlet statistic support Added JSR77 servlet statistic support + added lifecycle events and generic container. added lifecycle events a added + lifecycle events and generic container. added lifecycle events a added lifecycle events and generic container. Added LifeCycle events and generic container. + added logstream to capture stderr and stdout to logging added logstrea added + logstream to capture stderr and stdout to logging added logstrea added logstream to capture stderr and stdout to logging Added LogStream to capture stderr and stdout to logging - + fixed htaccesshandler fixed htaccesshandler fixed htaccesshandler Fixed + + fixed htaccesshandler fixed htaccesshandler fixed htaccesshandler fixe fixed + htaccesshandler fixed htaccesshandler fixed htaccesshandler Fixed HTAccessHandler + fixed many minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 fixed - many minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 Fixed many - minor issues from J2EE 1.4 TCK testing See sf.net bugs 1031520 - 1032205 - + jboss 4.0.0 support jboss 4.0.0 support jboss 4.0.0 support JBoss 4.0.0 - support + many minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 fixed many + minor issues from j2ee 1.4 tck testing see sf.net bugs 1031 Fixed many minor + issues from J2EE 1.4 TCK testing See sf.net bugs 1031520 - 1032205 + + jboss 4.0.0 support jboss 4.0.0 support jboss 4.0.0 support jboss 4.0. jboss + 4.0.0 support jboss 4.0.0 support jboss 4.0.0 support JBoss 4.0.0 support + lineinput handles readers with small internal buffer lineinput handles + lineinput handles readers with small internal buffer lineinput handles lineinput handles readers with small internal buffer LineInput handles readers with small internal buffer + refactored, simplified and optimized httpoutputstream refactored, simp + refactored, simplified and optimized httpoutputstream refactored, simp refactored, simplified and optimized httpoutputstream Refactored, simplified and optimized HttpOutputStream + refactored webapp context configurations refactored webapp context + refactored webapp context configurations refactored webapp context refactored webapp context configurations Refactored webapp context configurations - + upgraded to ant-1.6 for jasper upgraded to ant-1.6 for jasper upgraded to + + upgraded to ant-1.6 for jasper upgraded to ant-1.6 for jasper upgraded + upgraded to ant-1.6 for jasper upgraded to ant-1.6 for jasper upgraded to ant-1.6 for jasper Upgraded to ant-1.6 for jasper jetty-5.0.0 - 10 September 2004 jetty-5.0.RC4 - 05 September 2004 + fixed configuration of url alias checking fixed configuration of url a fixed + configuration of url alias checking fixed configuration of url a fixed configuration of url alias checking Fixed configuration of URL alias checking + jettyjboss: use realm-name from web.xml if present, otherwise use + jettyjboss: use realm-name from web.xml if present, otherwise use jettyjboss: use realm-name from web.xml if present, otherwise use JettyJBoss: Use realm-name from web.xml if present, otherwise use security-domain from jboss-web.xml jetty-5.0.RC3 - 28 August 2004 - + added parameters for acceptqueuesize and lowresources level. added added + + added parameters for acceptqueuesize and lowresources level. added add added + parameters for acceptqueuesize and lowresources level. added added parameters for acceptqueuesize and lowresources level. Added parameters for acceptQueueSize and lowResources level. + always say close for http/1.0 non keep alive. always say close for htt + always say close for http/1.0 non keep alive. always say close for htt always say close for http/1.0 non keep alive. Always say close for HTTP/1.0 non keep alive. - + changed default uri encoding to utf-8 changed default uri encoding to + + changed default uri encoding to utf-8 changed default uri encoding to + changed default uri encoding to utf-8 changed default uri encoding to changed default uri encoding to utf-8 Changed default URI encoding to UTF-8 + digest auth handles qop, stale and maxnonceage. digest auth handles qo + digest auth handles qop, stale and maxnonceage. digest auth handles qo digest auth handles qop, stale and maxnonceage. DIGEST auth handles qop, stale and maxNonceAge. + fixed deployment of ejb-link elements in web.xml with jboss fixed depl fixed + deployment of ejb-link elements in web.xml with jboss fixed depl fixed deployment of ejb-link elements in web.xml with jboss fixed deployment of ejb-link elements in web.xml with jboss - + fixed jaas logout for jetty-jboss fixed jaas logout for jetty-jboss fixed - jaas logout for jetty-jboss fixed jaas logout for jetty-jboss - + fixes to work with java 1.5 fixes to work with java 1.5 fixes to work with - java 1.5 Fixes to work with java 1.5 + + fixed jaas logout for jetty-jboss fixed jaas logout for jetty-jboss fi fixed + jaas logout for jetty-jboss fixed jaas logout for jetty-jboss fixed jaas + logout for jetty-jboss fixed jaas logout for jetty-jboss + + fixes to work with java 1.5 fixes to work with java 1.5 fixes to work fixes + to work with java 1.5 fixes to work with java 1.5 fixes to work with java + 1.5 Fixes to work with java 1.5 + jettyplus addition of pluggable datasources jettyplus addition of plug + jettyplus addition of pluggable datasources jettyplus addition of plug jettyplus addition of pluggable datasources JettyPlus addition of pluggable DataSources - + jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 jettyplus upgrade + + jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 jettyplus upgrade + jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 jettyplus upgrade jettyplus upgrade to xapool 1.3.3. and hsqldb 1.7.2 JettyPlus upgrade to XAPool 1.3.3. and HSQLDB 1.7.2 + less verbose warning for non validating xml parser. less verbose warni less + verbose warning for non validating xml parser. less verbose warni less verbose warning for non validating xml parser. Less verbose warning for non validating xml parser. - + update to jasper 5.0.27 update to jasper 5.0.27 update to jasper 5.0.27 + + update to jasper 5.0.27 update to jasper 5.0.27 update to jasper 5.0.2 + update to jasper 5.0.27 update to jasper 5.0.27 update to jasper 5.0.27 Update to jasper 5.0.27 jetty-4.2.22 - + added parameters for acceptqueuesize and lowresources level. added added + + added parameters for acceptqueuesize and lowresources level. added add added + parameters for acceptqueuesize and lowresources level. added added parameters for acceptqueuesize and lowresources level. Added parameters for acceptQueueSize and lowResources level. + fixed deployment of ejb-link elements in web.xml for jboss fixed deplo fixed + deployment of ejb-link elements in web.xml for jboss fixed deplo fixed deployment of ejb-link elements in web.xml for jboss fixed deployment of ejb-link elements in web.xml for jboss - + fixed jaas logout for jetty-jboss integration fixed jaas logout for fixed - jaas logout for jetty-jboss integration fixed jaas logout for jetty-jboss + + fixed jaas logout for jetty-jboss integration fixed jaas logout for fi fixed + jaas logout for jetty-jboss integration fixed jaas logout for fixed jaas + logout for jetty-jboss integration fixed jaas logout for jetty-jboss integration jetty-5.0.RC2 - 02 July 2004 - + add jmx support for jettyplus add jmx support for jettyplus add jmx support - for jettyplus add JMX support for JettyPlus - + add listing of java:comp/env for webapp with jmx add listing of add listing - of java:comp/env for webapp with jmx add listing of java:comp/env for webapp + + add jmx support for jettyplus add jmx support for jettyplus add jmx su add + jmx support for jettyplus add jmx support for jettyplus add jmx support for + jettyplus add JMX support for JettyPlus + + add listing of java:comp/env for webapp with jmx add listing of add li add + listing of java:comp/env for webapp with jmx add listing of add listing of + java:comp/env for webapp with jmx add listing of java:comp/env for webapp with JMX + default servlet may use only pathinfo for resource default servlet may + default servlet may use only pathinfo for resource default servlet may default servlet may use only pathinfo for resource Default servlet may use only pathInfo for resource + error dispatchers are always get requests. error dispatchers are alway error + dispatchers are always get requests. error dispatchers are alway error dispatchers are always get requests. Error dispatchers are always GET requests. - + fixed digest challenge delimiters fixed digest challenge delimiters fixed - digest challenge delimiters Fixed DIGEST challenge delimiters - + fixed jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout - + fixed no-role security constraint combination. fixed no-role security fixed + + fixed digest challenge delimiters fixed digest challenge delimiters fi fixed + digest challenge delimiters fixed digest challenge delimiters fixed digest + challenge delimiters Fixed DIGEST challenge delimiters + + fixed jaas logout fixed jaas logout fixed jaas logout fixed jaas logou fixed + jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout + + fixed no-role security constraint combination. fixed no-role security fixed + no-role security constraint combination. fixed no-role security fixed no-role security constraint combination. Fixed no-role security constraint combination. - + fixed session leak in j2ee fixed session leak in j2ee fixed session leak in - j2ee Fixed session leak in j2ee + + fixed session leak in j2ee fixed session leak in j2ee fixed session le fixed + session leak in j2ee fixed session leak in j2ee fixed session leak in j2ee + Fixed session leak in j2ee + fix to use runas roles during servlet init and destroy fix to use runa fix - to use runas roles during servlet init and destroy Fix to use runas roles + to use runas roles during servlet init and destroy fix to use runa fix to + use runas roles during servlet init and destroy Fix to use runas roles during servlet init and destroy + htaccess calls unixcrypt correctly htaccess calls unixcrypt correctly + htaccess calls unixcrypt correctly htaccess calls unixcrypt correctly htaccess calls unixcrypt correctly HTAccess calls UnixCrypt correctly - + httpcontext senderror for authentication errors httpcontext senderror + + httpcontext senderror for authentication errors httpcontext senderror + httpcontext senderror for authentication errors httpcontext senderror httpcontext senderror for authentication errors HttpContext sendError for authentication errors + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with jboss-3.2.4 + make choice of override of jndi enc entries: config.xml or web.xml mak make + choice of override of jndi enc entries: config.xml or web.xml mak make choice of override of jndi enc entries: config.xml or web.xml make choice of override of JNDI ENC entries: config.xml or web.xml + options works for all urls on default servlet options works for all ur + options works for all urls on default servlet options works for all ur options works for all urls on default servlet OPTIONS works for all URLs on default servlet jetty-4.2.21 - 02 July 2004 - + add jmx support for jettyplus add jmx support for jettyplus add jmx support - for jettyplus add JMX support for JettyPlus - + add listing of java:comp/env for webapp with jmx add listing of add listing - of java:comp/env for webapp with jmx add listing of java:comp/env for webapp + + add jmx support for jettyplus add jmx support for jettyplus add jmx su add + jmx support for jettyplus add jmx support for jettyplus add jmx support for + jettyplus add JMX support for JettyPlus + + add listing of java:comp/env for webapp with jmx add listing of add li add + listing of java:comp/env for webapp with jmx add listing of add listing of + java:comp/env for webapp with jmx add listing of java:comp/env for webapp with JMX - + fixed jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout + + fixed jaas logout fixed jaas logout fixed jaas logout fixed jaas logou fixed + jaas logout fixed jaas logout fixed jaas logout Fixed JAAS logout + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with + integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with integrated jetty-jboss with jboss-3.2.4 integrated jetty-jboss with jboss-3.2.4 + make choice of override of jndi enc entries: config.xml or web.xml mak make + choice of override of jndi enc entries: config.xml or web.xml mak make choice of override of jndi enc entries: config.xml or web.xml make choice of override of JNDI ENC entries: config.xml or web.xml jetty-5.0.RC1 - 24 May 2004 + added extra/etc/start-plus.config to set up main.class for jettyplus a added + extra/etc/start-plus.config to set up main.class for jettyplus a added extra/etc/start-plus.config to set up main.class for jettyplus added extra/etc/start-plus.config to set up main.class for jettyplus + changed to apache 2.0 license changed to apache 2.0 license changed to + changed to apache 2.0 license changed to apache 2.0 license changed to apache 2.0 license Changed to apache 2.0 license - + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed - http tunnel timeout setting. Fixed HTTP tunnel timeout setting. + + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed + http tunnel timeout setting. fixed http tunnel timeout setting. fixed http + tunnel timeout setting. Fixed HTTP tunnel timeout setting. + form auth redirects to context on a re-auth form auth redirects to con form - auth redirects to context on a re-auth FORM auth redirects to context on a + auth redirects to context on a re-auth form auth redirects to con form auth + redirects to context on a re-auth FORM auth redirects to context on a re-auth + handle multiple virutal hosts from jboss 3.2.4rc2 handle multiple viru + handle multiple virutal hosts from jboss 3.2.4rc2 handle multiple viru handle multiple virutal hosts from jboss 3.2.4rc2 Handle multiple virutal hosts from JBoss 3.2.4RC2 + improved handling of exception from servlet init. improved handling of + improved handling of exception from servlet init. improved handling of improved handling of exception from servlet init. Improved handling of exception from servlet init. + maxformcontentlength may be unlimited with <0 value maxformcontentleng + maxformcontentlength may be unlimited with <0 value maxformcontentleng maxformcontentlength may be unlimited with <0 value maxFormContentLength may be unlimited with <0 value jetty-4.2.20 - 22 May 2004 - + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed - http tunnel timeout setting. Fixed HTTP tunnel timeout setting. + + fixed http tunnel timeout setting. fixed http tunnel timeout setting. fixed + http tunnel timeout setting. fixed http tunnel timeout setting. fixed http + tunnel timeout setting. Fixed HTTP tunnel timeout setting. + form auth redirects to context on a re-auth form auth redirects to con form - auth redirects to context on a re-auth FORM auth redirects to context on a + auth redirects to context on a re-auth form auth redirects to con form auth + redirects to context on a re-auth FORM auth redirects to context on a re-auth + improved handling of exception from servlet init. improved handling of + improved handling of exception from servlet init. improved handling of improved handling of exception from servlet init. Improved handling of exception from servlet init. + maxformcontentlength may be unlimited with <0 value maxformcontentleng + maxformcontentlength may be unlimited with <0 value maxformcontentleng maxformcontentlength may be unlimited with <0 value maxFormContentLength may be unlimited with <0 value jetty-5.0.0RC0 - 07 April 2004 + changed dist naming convention to lowercase changed dist naming conven + changed dist naming convention to lowercase changed dist naming conven changed dist naming convention to lowercase Changed dist naming convention to lowercase + default servlet respectes servlet path default servlet respectes servl + default servlet respectes servlet path default servlet respectes servl default servlet respectes servlet path Default servlet respectes servlet path - + factored out xml based config from webapplicationcontext factored out + + factored out xml based config from webapplicationcontext factored out + factored out xml based config from webapplicationcontext factored out factored out xml based config from webapplicationcontext Factored out XML based config from WebApplicationContext + fixed default servlet for non empty servlet paths fixed default servle fixed + default servlet for non empty servlet paths fixed default servle fixed default servlet for non empty servlet paths Fixed Default servlet for non empty servlet paths - + fixed dos problem fixed dos problem fixed dos problem Fixed DOS problem - + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed - j2se 1.3 problem with httpfields Fixed j2se 1.3 problem with HttpFields + + fixed dos problem fixed dos problem fixed dos problem fixed dos proble fixed + dos problem fixed dos problem fixed dos problem Fixed DOS problem + + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fix fixed + j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed j2se 1.3 + problem with httpfields Fixed j2se 1.3 problem with HttpFields + fixed setcharacterencoding for parameters. fixed setcharacterencoding fixed + setcharacterencoding for parameters. fixed setcharacterencoding fixed setcharacterencoding for parameters. Fixed setCharacterEncoding for parameters. + forced close of connections over stop/start forced close of connection + forced close of connections over stop/start forced close of connection forced close of connections over stop/start Forced close of connections over stop/start - + improved requestlog performance improved requestlog performance improved + + improved requestlog performance improved requestlog performance improv + improved requestlog performance improved requestlog performance improved requestlog performance Improved RequestLog performance + proxiedfor field support added to ncsarequestlog proxiedfor field supp + proxiedfor field support added to ncsarequestlog proxiedfor field supp proxiedfor field support added to ncsarequestlog ProxiedFor field support added to NCSARequestLog + servletcontext attributes wrap httpcontext attributes. servletcontext + servletcontext attributes wrap httpcontext attributes. servletcontext servletcontext attributes wrap httpcontext attributes. ServletContext attributes wrap HttpContext attributes. - + updated jasper to 5.0.19 updated jasper to 5.0.19 updated jasper to 5.0.19 + + updated jasper to 5.0.19 updated jasper to 5.0.19 updated jasper to 5. + updated jasper to 5.0.19 updated jasper to 5.0.19 updated jasper to 5.0.19 Updated jasper to 5.0.19 - + updated jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) updated updated + + updated jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) updated up + updated jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) updated updated jettyplus to jotm 1.4.3 (carol-1.5.2, xapool-1.3.1) Updated JettyPlus to JOTM 1.4.3 (carol-1.5.2, xapool-1.3.1) - + updated mx4j to v2 updated mx4j to v2 updated mx4j to v2 Updated mx4j to V2 + + updated mx4j to v2 updated mx4j to v2 updated mx4j to v2 updated mx4j + updated mx4j to v2 updated mx4j to v2 updated mx4j to v2 Updated mx4j to V2 + worked around bad jboss url handler in xmlparser worked around bad jbo + worked around bad jboss url handler in xmlparser worked around bad jbo worked around bad jboss url handler in xmlparser Worked around bad jboss URL handler in XMLParser jetty-4.2.20RC0 - 07 April 2004 + changed dist naming convention to lowercase changed dist naming conven + changed dist naming convention to lowercase changed dist naming conven changed dist naming convention to lowercase Changed dist naming convention to lowercase + fixed default servlet for non empty servlet paths fixed default servle fixed + default servlet for non empty servlet paths fixed default servle fixed default servlet for non empty servlet paths Fixed Default servlet for non empty servlet paths + forced close of connections over stop/start forced close of connection + forced close of connections over stop/start forced close of connection forced close of connections over stop/start Forced close of connections over stop/start + httpfields protected headers httpfields protected headers httpfields + httpfields protected headers httpfields protected headers httpfields protected headers HttpFields protected headers + proxiedfor field support added to ncsarequestlog proxiedfor field supp + proxiedfor field support added to ncsarequestlog proxiedfor field supp proxiedfor field support added to ncsarequestlog ProxiedFor field support added to NCSARequestLog + worked around bad jboss url handler in xmlparser worked around bad jbo + worked around bad jboss url handler in xmlparser worked around bad jbo worked around bad jboss url handler in xmlparser Worked around bad jboss URL handler in XMLParser jetty-4.2.19 - 19 March 2004 - + fixed dos attack problem fixed dos attack problem fixed dos attack problem - Fixed DOS attack problem + + fixed dos attack problem fixed dos attack problem fixed dos attack pro fixed + dos attack problem fixed dos attack problem fixed dos attack problem Fixed + DOS attack problem jetty-5.0.beta2 - 12 February 2004 + added experimental nio listeners again. added experimental nio listene added + experimental nio listeners again. added experimental nio listene added experimental nio listeners again. Added experimental NIO listeners again. + added log4j context repository to jettyplus added log4j context reposi added - log4j context repository to jettyplus Added log4j context repository to - jettyplus + log4j context repository to jettyplus added log4j context reposi added log4j + context repository to jettyplus Added log4j context repository to jettyplus + added skeleton jmx mbean for jetty plus added skeleton jmx mbean for j added + skeleton jmx mbean for jetty plus added skeleton jmx mbean for j added skeleton jmx mbean for jetty plus Added skeleton JMX MBean for jetty plus + fileresource better handles non sun jvm fileresource better handles no + fileresource better handles non sun jvm fileresource better handles no fileresource better handles non sun jvm FileResource better handles non sun JVM - + fixed busy loop in threadpool run fixed busy loop in threadpool run fixed - busy loop in threadpool run Fixed busy loop in threadpool run + + fixed busy loop in threadpool run fixed busy loop in threadpool run fi fixed + busy loop in threadpool run fixed busy loop in threadpool run fixed busy + loop in threadpool run Fixed busy loop in threadpool run + fixed filter dispatch configuration. fixed filter dispatch configurati fixed + filter dispatch configuration. fixed filter dispatch configurati fixed filter dispatch configuration. fixed filter dispatch configuration. - + fixed head with empty chunk bug. fixed head with empty chunk bug. fixed head - with empty chunk bug. Fixed HEAD with empty chunk bug. - + fixed jetty.home/work handling fixed jetty.home/work handling fixed + + fixed head with empty chunk bug. fixed head with empty chunk bug. fixe fixed + head with empty chunk bug. fixed head with empty chunk bug. fixed head with + empty chunk bug. Fixed HEAD with empty chunk bug. + + fixed jetty.home/work handling fixed jetty.home/work handling fixed fixed + jetty.home/work handling fixed jetty.home/work handling fixed jetty.home/work handling Fixed jetty.home/work handling + fixed lazy authentication with forms fixed lazy authentication with fo fixed - lazy authentication with forms fixed lazy authentication with FORMs - + fixed sessionmanager init fixed sessionmanager init fixed sessionmanager - init Fixed SessionManager init - + fixed setdate thread safety fixed setdate thread safety fixed setdate thread + lazy authentication with forms fixed lazy authentication with fo fixed lazy + authentication with forms fixed lazy authentication with FORMs + + fixed sessionmanager init fixed sessionmanager init fixed sessionmanag fixed + sessionmanager init fixed sessionmanager init fixed sessionmanager init + Fixed SessionManager init + + fixed setdate thread safety fixed setdate thread safety fixed setdate fixed + setdate thread safety fixed setdate thread safety fixed setdate thread safety Fixed setDate thread safety + improved low thread handling improved low thread handling improved low + improved low thread handling improved low thread handling improved low thread handling Improved low thread handling - + monitor closes socket before exit monitor closes socket before exit monitor + + monitor closes socket before exit monitor closes socket before exit mo + monitor closes socket before exit monitor closes socket before exit monitor closes socket before exit Monitor closes socket before exit + npe guard for no-listener junit deployment npe guard for no-listener j npe - guard for no-listener junit deployment NPE guard for no-listener junit - deployment - + reorganized servletholder init reorganized servletholder init reorganized + guard for no-listener junit deployment npe guard for no-listener j npe guard + for no-listener junit deployment NPE guard for no-listener junit deployment + + reorganized servletholder init reorganized servletholder init reorgani + reorganized servletholder init reorganized servletholder init reorganized servletholder init Reorganized ServletHolder init + requestdispatcher uses request encoding for query params requestdispat + requestdispatcher uses request encoding for query params requestdispat requestdispatcher uses request encoding for query params RequestDispatcher uses request encoding for query params - + updated to japser 5.0.16 updated to japser 5.0.16 updated to japser 5.0.16 + + updated to japser 5.0.16 updated to japser 5.0.16 updated to japser 5. + updated to japser 5.0.16 updated to japser 5.0.16 updated to japser 5.0.16 Updated to Japser 5.0.16 jetty-4.2.18 - 01 March 2004 + added log4j context repository to jettyplus added log4j context reposi added - log4j context repository to jettyplus Added log4j context repository to - jettyplus + log4j context repository to jettyplus added log4j context reposi added log4j + context repository to jettyplus Added log4j context repository to jettyplus + default servlet respectes servlet path default servlet respectes servl + default servlet respectes servlet path default servlet respectes servl default servlet respectes servlet path Default servlet respectes servlet path - + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed - j2se 1.3 problem with httpfields Fixed j2se 1.3 problem with HttpFields - + improved log performance improved log performance improved log performance + + fixed j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fix fixed + j2se 1.3 problem with httpfields fixed j2se 1.3 problem with fixed j2se 1.3 + problem with httpfields Fixed j2se 1.3 problem with HttpFields + + improved log performance improved log performance improved log perform + improved log performance improved log performance improved log performance Improved log performance + npe guard for no-listener junit deployment npe guard for no-listener j npe - guard for no-listener junit deployment NPE guard for no-listener junit - deployment - + suppress some more ioexceptions suppress some more ioexceptions suppress + guard for no-listener junit deployment npe guard for no-listener j npe guard + for no-listener junit deployment NPE guard for no-listener junit deployment + + suppress some more ioexceptions suppress some more ioexceptions suppre + suppress some more ioexceptions suppress some more ioexceptions suppress some more ioexceptions Suppress some more IOExceptions jetty-4.2.17 - 01 February 2004 - + fixed busy loop in threadpool run fixed busy loop in threadpool run fixed - busy loop in threadpool run Fixed busy loop in threadpool run - + reorganized servletholder init reorganized servletholder init reorganized + + fixed busy loop in threadpool run fixed busy loop in threadpool run fi fixed + busy loop in threadpool run fixed busy loop in threadpool run fixed busy + loop in threadpool run Fixed busy loop in threadpool run + + reorganized servletholder init reorganized servletholder init reorgani + reorganized servletholder init reorganized servletholder init reorganized servletholder init Reorganized ServletHolder init jetty-4.2.16 - 30 January 2004 + fileresource better handles non sun jvm fileresource better handles no + fileresource better handles non sun jvm fileresource better handles no fileresource better handles non sun jvm FileResource better handles non sun JVM - + fixed httptunnel for jdk 1.2 fixed httptunnel for jdk 1.2 fixed httptunnel - for jdk 1.2 Fixed HttpTunnel for JDK 1.2 - + fixed setdate multi-cpu race fixed setdate multi-cpu race fixed setdate - multi-cpu race Fixed setDate multi-cpu race + + fixed httptunnel for jdk 1.2 fixed httptunnel for jdk 1.2 fixed httptu fixed + httptunnel for jdk 1.2 fixed httptunnel for jdk 1.2 fixed httptunnel for jdk + 1.2 Fixed HttpTunnel for JDK 1.2 + + fixed setdate multi-cpu race fixed setdate multi-cpu race fixed setdat fixed + setdate multi-cpu race fixed setdate multi-cpu race fixed setdate multi-cpu + race Fixed setDate multi-cpu race + improved low thread handling improved low thread handling improved low + improved low thread handling improved low thread handling improved low thread handling Improved low thread handling - + monitor closes socket before exit monitor closes socket before exit monitor + + monitor closes socket before exit monitor closes socket before exit mo + monitor closes socket before exit monitor closes socket before exit monitor closes socket before exit Monitor closes socket before exit + requestdispatcher uses request encoding for query params requestdispat + requestdispatcher uses request encoding for query params requestdispat requestdispatcher uses request encoding for query params RequestDispatcher uses request encoding for query params - + update jasper to 4.1.29 update jasper to 4.1.29 update jasper to 4.1.29 + + update jasper to 4.1.29 update jasper to 4.1.29 update jasper to 4.1.2 + update jasper to 4.1.29 update jasper to 4.1.29 update jasper to 4.1.29 Update jasper to 4.1.29 jetty-5.0.beta1 - 24 December 2003 + added patch for jboss realm single sign on added patch for jboss realm added - patch for jboss realm single sign on Added patch for JBoss realm single sign - on - + env variables for cgi env variables for cgi env variables for cgi Env - variables for CGI + patch for jboss realm single sign on added patch for jboss realm added patch + for jboss realm single sign on Added patch for JBoss realm single sign on + + env variables for cgi env variables for cgi env variables for cgi env env + variables for cgi env variables for cgi env variables for cgi Env variables + for CGI + fixed unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed + unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed unixcrypt handling in htaccesshandler Fixed UnixCrypt handling in HTAccessHandler + removed support for old jboss clustering removed support for old jboss + removed support for old jboss clustering removed support for old jboss removed support for old jboss clustering Removed support for old JBoss clustering - + reorganized faq reorganized faq reorganized faq Reorganized FAQ + + reorganized faq reorganized faq reorganized faq reorganized faq reorganized + faq reorganized faq reorganized faq Reorganized FAQ + securityconstraints not reset by stop() on custom context + securityconstraints not reset by stop() on custom context securityconstraints not reset by stop() on custom context SecurityConstraints not reset by stop() on custom context jetty-4.2.15 - 24 December 2003 + added patch for jboss realm single sign on added patch for jboss realm added - patch for jboss realm single sign on Added patch for JBoss realm single sign - on - + environment variables for cgi environment variables for cgi environment + patch for jboss realm single sign on added patch for jboss realm added patch + for jboss realm single sign on Added patch for JBoss realm single sign on + + environment variables for cgi environment variables for cgi environmen + environment variables for cgi environment variables for cgi environment variables for cgi Environment variables for CGI + fixed unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed + unixcrypt handling in htaccesshandler fixed unixcrypt handling i fixed unixcrypt handling in htaccesshandler Fixed UnixCrypt handling in HTAccessHandler + removed support for old jboss clustering removed support for old jboss + removed support for old jboss clustering removed support for old jboss removed support for old jboss clustering Removed support for old JBoss clustering + securityconstraints not reset by stop() on custom context + securityconstraints not reset by stop() on custom context securityconstraints not reset by stop() on custom context SecurityConstraints not reset by stop() on custom context jetty-5.0.beta0 - 22 November 2003 + added msiesslhandler to handle browsers that don't grok persistent ssl added + msiesslhandler to handle browsers that don't grok persistent ssl added msiesslhandler to handle browsers that don't grok persistent ssl Added MsieSslHandler to handle browsers that don't grok persistent SSL (msie 5) - + added org.mortbay.http.errorhandler for error pages. added added + + added org.mortbay.http.errorhandler for error pages. added added added + org.mortbay.http.errorhandler for error pages. added added org.mortbay.http.errorhandler for error pages. Added org.mortbay.http.ErrorHandler for error pages. - + allow per listener handlers allow per listener handlers allow per listener + + allow per listener handlers allow per listener handlers allow per list allow + per listener handlers allow per listener handlers allow per listener handlers Allow per listener handlers + expire pages that contain set-cookie as per rfc2109 recommendation exp + expire pages that contain set-cookie as per rfc2109 recommendation exp expire pages that contain set-cookie as per rfc2109 recommendation Expire pages that contain set-cookie as per RFC2109 recommendation + fixed init race in httpfields cache fixed init race in httpfields cach fixed - init race in httpfields cache Fixed init race in HttpFields cache + init race in httpfields cache fixed init race in httpfields cach fixed init + race in httpfields cache Fixed init race in HttpFields cache + jboss integration uses writer rather than stream for xml config handli jboss + integration uses writer rather than stream for xml config handli jboss integration uses writer rather than stream for xml config handli JBoss integration uses writer rather than stream for XML config handling + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr pathmap uses own map.entry impl for ibm jvms PathMap uses own Map.Entry impl for IBM JVMs - + protect threadpool.run() from interrupted exceptions protect protect + + protect threadpool.run() from interrupted exceptions protect protect protect + threadpool.run() from interrupted exceptions protect protect threadpool.run() from interrupted exceptions Protect ThreadPool.run() from interrupted exceptions - + removed support for http trailers removed support for http trailers removed + + removed support for http trailers removed support for http trailers re + removed support for http trailers removed support for http trailers removed support for http trailers Removed support for HTTP trailers + removed the cmr/cmp distributed session implementation removed the cmr + removed the cmr/cmp distributed session implementation removed the cmr removed the cmr/cmp distributed session implementation Removed the CMR/CMP distributed session implementation + respect content length when decoding form content. respect content len + respect content length when decoding form content. respect content len respect content length when decoding form content. Respect content length when decoding form content. - + updated jasper to 5.0.14beta updated jasper to 5.0.14beta updated jasper to + + updated jasper to 5.0.14beta updated jasper to 5.0.14beta updated jasp + updated jasper to 5.0.14beta updated jasper to 5.0.14beta updated jasper to 5.0.14beta Updated jasper to 5.0.14beta + use ${jetty.home}/work or web-inf/work for temp directories if present use + ${jetty.home}/work or web-inf/work for temp directories if present use ${jetty.home}/work or web-inf/work for temp directories if present Use ${jetty.home}/work or WEB-INF/work for temp directories if present jetty-4.2.15rc0 - 22 November 2003 - + added org.mortbay.http.errorhandler for error pages. added added + + added org.mortbay.http.errorhandler for error pages. added added added + org.mortbay.http.errorhandler for error pages. added added org.mortbay.http.errorhandler for error pages. Added org.mortbay.http.ErrorHandler for error pages. + jsselistener checks useragent for browsers that can't grok persistent + jsselistener checks useragent for browsers that can't grok persistent jsselistener checks useragent for browsers that can't grok persistent JsseListener checks UserAgent for browsers that can't grok persistent SSL (msie5) + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr + pathmap uses own map.entry impl for ibm jvms pathmap uses own map.entr pathmap uses own map.entry impl for ibm jvms PathMap uses own Map.Entry impl for IBM JVMs - + protect threadpool.run() from interrupted exceptions protect protect + + protect threadpool.run() from interrupted exceptions protect protect protect + threadpool.run() from interrupted exceptions protect protect threadpool.run() from interrupted exceptions Protect ThreadPool.run() from interrupted exceptions - + race in httpfields cache race in httpfields cache race in httpfields cache - Race in HttpFields cache + + race in httpfields cache race in httpfields cache race in httpfields c race + in httpfields cache race in httpfields cache race in httpfields cache Race + in HttpFields cache + removed the cmr/cmp distributed session implementation removed the cmr + removed the cmr/cmp distributed session implementation removed the cmr removed the cmr/cmp distributed session implementation Removed the CMR/CMP distributed session implementation + use ${jetty.home}/work or web-inf/work for temp directories if present use + ${jetty.home}/work or web-inf/work for temp directories if present use ${jetty.home}/work or web-inf/work for temp directories if present Use ${jetty.home}/work or WEB-INF/work for temp directories if present jetty-4.2.14 - 04 November 2003 + expire pages that contain set-cookie as per rfc2109 recommendation exp + expire pages that contain set-cookie as per rfc2109 recommendation exp expire pages that contain set-cookie as per rfc2109 recommendation Expire pages that contain set-cookie as per RFC2109 recommendation - + fixed npe in sso fixed npe in sso fixed npe in sso Fixed NPE in SSO + + fixed npe in sso fixed npe in sso fixed npe in sso fixed npe in sso fixed + npe in sso fixed npe in sso fixed npe in sso Fixed NPE in SSO + jboss integration uses writer rather than stream for xml config handli jboss + integration uses writer rather than stream for xml config handli jboss integration uses writer rather than stream for xml config handli JBoss integration uses writer rather than stream for XML config handling + respect content length when decoding form content. respect content len + respect content length when decoding form content. respect content len respect content length when decoding form content. respect content length when decoding form content. jetty-5.0.alpha3 - 19 October 2003 - + allow customization of httpconnections allow customization of allow - customization of httpconnections Allow customization of HttpConnections - + failed requests excluded from duration stats failed requests excluded - failed requests excluded from duration stats Failed requests excluded from - duration stats + + allow customization of httpconnections allow customization of allow allow + customization of httpconnections allow customization of allow customization + of httpconnections Allow customization of HttpConnections + + failed requests excluded from duration stats failed requests excluded failed + requests excluded from duration stats failed requests excluded failed + requests excluded from duration stats Failed requests excluded from duration + stats + fileclasspath derived from walk of classloader hierarchy. fileclasspat + fileclasspath derived from walk of classloader hierarchy. fileclasspat fileclasspath derived from walk of classloader hierarchy. FileClassPath derived from walk of classloader hierarchy. + fixed null pointer if no sevices configured for jettyplus fixed null p fixed - null pointer if no sevices configured for jettyplus Fixed null pointer if no + null pointer if no sevices configured for jettyplus fixed null p fixed null + pointer if no sevices configured for jettyplus Fixed null pointer if no sevices configured for JettyPlus + implemented security constraint combinations implemented security cons + implemented security constraint combinations implemented security cons implemented security constraint combinations Implemented security constraint combinations + lazy authentication if no auth constraint. lazy authentication if no a lazy + authentication if no auth constraint. lazy authentication if no a lazy authentication if no auth constraint. Lazy authentication if no auth constraint. - + priority added to threadpool priority added to threadpool priority added to + + priority added to threadpool priority added to threadpool priority add + priority added to threadpool priority added to threadpool priority added to threadpool Priority added to ThreadPool + replaced win32 service with http://wrapper.tanukisoftware.org replaced + replaced win32 service with http://wrapper.tanukisoftware.org replaced replaced win32 service with http://wrapper.tanukisoftware.org replaced win32 service with http://wrapper.tanukisoftware.org - + restore servlet handler after dispatch restore servlet handler after restore + + restore servlet handler after dispatch restore servlet handler after r + restore servlet handler after dispatch restore servlet handler after restore servlet handler after dispatch Restore servlet handler after dispatch + reworked dispatcher to better support cross context sessions. reworked + reworked dispatcher to better support cross context sessions. reworked reworked dispatcher to better support cross context sessions. Reworked Dispatcher to better support cross context sessions. - + set transactionmanager on jettyplus datasources and pools set set + + set transactionmanager on jettyplus datasources and pools set set set + transactionmanager on jettyplus datasources and pools set set transactionmanager on jettyplus datasources and pools Set TransactionManager on JettyPlus datasources and pools + updated jasper and examples to 5.0.12 updated jasper and examples to 5 + updated jasper and examples to 5.0.12 updated jasper and examples to 5 updated jasper and examples to 5.0.12 Updated jasper and examples to 5.0.12 - + use file.touri().tourl() when jdk 1.2 alternative is available. use use + + use file.touri().tourl() when jdk 1.2 alternative is available. use us use + file.touri().tourl() when jdk 1.2 alternative is available. use use file.touri().tourl() when jdk 1.2 alternative is available. Use File.toURI().toURL() when jdk 1.2 alternative is available. jetty-4.2.14RC1 - 19 October 2003 + added userrealm.logout and arrange for form auth added userrealm.logou added + userrealm.logout and arrange for form auth added userrealm.logou added userrealm.logout and arrange for form auth Added UserRealm.logout and arrange for form auth - + allow customization of httpconnections allow customization of allow - customization of httpconnections Allow customization of HttpConnections - + failed requests excluded from failed requests excluded from failed requests + + allow customization of httpconnections allow customization of allow allow + customization of httpconnections allow customization of allow customization + of httpconnections Allow customization of HttpConnections + + failed requests excluded from failed requests excluded from failed req + failed requests excluded from failed requests excluded from failed requests excluded from Failed requests excluded from + reworked dispatcher to better support cross context sessions. reworked + reworked dispatcher to better support cross context sessions. reworked reworked dispatcher to better support cross context sessions. Reworked Dispatcher to better support cross context sessions. jetty-4.2.14RC0 - 07 October 2003 + build fileclasspath from a walk of the classloaders build fileclasspat build + fileclasspath from a walk of the classloaders build fileclasspat build fileclasspath from a walk of the classloaders Build fileclasspath from a walk of the classloaders - + cookie timestamps are in gmt cookie timestamps are in gmt cookie timestamps + + cookie timestamps are in gmt cookie timestamps are in gmt cookie times + cookie timestamps are in gmt cookie timestamps are in gmt cookie timestamps are in gmt cookie timestamps are in GMT + correctly setup context classloader in cross context dispatch. correct + correctly setup context classloader in cross context dispatch. correct correctly setup context classloader in cross context dispatch. Correctly setup context classloader in cross context dispatch. + fixed comments with embedded double dashes on jettyplus.xml file fixed fixed + comments with embedded double dashes on jettyplus.xml file fixed fixed comments with embedded double dashes on jettyplus.xml file Fixed comments with embedded double dashes on jettyplus.xml file + fixed handling of error pages for io and servlet exceptions fixed hand fixed + handling of error pages for io and servlet exceptions fixed hand fixed handling of error pages for io and servlet exceptions Fixed handling of error pages for IO and Servlet exceptions + fixed null pointer if no sevices configured for jettyplus fixed null p fixed - null pointer if no sevices configured for jettyplus Fixed null pointer if no + null pointer if no sevices configured for jettyplus fixed null p fixed null + pointer if no sevices configured for jettyplus Fixed null pointer if no sevices configured for JettyPlus - + priority on threadedserver priority on threadedserver priority on - threadedserver Priority on ThreadedServer + + priority on threadedserver priority on threadedserver priority on priority + on threadedserver priority on threadedserver priority on threadedserver + Priority on ThreadedServer + put a semi busy loop into proxy tunnels for ie problems put a semi bus put a - semi busy loop into proxy tunnels for ie problems Put a semi busy loop into - proxy tunnels for IE problems + semi busy loop into proxy tunnels for ie problems put a semi bus put a semi + busy loop into proxy tunnels for ie problems Put a semi busy loop into proxy + tunnels for IE problems + replaced win32 service with http://wrapper.tanukisoftware.org replaced + replaced win32 service with http://wrapper.tanukisoftware.org replaced replaced win32 service with http://wrapper.tanukisoftware.org replaced win32 service with http://wrapper.tanukisoftware.org - + set transactionmanager on jettyplus datasources and pools set set + + set transactionmanager on jettyplus datasources and pools set set set + transactionmanager on jettyplus datasources and pools set set transactionmanager on jettyplus datasources and pools Set TransactionManager on JettyPlus datasources and pools + updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ - + use file.touri().tourl() when jdk 1.2 alternative is available. use use + updated extra/j2ee to jboss 3.2.1+ updated extra/j2ee to jboss 3.2.1+ + + use file.touri().tourl() when jdk 1.2 alternative is available. use us use + file.touri().tourl() when jdk 1.2 alternative is available. use use file.touri().tourl() when jdk 1.2 alternative is available. Use File.toURI().toURL() when jdk 1.2 alternative is available. jetty-5.0.alpha2 - 19 September 2003 + correctly setup context classloader in cross context dispatch. correct + correctly setup context classloader in cross context dispatch. correct correctly setup context classloader in cross context dispatch. Correctly setup context classloader in cross context dispatch. + fixed error page handling of io and servlet exceptions. fixed error pa fixed - error page handling of io and servlet exceptions. Fixed error page handling - of IO and Servlet exceptions. + error page handling of io and servlet exceptions. fixed error pa fixed error + page handling of io and servlet exceptions. Fixed error page handling of IO + and Servlet exceptions. + implemented servletrequestlisteners as optional filter. implemented + implemented servletrequestlisteners as optional filter. implemented implemented servletrequestlisteners as optional filter. Implemented ServletRequestListeners as optional filter. - + improved jmx start. improved jmx start. improved jmx start. Improved JMX + + improved jmx start. improved jmx start. improved jmx start. improved j + improved jmx start. improved jmx start. improved jmx start. Improved JMX start. - + minor doco updates. minor doco updates. minor doco updates. minor doco - updates. + + minor doco updates. minor doco updates. minor doco updates. minor doco minor + doco updates. minor doco updates. minor doco updates. minor doco updates. + moved error page mechanism to be webapp only. moved error page mechani moved - error page mechanism to be webapp only. Moved error page mechanism to be - webapp only. + error page mechanism to be webapp only. moved error page mechani moved error + page mechanism to be webapp only. Moved error page mechanism to be webapp + only. + moved mailing lists to sourceforge. moved mailing lists to sourceforge moved + mailing lists to sourceforge. moved mailing lists to sourceforge moved mailing lists to sourceforge. moved mailing lists to sourceforge. + multipartrequest supports multi value headers. multipartrequest suppor + multipartrequest supports multi value headers. multipartrequest suppor multipartrequest supports multi value headers. MultipartRequest supports multi value headers. + put a semi busy loop into proxy tunnels for ie problems put a semi bus put a - semi busy loop into proxy tunnels for ie problems Put a semi busy loop into - proxy tunnels for IE problems + semi busy loop into proxy tunnels for ie problems put a semi bus put a semi + busy loop into proxy tunnels for ie problems Put a semi busy loop into proxy + tunnels for IE problems + turn off validation without non-xerces errors turn off validation with turn - off validation without non-xerces errors Turn off validation without - non-xerces errors - + update jakarta examples update jakarta examples update jakarta examples + off validation without non-xerces errors turn off validation with turn off + validation without non-xerces errors Turn off validation without non-xerces + errors + + update jakarta examples update jakarta examples update jakarta example + update jakarta examples update jakarta examples update jakarta examples Update jakarta examples - + use commons logging. use commons logging. use commons logging. Use commons + + use commons logging. use commons logging. use commons logging. use com use + commons logging. use commons logging. use commons logging. Use commons logging. - + use log4j if extra is present. use log4j if extra is present. use log4j if - extra is present. Use log4j if extra is present. + + use log4j if extra is present. use log4j if extra is present. use log4 use + log4j if extra is present. use log4j if extra is present. use log4j if extra + is present. Use log4j if extra is present. + xml entity resolution uses urls not resources xml entity resolution us xml + entity resolution uses urls not resources xml entity resolution us xml entity resolution uses urls not resources XML entity resolution uses URLs not Resources jetty-5.0.alpha1 - 12 August 2003 + implemented locale encoding mapping. implemented locale encoding mappi + implemented locale encoding mapping. implemented locale encoding mappi implemented locale encoding mapping. Implemented locale encoding mapping. - + improve combinations of security constraints improve combinations of improve + + improve combinations of security constraints improve combinations of i + improve combinations of security constraints improve combinations of improve combinations of security constraints Improve combinations of Security Constraints - + server javadoc from war server javadoc from war server javadoc from war + + server javadoc from war server javadoc from war server javadoc from wa + server javadoc from war server javadoc from war server javadoc from war Server javadoc from war - + switched to mx4j switched to mx4j switched to mx4j Switched to mx4j - + synced with 4.2.12 synced with 4.2.12 synced with 4.2.12 Synced with 4.2.12 - + updated to jasper 5.0.7 updated to jasper 5.0.7 updated to jasper 5.0.7 + + switched to mx4j switched to mx4j switched to mx4j switched to mx4j switched + to mx4j switched to mx4j switched to mx4j Switched to mx4j + + synced with 4.2.12 synced with 4.2.12 synced with 4.2.12 synced with 4 + synced with 4.2.12 synced with 4.2.12 synced with 4.2.12 Synced with 4.2.12 + + updated to jasper 5.0.7 updated to jasper 5.0.7 updated to jasper 5.0. + updated to jasper 5.0.7 updated to jasper 5.0.7 updated to jasper 5.0.7 Updated to Jasper 5.0.7 jetty-5.0.alpha0 - 16 July 2003 + compiled against 2.4 servlet spec. compiled against 2.4 servlet spec. + compiled against 2.4 servlet spec. compiled against 2.4 servlet spec. compiled against 2.4 servlet spec. Compiled against 2.4 servlet spec. + implemented dispatcher forward attributes. implemented dispatcher forw + implemented dispatcher forward attributes. implemented dispatcher forw implemented dispatcher forward attributes. Implemented Dispatcher forward attributes. + implemented filter-mapping element implemented filter-map + implemented filter-mapping element implemented filter-map implemented filter-mapping element Implemented filter-mapping element + implemented remote/local addr/port methods implemented remote/local + implemented remote/local addr/port methods implemented remote/local implemented remote/local addr/port methods Implemented remote/local addr/port methods - + implemented setcharaterencoding implemented setcharaterencoding implemented + + implemented setcharaterencoding implemented setcharaterencoding implem + implemented setcharaterencoding implemented setcharaterencoding implemented setcharaterencoding Implemented setCharaterEncoding - + updated authentication so that a normal principal is used. updated updated + + updated authentication so that a normal principal is used. updated upd + updated authentication so that a normal principal is used. updated updated authentication so that a normal principal is used. Updated authentication so that a normal Principal is used. - + updated to jasper 5.0.3 updated to jasper 5.0.3 updated to jasper 5.0.3 + + updated to jasper 5.0.3 updated to jasper 5.0.3 updated to jasper 5.0. + updated to jasper 5.0.3 updated to jasper 5.0.3 updated to jasper 5.0.3 updated to jasper 5.0.3 jetty-4.2.12 - 12 August 2003 + added missing s to some options strings added missing s to some option added + missing s to some options strings added missing s to some option added missing s to some options strings Added missing S to some OPTIONS strings + added open method to threaded server. added open method to threaded se added - open method to threaded server. Added open method to threaded server. - + fixed mime types for chemicals fixed mime types for chemicals fixed mime - types for chemicals Fixed MIME types for chemicals + open method to threaded server. added open method to threaded se added open + method to threaded server. Added open method to threaded server. + + fixed mime types for chemicals fixed mime types for chemicals fixed mi fixed + mime types for chemicals fixed mime types for chemicals fixed mime types for + chemicals Fixed MIME types for chemicals + fixed parameter ordering for a forward request. fixed parameter orderi fixed + parameter ordering for a forward request. fixed parameter orderi fixed parameter ordering for a forward request. Fixed parameter ordering for a forward request. - + fixed up htaccesshandler fixed up htaccesshandler fixed up htaccesshandler - Fixed up HTAccessHandler + + fixed up htaccesshandler fixed up htaccesshandler fixed up htaccesshan fixed + up htaccesshandler fixed up htaccesshandler fixed up htaccesshandler Fixed + up HTAccessHandler + formauthenticator does 403 with empty error page. formauthenticator do + formauthenticator does 403 with empty error page. formauthenticator do formauthenticator does 403 with empty error page. FORMAuthenticator does 403 with empty error page. + improved error messages from proxyhandler improved error messages from + improved error messages from proxyhandler improved error messages from improved error messages from proxyhandler Improved error messages from ProxyHandler + padding for ie in rootnotfoundhandler padding for ie in rootnotfoundha + padding for ie in rootnotfoundhandler padding for ie in rootnotfoundha padding for ie in rootnotfoundhandler Padding for IE in RootNotFoundHandler + removed protection of org.mortbay.http attributes removed protection o + removed protection of org.mortbay.http attributes removed protection o removed protection of org.mortbay.http attributes Removed protection of org.mortbay.http attributes + restore max inactive interval for session manager restore max inactive + restore max inactive interval for session manager restore max inactive restore max inactive interval for session manager Restore max inactive interval for session manager jetty-4.2.11 - 12 July 2003 - + branched for jetty 5 development. branched for jetty 5 development. branched + + branched for jetty 5 development. branched for jetty 5 development. br + branched for jetty 5 development. branched for jetty 5 development. branched for jetty 5 development. Branched for Jetty 5 development. - + cookie params all in lower case. cookie params all in lower case. cookie + + cookie params all in lower case. cookie params all in lower case. cook + cookie params all in lower case. cookie params all in lower case. cookie params all in lower case. Cookie params all in lower case. - + fixed race in servlet initialization code. fixed race in servlet fixed race - in servlet initialization code. Fixed race in servlet initialization code. + + fixed race in servlet initialization code. fixed race in servlet fixed fixed + race in servlet initialization code. fixed race in servlet fixed race in + servlet initialization code. Fixed race in servlet initialization code. + prevent ajp13 from reordering query. prevent ajp13 from reordering que + prevent ajp13 from reordering query. prevent ajp13 from reordering que prevent ajp13 from reordering query. Prevent AJP13 from reordering query. + simplified ajp13 connection handling. simplified ajp13 connection hand + simplified ajp13 connection handling. simplified ajp13 connection hand simplified ajp13 connection handling. Simplified AJP13 connection handling. + support separate monitor class for start support separate monitor clas + support separate monitor class for start support separate monitor clas support separate monitor class for start Support separate Monitor class for start jetty-4.2.10 - 07 July 2003 + updates to jettyplus documentation updates to jettyplus documentation + updates to jettyplus documentation updates to jettyplus documentation updates to jettyplus documentation Updates to JettyPlus documentation + updates to jetty tutorial for start.jar, jmx etc updates to jetty tuto + updates to jetty tutorial for start.jar, jmx etc updates to jetty tuto updates to jetty tutorial for start.jar, jmx etc Updates to Jetty tutorial for start.jar, jmx etc jetty-4.2.10pre2 - 04 July 2003 - + addition of mail service for jettyplus addition of mail service for addition + + addition of mail service for jettyplus addition of mail service for ad + addition of mail service for jettyplus addition of mail service for addition of mail service for jettyplus Addition of mail service for JettyPlus - + allow multiple security-role-ref elements per servlet. allow multiple allow + + allow multiple security-role-ref elements per servlet. allow multiple allow + multiple security-role-ref elements per servlet. allow multiple allow multiple security-role-ref elements per servlet. Allow multiple security-role-ref elements per servlet. + cleaned up alias handling. cleaned up alias handling. cleaned up alias + cleaned up alias handling. cleaned up alias handling. cleaned up alias handling. Cleaned up alias handling. + confidential redirection includes query confidential redirection inclu + confidential redirection includes query confidential redirection inclu confidential redirection includes query Confidential redirection includes query + fixed cookie handling for old cookies and safari fixed cookie handling fixed + cookie handling for old cookies and safari fixed cookie handling fixed cookie handling for old cookies and safari Fixed cookie handling for old cookies and safari + handle multiple security role references handle multiple security role + handle multiple security role references handle multiple security role handle multiple security role references handle multiple security role references - + handle proxy-connection better handle proxy-connection better handle + + handle proxy-connection better handle proxy-connection better handle handle + proxy-connection better handle proxy-connection better handle proxy-connection better Handle Proxy-Connection better + improvement to jettyplus config of datasources and connection pools + improvement to jettyplus config of datasources and connection pools improvement to jettyplus config of datasources and connection pools Improvement to JettyPlus config of datasources and connection pools + many improvements in jettyplus java:comp handling many improvements in many + improvements in jettyplus java:comp handling many improvements in many improvements in jettyplus java:comp handling Many improvements in JettyPlus java:comp handling - + move to service-based architecture for jettyplus features move to move to + + move to service-based architecture for jettyplus features move to move move + to service-based architecture for jettyplus features move to move to service-based architecture for jettyplus features Move to Service-based architecture for JettyPlus features - + re-implementation of jndi re-implementation of jndi re-implementation of + + re-implementation of jndi re-implementation of jndi re-implementation + re-implementation of jndi re-implementation of jndi re-implementation of jndi Re-implementation of JNDI + restricted ports in proxyhandler. restricted ports in proxyhandler. + restricted ports in proxyhandler. restricted ports in proxyhandler. restricted ports in proxyhandler. Restricted ports in ProxyHandler. - + session statistics session statistics session statistics Session statistics - + uri always encodes % uri always encodes % uri always encodes % URI always + + session statistics session statistics session statistics session stati + session statistics session statistics session statistics Session statistics + + uri always encodes % uri always encodes % uri always encodes % uri alw uri + always encodes % uri always encodes % uri always encodes % URI always encodes % + xmlconfiguration can get/set fields. xmlconfiguration can get/set fiel + xmlconfiguration can get/set fields. xmlconfiguration can get/set fiel xmlconfiguration can get/set fields. XmlConfiguration can get/set fields. jetty-4.2.10pre1 - 02 June 2003 + added sso implementation for form authentication. added sso implementa added - sso implementation for form authentication. Added SSO implementation for - FORM authentication. - + added stop.jar added stop.jar added stop.jar Added stop.jar - + deprecated forced chunking. deprecated forced chunking. deprecated forced + sso implementation for form authentication. added sso implementa added sso + implementation for form authentication. Added SSO implementation for FORM + authentication. + + added stop.jar added stop.jar added stop.jar added stop.jar added stop.jar + added stop.jar added stop.jar Added stop.jar + + deprecated forced chunking. deprecated forced chunking. deprecated for + deprecated forced chunking. deprecated forced chunking. deprecated forced chunking. Deprecated forced chunking. + fixed ajp13 protocol so that request/response header enums are correct fixed - ajp13 protocol so that request/response header enums are correct Fixed AJP13 + ajp13 protocol so that request/response header enums are correct fixed ajp13 + protocol so that request/response header enums are correct Fixed AJP13 protocol so that request/response header enums are correct. + fixed form auth success redirect after retry, introduced in 4.2.9rc1 f fixed - form auth success redirect after retry, introduced in 4.2.9rc1 Fixed form - auth success redirect after retry, introduced in 4.2.9rc1 + form auth success redirect after retry, introduced in 4.2.9rc1 f fixed form + auth success redirect after retry, introduced in 4.2.9rc1 Fixed form auth + success redirect after retry, introduced in 4.2.9rc1 + fixed jsp code visibility problem introduced in jetty-4.2.10pre0 fixed fixed - jsp code visibility problem introduced in jetty-4.2.10pre0 Fixed JSP code + jsp code visibility problem introduced in jetty-4.2.10pre0 fixed fixed jsp + code visibility problem introduced in jetty-4.2.10pre0 Fixed JSP code visibility problem introduced in Jetty-4.2.10pre0 + fixed problem with shared session for inter context dispatching. fixed fixed + problem with shared session for inter context dispatching. fixed fixed problem with shared session for inter context dispatching. Fixed problem with shared session for inter context dispatching. + form authentication remembers url over 403 form authentication remembe form + authentication remembers url over 403 form authentication remembe form authentication remembers url over 403 Form authentication remembers URL over 403 + proxyhandler has improved test for request content proxyhandler has im + proxyhandler has improved test for request content proxyhandler has im proxyhandler has improved test for request content ProxyHandler has improved test for request content - + removed support of org.mortbay.http.user role. removed support of removed + + removed support of org.mortbay.http.user role. removed support of remo + removed support of org.mortbay.http.user role. removed support of removed support of org.mortbay.http.user role. Removed support of org.mortbay.http.User role. + trace support is now optional (in abstracthttphandler). trace support trace + support is now optional (in abstracthttphandler). trace support trace support is now optional (in abstracthttphandler). Trace support is now optional (in AbstractHttpHandler). + webapplicationcontext does not reassign defaults descriptor value. + webapplicationcontext does not reassign defaults descriptor value. webapplicationcontext does not reassign defaults descriptor value. WebApplicationContext does not reassign defaults descriptor value. jetty-4.2.10pre0 - 05 May 2003 + added ability to override jetty startup class by using -djetty.server added + ability to override jetty startup class by using -djetty.server added ability to override jetty startup class by using -djetty.server Added ability to override jetty startup class by using -Djetty.server on runline - + allow params in form auth urls allow params in form auth urls allow params - in form auth urls Allow params in form auth URLs + + allow params in form auth urls allow params in form auth urls allow pa allow + params in form auth urls allow params in form auth urls allow params in form + auth urls Allow params in form auth URLs + allow query params in error page url. allow query params in error page allow - query params in error page url. Allow query params in error page URL. + query params in error page url. allow query params in error page allow query + params in error page url. Allow query params in error page URL. + apply the append flag of rolloverfileoutputstream constructor. apply t apply - the append flag of rolloverfileoutputstream constructor. Apply the append - flag of RolloverFileOutputStream constructor. - + fixed crlf bug in multipartrequest fixed crlf bug in multipartrequest fixed - crlf bug in multipartrequest Fixed CRLF bug in MultiPartRequest - + fixed table refs in jdbcuserrealm. fixed table refs in jdbcuserrealm. fixed - table refs in jdbcuserrealm. Fixed table refs in JDBCUserRealm. - + form authentication is serializable for session distribution. form form + the append flag of rolloverfileoutputstream constructor. apply t apply the + append flag of rolloverfileoutputstream constructor. Apply the append flag + of RolloverFileOutputStream constructor. + + fixed crlf bug in multipartrequest fixed crlf bug in multipartrequest fixed + crlf bug in multipartrequest fixed crlf bug in multipartrequest fixed crlf + bug in multipartrequest Fixed CRLF bug in MultiPartRequest + + fixed table refs in jdbcuserrealm. fixed table refs in jdbcuserrealm. fixed + table refs in jdbcuserrealm. fixed table refs in jdbcuserrealm. fixed table + refs in jdbcuserrealm. Fixed table refs in JDBCUserRealm. + + form authentication is serializable for session distribution. form for form + authentication is serializable for session distribution. form form authentication is serializable for session distribution. FORM Authentication is serializable for session distribution. + getauthtype maps the httpservletrequest final strings. getauthtype map + getauthtype maps the httpservletrequest final strings. getauthtype map getauthtype maps the httpservletrequest final strings. getAuthType maps the HttpServletRequest final strings. + getauthtype returns client_cert instead of client-cert. getauthtype re + getauthtype returns client_cert instead of client-cert. getauthtype re getauthtype returns client_cert instead of client-cert. getAuthType returns CLIENT_CERT instead of CLIENT-CERT. + incorporate jetty extra and plus into build incorporate jetty extra an + incorporate jetty extra and plus into build incorporate jetty extra an incorporate jetty extra and plus into build Incorporate jetty extra and plus into build - + incorporate jettyplus jotm etc into build. incorporate jettyplus jotm + + incorporate jettyplus jotm etc into build. incorporate jettyplus jotm + incorporate jettyplus jotm etc into build. incorporate jettyplus jotm incorporate jettyplus jotm etc into build. Incorporate JettyPlus jotm etc into build. - + integrate with jaas integrate with jaas integrate with jaas Integrate with + + integrate with jaas integrate with jaas integrate with jaas integrate + integrate with jaas integrate with jaas integrate with jaas Integrate with JAAS - + massive reorg of the cvs tree. massive reorg of the cvs tree. massive reorg + + massive reorg of the cvs tree. massive reorg of the cvs tree. massive + massive reorg of the cvs tree. massive reorg of the cvs tree. massive reorg of the cvs tree. Massive reorg of the CVS tree. + merge multivalued parameters in dispatcher. merge multivalued paramete merge + multivalued parameters in dispatcher. merge multivalued paramete merge multivalued parameters in dispatcher. Merge multivalued parameters in dispatcher. - + moved log4jlogsink into jettyplus moved log4jlogsink into jettyplus moved + + moved log4jlogsink into jettyplus moved log4jlogsink into jettyplus mo moved + log4jlogsink into jettyplus moved log4jlogsink into jettyplus moved log4jlogsink into jettyplus Moved Log4JLogSink into JettyPlus - + new look and feel for www site. new look and feel for www site. new look and + + new look and feel for www site. new look and feel for www site. new lo new + look and feel for www site. new look and feel for www site. new look and feel for www site. New look and feel for www site. + proxyhandler checks black and white lists for connect. proxyhandler ch + proxyhandler checks black and white lists for connect. proxyhandler ch proxyhandler checks black and white lists for connect. ProxyHandler checks black and white lists for Connect. + rolloverfileoutputstream manages rollover thread. rolloverfileoutputst + rolloverfileoutputstream manages rollover thread. rolloverfileoutputst rolloverfileoutputstream manages rollover thread. RolloverFileOutputStream manages Rollover thread. - + updated to jasper jars from tomcat 4.1.24 updated to jasper jars from + + updated to jasper jars from tomcat 4.1.24 updated to jasper jars from + updated to jasper jars from tomcat 4.1.24 updated to jasper jars from updated to jasper jars from tomcat 4.1.24 Updated to jasper jars from tomcat 4.1.24 + warn if max form content size is reached. warn if max form content siz warn - if max form content size is reached. Warn if max form content size is - reached. + if max form content size is reached. warn if max form content siz warn if + max form content size is reached. Warn if max form content size is reached. jetty-4.2.9 - 19 March 2003 + conditional headers check after /dir to /dir/ redirection. conditional + conditional headers check after /dir to /dir/ redirection. conditional conditional headers check after /dir to /dir/ redirection. Conditional headers check after /dir to /dir/ redirection. jetty-4.2.9rc2 - 16 March 2003 + added x-forwarded-for header in proxyhandler added x-forwarded-for hea added + x-forwarded-for header in proxyhandler added x-forwarded-for hea added x-forwarded-for header in proxyhandler Added X-Forwarded-For header in ProxyHandler - + allow dispatch to j_security_check allow dispatch to j_security_check allow + + allow dispatch to j_security_check allow dispatch to j_security_check allow + dispatch to j_security_check allow dispatch to j_security_check allow dispatch to j_security_check Allow dispatch to j_security_check + defaults descriptor has context classloader set. defaults descriptor h + defaults descriptor has context classloader set. defaults descriptor h defaults descriptor has context classloader set. Defaults descriptor has context classloader set. - + fixed build.xml for source release fixed build.xml for source release fixed + + fixed build.xml for source release fixed build.xml for source release fixed + build.xml for source release fixed build.xml for source release fixed build.xml for source release Fixed build.xml for source release + made rfc2068 put/post continues support optional. made rfc2068 put/pos made + rfc2068 put/post continues support optional. made rfc2068 put/pos made rfc2068 put/post continues support optional. Made rfc2068 PUT/POST Continues support optional. - + updated included jmx jars updated included jmx jars updated included jmx + + updated included jmx jars updated included jmx jars updated included j + updated included jmx jars updated included jmx jars updated included jmx jars Updated included jmx jars jetty-4.2.9rc1 - 06 March 2003 - + added requestlog to httpcontext. added requestlog to httpcontext. added - requestlog to httpcontext. Added requestlog to HttpContext. + + added requestlog to httpcontext. added requestlog to httpcontext. adde added + requestlog to httpcontext. added requestlog to httpcontext. added requestlog + to httpcontext. Added requestlog to HttpContext. + added support for client certs to ajp13. added support for client cert added + support for client certs to ajp13. added support for client cert added support for client certs to ajp13. Added support for client certs to AJP13. + added trust manager support to sunjsselistener. added trust manager su added - trust manager support to sunjsselistener. Added trust manager support to + trust manager support to sunjsselistener. added trust manager su added trust + manager support to sunjsselistener. Added trust manager support to SunJsseListener. + allow delegated creation of webapplication derivations. allow delegate allow + delegated creation of webapplication derivations. allow delegate allow delegated creation of webapplication derivations. Allow delegated creation of WebApplication derivations. + check data contraints before auth constraints check data contraints be check - data contraints before auth constraints Check Data contraints before Auth + data contraints before auth constraints check data contraints be check data + contraints before auth constraints Check Data contraints before Auth constraints - + cleaned up includes cleaned up includes cleaned up includes Cleaned up + + cleaned up includes cleaned up includes cleaned up includes cleaned up + cleaned up includes cleaned up includes cleaned up includes Cleaned up includes + dump servlet can load resources for testing now. dump servlet can load dump + servlet can load resources for testing now. dump servlet can load dump servlet can load resources for testing now. Dump servlet can load resources for testing now. + optional 2.4 behaviour for sessiondestroyed notification. optional 2.4 + optional 2.4 behaviour for sessiondestroyed notification. optional 2.4 optional 2.4 behaviour for sessiondestroyed notification. Optional 2.4 behaviour for sessionDestroyed notification. + proxyhandler has black and white host list. proxyhandler has black and + proxyhandler has black and white host list. proxyhandler has black and proxyhandler has black and white host list. ProxyHandler has black and white host list. + reduced default context cache sizes (total 1mb file 100kb). reduced de + reduced default context cache sizes (total 1mb file 100kb). reduced de reduced default context cache sizes (total 1mb file 100kb). Reduced default context cache sizes (Total 1MB file 100KB). + removed checking for single valued headers. removed checking for singl + removed checking for single valued headers. removed checking for singl removed checking for single valued headers. Removed checking for single valued headers. + stop proxy url from doing user interaction. stop proxy url from doing stop - proxy url from doing user interaction. Stop proxy url from doing user - interaction. + proxy url from doing user interaction. stop proxy url from doing stop proxy + url from doing user interaction. Stop proxy url from doing user interaction. + turn request log buffering off by default. turn request log buffering turn + request log buffering off by default. turn request log buffering turn request log buffering off by default. Turn request log buffering off by default. + work around urlclassloader not handling leading / work around urlclass work + around urlclassloader not handling leading / work around urlclass work around urlclassloader not handling leading / Work around URLClassloader not handling leading / jetty-4.2.8_01 - 18 February 2003 - + added a setresponseheadershandler, can set p3p headers etc. added a added a + + added a setresponseheadershandler, can set p3p headers etc. added a ad added + a setresponseheadershandler, can set p3p headers etc. added a added a setresponseheadershandler, can set p3p headers etc. Added a SetResponseHeadersHandler, can set P3P headers etc. + added mbeans for servlets and filters added mbeans for servlets and fi added + mbeans for servlets and filters added mbeans for servlets and fi added mbeans for servlets and filters Added MBeans for Servlets and Filters + added option to resolve remote hostnames. defaults to off. added opti added + option to resolve remote hostnames. defaults to off. added opti added option to resolve remote hostnames. defaults to off. Added option to resolve remote hostnames. Defaults to off. + default servlet can have own resourcebase. default servlet can have ow + default servlet can have own resourcebase. default servlet can have ow default servlet can have own resourcebase. Default servlet can have own resourceBase. - + fixed adminservlet to handle changed getservletpath better. fixed fixed + + fixed adminservlet to handle changed getservletpath better. fixed fixe fixed + adminservlet to handle changed getservletpath better. fixed fixed adminservlet to handle changed getservletpath better. Fixed AdminServlet to handle changed getServletPath better. + fixed cgi servlet to handle multiple headers. fixed cgi servlet to han fixed - cgi servlet to handle multiple headers. Fixed CGI servlet to handle multiple + cgi servlet to handle multiple headers. fixed cgi servlet to han fixed cgi + servlet to handle multiple headers. Fixed CGI servlet to handle multiple headers. + moved proxyhandler to the src1.4 tree moved proxyhandler to the src1.4 moved + proxyhandler to the src1.4 tree moved proxyhandler to the src1.4 moved proxyhandler to the src1.4 tree Moved ProxyHandler to the src1.4 tree + patched first release of 4.2.8 with correct version number patched fir + patched first release of 4.2.8 with correct version number patched fir patched first release of 4.2.8 with correct version number Patched first release of 4.2.8 with correct version number + proxyhandler can handle multiple cookies. proxyhandler can handle mult + proxyhandler can handle multiple cookies. proxyhandler can handle mult proxyhandler can handle multiple cookies. ProxyHandler can handle multiple cookies. - + rolled back socketchannellistener to 4.2.5 version rolled back rolled back + + rolled back socketchannellistener to 4.2.5 version rolled back rolled + rolled back socketchannellistener to 4.2.5 version rolled back rolled back socketchannellistener to 4.2.5 version Rolled back SocketChannelListener to 4.2.5 version jetty-4.2.7 - 04 February 2003 + changed pathmap to conform to / getservletpath handling. changed pathm + changed pathmap to conform to / getservletpath handling. changed pathm changed pathmap to conform to / getservletpath handling. Changed PathMap to conform to / getServletPath handling. + fixed proxy tunnel for non persistent connections. fixed proxy tunnel fixed - proxy tunnel for non persistent connections. Fixed proxy tunnel for non - persistent connections. + proxy tunnel for non persistent connections. fixed proxy tunnel fixed proxy + tunnel for non persistent connections. Fixed proxy tunnel for non persistent + connections. + relative sendredirect handles trailing / correctly. relative sendredir + relative sendredirect handles trailing / correctly. relative sendredir relative sendredirect handles trailing / correctly. Relative sendRedirect handles trailing / correctly. + upgraded to jsse 1.0.3_01 to fix security problem. upgraded to jsse 1. + upgraded to jsse 1.0.3_01 to fix security problem. upgraded to jsse 1. upgraded to jsse 1.0.3_01 to fix security problem. Upgraded to JSSE 1.0.3_01 to fix security problem. jetty-4.2.6 - 24 January 2003 + added httpcontext.sethosts to restrict context by real interface. adde added + httpcontext.sethosts to restrict context by real interface. adde added httpcontext.sethosts to restrict context by real interface. Added HttpContext.setHosts to restrict context by real interface. - + added mbeans for session managers added mbeans for session managers added - mbeans for session managers Added MBeans for session managers - + added version to httpservermbean. added version to httpservermbean. added - version to httpservermbean. Added version to HttpServerMBean. - + allow ajp13 buffers to be resized. allow ajp13 buffers to be resized. allow - ajp13 buffers to be resized. Allow AJP13 buffers to be resized. + + added mbeans for session managers added mbeans for session managers ad added + mbeans for session managers added mbeans for session managers added mbeans + for session managers Added MBeans for session managers + + added version to httpservermbean. added version to httpservermbean. ad added + version to httpservermbean. added version to httpservermbean. added version + to httpservermbean. Added version to HttpServerMBean. + + allow ajp13 buffers to be resized. allow ajp13 buffers to be resized. allow + ajp13 buffers to be resized. allow ajp13 buffers to be resized. allow ajp13 + buffers to be resized. Allow AJP13 buffers to be resized. + clientcertauthentication updates request. clientcertauthentication upd + clientcertauthentication updates request. clientcertauthentication upd clientcertauthentication updates request. ClientCertAuthentication updates request. + fixed lineinput problem with expanded buffers. fixed lineinput problem fixed + lineinput problem with expanded buffers. fixed lineinput problem fixed lineinput problem with expanded buffers. Fixed LineInput problem with expanded buffers. + fixed rel sendredirects for root context. fixed rel sendredirects for fixed - rel sendredirects for root context. Fixed rel sendRedirects for root - context. + rel sendredirects for root context. fixed rel sendredirects for fixed rel + sendredirects for root context. Fixed rel sendRedirects for root context. + improved socketchannellistener contributed. improved socketchannellist + improved socketchannellistener contributed. improved socketchannellist improved socketchannellistener contributed. Improved SocketChannelListener contributed. + improved synchronization on abstractsessionmanager. improved synchroni + improved synchronization on abstractsessionmanager. improved synchroni improved synchronization on abstractsessionmanager. Improved synchronization on AbstractSessionManager. jetty-4.2.5 - 14 January 2003 + added log4jsink in the contrib directory. added log4jsink in the contr added + log4jsink in the contrib directory. added log4jsink in the contr added log4jsink in the contrib directory. Added Log4jSink in the contrib directory. + don't process conditional headers and ranges for includes don't proces don't + process conditional headers and ranges for includes don't proces don't process conditional headers and ranges for includes Don't process conditional headers and ranges for includes + fixed pathparam bug for ;jsessionid fixed pathparam bug for ;jsessioni fixed + pathparam bug for ;jsessionid fixed pathparam bug for ;jsessioni fixed pathparam bug for ;jsessionid Fixed pathParam bug for ;jsessionid - + fixed requestedsessionid null bug. fixed requestedsessionid null bug. fixed + + fixed requestedsessionid null bug. fixed requestedsessionid null bug. fixed + requestedsessionid null bug. fixed requestedsessionid null bug. fixed requestedsessionid null bug. Fixed requestedSessionId null bug. jetty-4.2.4 - 04 January 2003 - + added mbeans for handlers added mbeans for handlers added mbeans for - handlers Added MBeans for handlers + + added mbeans for handlers added mbeans for handlers added mbeans for added + mbeans for handlers added mbeans for handlers added mbeans for handlers + Added MBeans for handlers + clear context attributes after stop. clear context attributes after st clear + context attributes after stop. clear context attributes after st clear context attributes after stop. Clear context attributes after stop. + clear context listeners after stop. clear context listeners after stop clear + context listeners after stop. clear context listeners after stop clear context listeners after stop. Clear context listeners after stop. + fixed stop/start handling of servlet context fixed stop/start handling fixed + stop/start handling of servlet context fixed stop/start handling fixed stop/start handling of servlet context Fixed stop/start handling of servlet context + htaccesshandler checks realm as well as htpassword. htaccesshandler ch + htaccesshandler checks realm as well as htpassword. htaccesshandler ch htaccesshandler checks realm as well as htpassword. HTAccessHandler checks realm as well as htpassword. - + reuse empty logsink slots. reuse empty logsink slots. reuse empty logsink - slots. Reuse empty LogSink slots. + + reuse empty logsink slots. reuse empty logsink slots. reuse empty logs reuse + empty logsink slots. reuse empty logsink slots. reuse empty logsink slots. + Reuse empty LogSink slots. + upgraded jasper to 4.1.18 upgraded jasper to 4.1.18 upgraded jasper to + upgraded jasper to 4.1.18 upgraded jasper to 4.1.18 upgraded jasper to 4.1.18 Upgraded jasper to 4.1.18 + use requestedsessionid as default session id. use requestedsessionid a use + requestedsessionid as default session id. use requestedsessionid a use requestedsessionid as default session id. Use requestedSessionId as default session ID. jetty-4.2.4rc0 - 12 December 2002 + added gzip content encoding support to default and resourcehandler add added - gzip content encoding support to default and resourcehandler Added gzip - content encoding support to Default and ResourceHandler - + added httpcontext.flushcache added httpcontext.flushcache added + gzip content encoding support to default and resourcehandler add added gzip + content encoding support to default and resourcehandler Added gzip content + encoding support to Default and ResourceHandler + + added httpcontext.flushcache added httpcontext.flushcache added added + httpcontext.flushcache added httpcontext.flushcache added httpcontext.flushcache Added HttpContext.flushCache - + allow empty host header. allow empty host header. allow empty host header. - Allow empty host header. - + avoid optional 100 continues. avoid optional 100 continues. avoid optional - 100 continues. Avoid optional 100 continues. - + better access to session manager. better access to session manager. better + + allow empty host header. allow empty host header. allow empty host hea allow + empty host header. allow empty host header. allow empty host header. Allow + empty host header. + + avoid optional 100 continues. avoid optional 100 continues. avoid opti avoid + optional 100 continues. avoid optional 100 continues. avoid optional 100 + continues. Avoid optional 100 continues. + + better access to session manager. better access to session manager. be + better access to session manager. better access to session manager. better access to session manager. Better access to session manager. + character encoding handling for get requests. character encoding handl + character encoding handling for get requests. character encoding handl character encoding handling for get requests. Character encoding handling for GET requests. - + cheap clear for httpfields cheap clear for httpfields cheap clear for - httpfields Cheap clear for HttpFields + + cheap clear for httpfields cheap clear for httpfields cheap clear for cheap + clear for httpfields cheap clear for httpfields cheap clear for httpfields + Cheap clear for HttpFields + cleaned up some unused listener throws. cleaned up some unused listene + cleaned up some unused listener throws. cleaned up some unused listene cleaned up some unused listener throws. Cleaned up some unused listener throws. - + code logs objects rather than strings. code logs objects rather than code - logs objects rather than strings. Code logs objects rather than strings. - + configurable root context. configurable root context. configurable root + + code logs objects rather than strings. code logs objects rather than c code + logs objects rather than strings. code logs objects rather than code logs + objects rather than strings. Code logs objects rather than strings. + + configurable root context. configurable root context. configurable roo + configurable root context. configurable root context. configurable root context. Configurable root context. - + dir listings in utf8 dir listings in utf8 dir listings in utf8 Dir listings - in UTF8 - + fixed dir listing from jars. fixed dir listing from jars. fixed dir listing - from jars. Fixed dir listing from jars. + + dir listings in utf8 dir listings in utf8 dir listings in utf8 dir lis dir + listings in utf8 dir listings in utf8 dir listings in utf8 Dir listings in + UTF8 + + fixed dir listing from jars. fixed dir listing from jars. fixed dir li fixed + dir listing from jars. fixed dir listing from jars. fixed dir listing from + jars. Fixed dir listing from jars. + fixed issecure and getscheme for ssl over ajp13 fixed issecure and get fixed + issecure and getscheme for ssl over ajp13 fixed issecure and get fixed issecure and getscheme for ssl over ajp13 Fixed isSecure and getScheme for SSL over AJP13 - + fixed setbuffersize npe. fixed setbuffersize npe. fixed setbuffersize npe. - Fixed setBufferSize NPE. - + handle = in param values. handle = in param values. handle = in param - values. Handle = in param values. - + handle chunked form data. handle chunked form data. handle chunked form + + fixed setbuffersize npe. fixed setbuffersize npe. fixed setbuffersize fixed + setbuffersize npe. fixed setbuffersize npe. fixed setbuffersize npe. Fixed + setBufferSize NPE. + + handle = in param values. handle = in param values. handle = in param handle + = in param values. handle = in param values. handle = in param values. + Handle = in param values. + + handle chunked form data. handle chunked form data. handle chunked for + handle chunked form data. handle chunked form data. handle chunked form data. Handle chunked form data. + implemented rfc2817 connect in proxyhandler implemented rfc2817 connec + implemented rfc2817 connect in proxyhandler implemented rfc2817 connec implemented rfc2817 connect in proxyhandler Implemented RFC2817 CONNECT in ProxyHandler + improved proxyhandler to the point is works well for non ssl. improved + improved proxyhandler to the point is works well for non ssl. improved improved proxyhandler to the point is works well for non ssl. Improved ProxyHandler to the point is works well for non SSL. - + improved setbuffersize handling improved setbuffersize handling improved + + improved setbuffersize handling improved setbuffersize handling improv + improved setbuffersize handling improved setbuffersize handling improved setbuffersize handling Improved setBufferSize handling - + limit form content size. limit form content size. limit form content size. - Limit form content size. + + limit form content size. limit form content size. limit form content s limit + form content size. limit form content size. limit form content size. Limit + form content size. + removed container transfer encoding handling. removed container transf + removed container transfer encoding handling. removed container transf removed container transfer encoding handling. Removed container transfer encoding handling. + rootnotfoundhandler to help when no context found. rootnotfoundhandler + rootnotfoundhandler to help when no context found. rootnotfoundhandler rootnotfoundhandler to help when no context found. RootNotFoundHandler to help when no context found. - + simplified threadedserver simplified threadedserver simplified - threadedserver Simplified ThreadedServer - + update jasper to 4.1.16beta update jasper to 4.1.16beta update jasper to + + simplified threadedserver simplified threadedserver simplified simplified + threadedserver simplified threadedserver simplified threadedserver + Simplified ThreadedServer + + update jasper to 4.1.16beta update jasper to 4.1.16beta update jasper + update jasper to 4.1.16beta update jasper to 4.1.16beta update jasper to 4.1.16beta Update jasper to 4.1.16beta - + use threadlocals for bytearraypool to avoid synchronization. use use + + use threadlocals for bytearraypool to avoid synchronization. use use use + threadlocals for bytearraypool to avoid synchronization. use use threadlocals for bytearraypool to avoid synchronization. Use ThreadLocals for ByteArrayPool to avoid synchronization. - + use version to reset httpfields use version to reset httpfields use version - to reset httpfields Use Version to reset HttpFields + + use version to reset httpfields use version to reset httpfields use ve use + version to reset httpfields use version to reset httpfields use version to + reset httpfields Use Version to reset HttpFields jetty-4.2.3 - 02 December 2002 - + added links to jetty powered page added links to jetty powered page added - links to jetty powered page Added links to Jetty Powered page - + added main() to org.mortbay.http.version added main() to added main() to + + added links to jetty powered page added links to jetty powered page ad added + links to jetty powered page added links to jetty powered page added links to + jetty powered page Added links to Jetty Powered page + + added main() to org.mortbay.http.version added main() to added main() added + main() to org.mortbay.http.version added main() to added main() to org.mortbay.http.version added main() to org.mortbay.http.Version + added pkcs12import class to import pkcs12 key directly added pkcs12imp added + pkcs12import class to import pkcs12 key directly added pkcs12imp added pkcs12import class to import pkcs12 key directly Added PKCS12Import class to import PKCS12 key directly + check form authentication config for leading / check form authenticati check - form authentication config for leading / Check form authentication config - for leading / + form authentication config for leading / check form authenticati check form + authentication config for leading / Check form authentication config for + leading / + cleaner servlet stop to avoid extra synchronization on handle cleaner + cleaner servlet stop to avoid extra synchronization on handle cleaner cleaner servlet stop to avoid extra synchronization on handle Cleaner servlet stop to avoid extra synchronization on handle - + clean up of threadedserver.stop() clean up of threadedserver.stop() clean up - of threadedserver.stop() Clean up of ThreadedServer.stop() - + fixed some typos fixed some typos fixed some typos Fixed some typos + + clean up of threadedserver.stop() clean up of threadedserver.stop() cl clean + up of threadedserver.stop() clean up of threadedserver.stop() clean up of + threadedserver.stop() Clean up of ThreadedServer.stop() + + fixed some typos fixed some typos fixed some typos fixed some typos fixed + some typos fixed some typos fixed some typos Fixed some typos + org.mortbay.http.httpcontext.fileclasspathattribute + org.mortbay.http.httpcontext.fileclasspathattribute org.mortbay.http.httpcontext.fileclasspathattribute org.mortbay.http.HttpContext.FileClassPathAttribute + removed aggressive threadpool shrinkage to avoid deadlock on smp machi + removed aggressive threadpool shrinkage to avoid deadlock on smp machi removed aggressive threadpool shrinkage to avoid deadlock on smp machi Removed aggressive threadpool shrinkage to avoid deadlock on SMP machines. - + removed old httpcontext.setdirallowed() removed old removed old + + removed old httpcontext.setdirallowed() removed old removed old removed old + httpcontext.setdirallowed() removed old removed old httpcontext.setdirallowed() removed old HttpContext.setDirAllowed() - + updated bat scripts updated bat scripts updated bat scripts Updated bat + + updated bat scripts updated bat scripts updated bat scripts updated ba + updated bat scripts updated bat scripts updated bat scripts Updated bat scripts jetty-4.2.2 - 20 November 2002 + added eofexception to reduce log verbosity on closed connections. adde added + eofexception to reduce log verbosity on closed connections. adde added eofexception to reduce log verbosity on closed connections. Added EOFException to reduce log verbosity on closed connections. - + avoided bad buffer status after closed connection. avoided bad buffer + + avoided bad buffer status after closed connection. avoided bad buffer + avoided bad buffer status after closed connection. avoided bad buffer avoided bad buffer status after closed connection. Avoided bad buffer status after closed connection. - + fixed handling of empty headers fixed handling of empty headers fixed - handling of empty headers Fixed handling of empty headers + + fixed handling of empty headers fixed handling of empty headers fixed fixed + handling of empty headers fixed handling of empty headers fixed handling of + empty headers Fixed handling of empty headers + fixed sendredirect for non http urls fixed sendredirect for non http u fixed + sendredirect for non http urls fixed sendredirect for non http u fixed sendredirect for non http urls Fixed sendRedirect for non http URLS - + fixed uri query recycling for persistent connections fixed uri query fixed - uri query recycling for persistent connections Fixed URI query recycling for + + fixed uri query recycling for persistent connections fixed uri query f fixed + uri query recycling for persistent connections fixed uri query fixed uri + query recycling for persistent connections Fixed URI query recycling for persistent connections jetty-4.2.1 - 18 November 2002 + fixed bad optimization in urlencoding fixed bad optimization in urlenc fixed - bad optimization in urlencoding Fixed bad optimization in UrlEncoding + bad optimization in urlencoding fixed bad optimization in urlenc fixed bad + optimization in urlencoding Fixed bad optimization in UrlEncoding + re-enabled urlencoding test harnesses re-enabled urlencoding test harn + re-enabled urlencoding test harnesses re-enabled urlencoding test harn re-enabled urlencoding test harnesses Re-enabled UrlEncoding test harnesses jetty-4.2.0 - 16 November 2002 + added definitions for rfc2518 webdav response codes. added definitions added + definitions for rfc2518 webdav response codes. added definitions added definitions for rfc2518 webdav response codes. Added definitions for RFC2518 WebDav response codes. - + added upload demo to dump servlet. added upload demo to dump servlet. added - upload demo to dump servlet. Added upload demo to dump servlet. - + fixed ajp13 buffer size. fixed ajp13 buffer size. fixed ajp13 buffer size. - Fixed AJP13 buffer size. - + fixed include of invoker servlet. fixed include of invoker servlet. fixed - include of invoker servlet. Fixed include of Invoker servlet. - + fixed remove listener bug. fixed remove listener bug. fixed remove listener - bug. Fixed remove listener bug. + + added upload demo to dump servlet. added upload demo to dump servlet. added + upload demo to dump servlet. added upload demo to dump servlet. added upload + demo to dump servlet. Added upload demo to dump servlet. + + fixed ajp13 buffer size. fixed ajp13 buffer size. fixed ajp13 buffer s fixed + ajp13 buffer size. fixed ajp13 buffer size. fixed ajp13 buffer size. Fixed + AJP13 buffer size. + + fixed include of invoker servlet. fixed include of invoker servlet. fi fixed + include of invoker servlet. fixed include of invoker servlet. fixed include + of invoker servlet. Fixed include of Invoker servlet. + + fixed remove listener bug. fixed remove listener bug. fixed remove lis fixed + remove listener bug. fixed remove listener bug. fixed remove listener bug. + Fixed remove listener bug. + lowercase jsessionid for urls only. lowercase jsessionid for urls only + lowercase jsessionid for urls only. lowercase jsessionid for urls only lowercase jsessionid for urls only. Lowercase jsessionid for URLs only. + made ncsarequestlog easier to extend. made ncsarequestlog easier to ex made + ncsarequestlog easier to extend. made ncsarequestlog easier to ex made ncsarequestlog easier to extend. Made NCSARequestLog easier to extend. - + many more optimizations. many more optimizations. many more optimizations. - Many more optimizations. + + many more optimizations. many more optimizations. many more optimizati many + more optimizations. many more optimizations. many more optimizations. Many + more optimizations. + removed jasper source and just include jars from 4.1.12 removed jasper + removed jasper source and just include jars from 4.1.12 removed jasper removed jasper source and just include jars from 4.1.12 Removed jasper source and just include jars from 4.1.12 + removed remaining non portable getbytes() calls removed remaining non + removed remaining non portable getbytes() calls removed remaining non removed remaining non portable getbytes() calls Removed remaining non portable getBytes() calls + restrict 304 responses to seconds time resolution. restrict 304 respon + restrict 304 responses to seconds time resolution. restrict 304 respon restrict 304 responses to seconds time resolution. Restrict 304 responses to seconds time resolution. - + use ie date formatting for speed. use ie date formatting for speed. use ie - date formatting for speed. Use IE date formatting for speed. - + worked around jvm1.3 bug for jsps worked around jvm1.3 bug for jsps worked + + use ie date formatting for speed. use ie date formatting for speed. us use + ie date formatting for speed. use ie date formatting for speed. use ie date + formatting for speed. Use IE date formatting for speed. + + worked around jvm1.3 bug for jsps worked around jvm1.3 bug for jsps wo + worked around jvm1.3 bug for jsps worked around jvm1.3 bug for jsps worked around jvm1.3 bug for jsps Worked around JVM1.3 bug for JSPs jetty-4.1.4 - 16 November 2002 - + fixed contextloader parent delegation bug fixed contextloader parent fixed + + fixed contextloader parent delegation bug fixed contextloader parent f fixed + contextloader parent delegation bug fixed contextloader parent fixed contextloader parent delegation bug Fixed ContextLoader parent delegation bug + fixed invoker servlet for rd.include fixed invoker servlet for rd.incl fixed + invoker servlet for rd.include fixed invoker servlet for rd.incl fixed invoker servlet for rd.include Fixed Invoker servlet for RD.include - + fixed remove socketlistener bug. fixed remove socketlistener bug. fixed - remove socketlistener bug. Fixed remove SocketListener bug. + + fixed remove socketlistener bug. fixed remove socketlistener bug. fixe fixed + remove socketlistener bug. fixed remove socketlistener bug. fixed remove + socketlistener bug. Fixed remove SocketListener bug. + last modified handling uses second resolution. last modified handling last + modified handling uses second resolution. last modified handling last modified handling uses second resolution. Last modified handling uses second resolution. - + made ncsarequestlog simpler to extend. made ncsarequestlog simpler to made + + made ncsarequestlog simpler to extend. made ncsarequestlog simpler to made + ncsarequestlog simpler to extend. made ncsarequestlog simpler to made ncsarequestlog simpler to extend. Made NCSARequestLog simpler to extend. + use ie date formatting for last-modified efficiency use ie date format use - ie date formatting for last-modified efficiency Use IE date formatting for + ie date formatting for last-modified efficiency use ie date format use ie + date formatting for last-modified efficiency Use IE date formatting for last-modified efficiency jetty-4.2.0rc1 - 02 November 2002 - + fixed contextloader parent delegation bug. fixed contextloader parent fixed + + fixed contextloader parent delegation bug. fixed contextloader parent fixed + contextloader parent delegation bug. fixed contextloader parent fixed contextloader parent delegation bug. Fixed ContextLoader parent delegation bug. + fixed directory resource bug in jarfileresource. fixed directory resou fixed + directory resource bug in jarfileresource. fixed directory resou fixed directory resource bug in jarfileresource. Fixed directory resource bug in JarFileResource. - + fixed firstwrite after commit. fixed firstwrite after commit. fixed - firstwrite after commit. Fixed firstWrite after commit. + + fixed firstwrite after commit. fixed firstwrite after commit. fixed fixed + firstwrite after commit. fixed firstwrite after commit. fixed firstwrite + after commit. Fixed firstWrite after commit. + fixed problem setting the size of chunked buffers. fixed problem setti fixed + problem setting the size of chunked buffers. fixed problem setti fixed problem setting the size of chunked buffers. Fixed problem setting the size of chunked buffers. - + fixed servletpath on invoker for named servlets. fixed servletpath on fixed + + fixed servletpath on invoker for named servlets. fixed servletpath on fixed + servletpath on invoker for named servlets. fixed servletpath on fixed servletpath on invoker for named servlets. Fixed servletpath on invoker for named servlets. + improved handling of 2 byte encoded characters within forms. improved + improved handling of 2 byte encoded characters within forms. improved improved handling of 2 byte encoded characters within forms. Improved handling of 2 byte encoded characters within forms. - + recycling of httpfields class. recycling of httpfields class. recycling of + + recycling of httpfields class. recycling of httpfields class. recyclin + recycling of httpfields class. recycling of httpfields class. recycling of httpfields class. Recycling of HttpFields class. + removed unused servlet and servlet-engine headers. removed unused serv + removed unused servlet and servlet-engine headers. removed unused serv removed unused servlet and servlet-engine headers. Removed unused Servlet and Servlet-Engine headers. + renamed filter application methods. renamed filter application methods + renamed filter application methods. renamed filter application methods renamed filter application methods. Renamed Filter application methods. + support default mime mapping defined by * support default mime mapping + support default mime mapping defined by * support default mime mapping support default mime mapping defined by * Support default mime mapping defined by * jetty-4.2.0rc0 - 24 October 2002 - + added authenticator to admin.xml added authenticator to admin.xml added + + added authenticator to admin.xml added authenticator to admin.xml adde added + authenticator to admin.xml added authenticator to admin.xml added authenticator to admin.xml Added authenticator to admin.xml + added embedded iso8859 writer to httpoutputstream. added embedded iso8 added + embedded iso8859 writer to httpoutputstream. added embedded iso8 added embedded iso8859 writer to httpoutputstream. Added embedded iso8859 writer to HttpOutputStream. + fixed rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed + rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed rolloverfileoutputstream without date. Fixed RolloverFileOutputStream without date. + fixed sessionmanager initialization fixed sessionmanager initializatio fixed + sessionmanager initialization fixed sessionmanager initializatio fixed sessionmanager initialization Fixed SessionManager initialization - + fixed session timeout npe. fixed session timeout npe. fixed session timeout - npe. Fixed Session timeout NPE. - + greg's birthday release! greg's birthday release! greg's birthday release! + + fixed session timeout npe. fixed session timeout npe. fixed session ti fixed + session timeout npe. fixed session timeout npe. fixed session timeout npe. + Fixed Session timeout NPE. + + greg's birthday release! greg's birthday release! greg's birthday rele + greg's birthday release! greg's birthday release! greg's birthday release! Greg's birthday release! + removed duplicate classes from jar removed duplicate classes from jar + removed duplicate classes from jar removed duplicate classes from jar removed duplicate classes from jar Removed duplicate classes from jar jetty-4.1.3 - 24 October 2002 - + added authenticator to admin.xml added authenticator to admin.xml added + + added authenticator to admin.xml added authenticator to admin.xml adde added + authenticator to admin.xml added authenticator to admin.xml added authenticator to admin.xml Added authenticator to admin.xml + fixed rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed + rolloverfileoutputstream without date. fixed rolloverfileoutputs fixed rolloverfileoutputstream without date. Fixed RolloverFileOutputStream without date. + fixed sessionmanager initialization fixed sessionmanager initializatio fixed + sessionmanager initialization fixed sessionmanager initializatio fixed sessionmanager initialization Fixed SessionManager initialization - + fixed session timeout npe. fixed session timeout npe. fixed session timeout - npe. Fixed Session timeout NPE. + + fixed session timeout npe. fixed session timeout npe. fixed session ti fixed + session timeout npe. fixed session timeout npe. fixed session timeout npe. + Fixed Session timeout NPE. jetty-4.0.6 - 24 October 2002 - + clear interrupted status in threadpool clear interrupted status in clear + + clear interrupted status in threadpool clear interrupted status in cle clear + interrupted status in threadpool clear interrupted status in clear interrupted status in threadpool Clear interrupted status in ThreadPool - + fixed forward attribute handling for jsp-file servlets fixed forward fixed - forward attribute handling for jsp-file servlets fixed forward attribute - handling for jsp-file servlets + + fixed forward attribute handling for jsp-file servlets fixed forward f fixed + forward attribute handling for jsp-file servlets fixed forward fixed forward + attribute handling for jsp-file servlets fixed forward attribute handling + for jsp-file servlets + fixed forward query string handling fixed forward query string handlin fixed + forward query string handling fixed forward query string handlin fixed forward query string handling Fixed forward query string handling + fixed handling of relative sendredirect after forward. fixed handling fixed + handling of relative sendredirect after forward. fixed handling fixed handling of relative sendredirect after forward. Fixed handling of relative sendRedirect after forward. + fixed setcharacterencoding to work with getreader fixed setcharacteren fixed + setcharacterencoding to work with getreader fixed setcharacteren fixed setcharacterencoding to work with getreader Fixed setCharacterEncoding to work with getReader + fixed virtual hosts temp directories. fixed virtual hosts temp directo fixed + virtual hosts temp directories. fixed virtual hosts temp directo fixed virtual hosts temp directories. Fixed virtual hosts temp directories. jetty-4.2.0beta0 - 13 October 2002 + 404 instead of 403 for WEB-INF requests - + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; - in urls Allow %3B encoded ; in URLs - + allow anonymous realm allow anonymous realm allow anonymous realm Allow - anonymous realm - + build without jmx build without jmx build without jmx Build without jmx - + fixed bad log dir detection fixed bad log dir detection fixed bad log dir + + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b enco allow + %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; in + urls Allow %3B encoded ; in URLs + + allow anonymous realm allow anonymous realm allow anonymous realm allo allow + anonymous realm allow anonymous realm allow anonymous realm Allow anonymous + realm + + build without jmx build without jmx build without jmx build without jm build + without jmx build without jmx build without jmx Build without jmx + + fixed bad log dir detection fixed bad log dir detection fixed bad log fixed + bad log dir detection fixed bad log dir detection fixed bad log dir detection Fixed bad log dir detection + fixed caching of directories to avoid shared buffers. fixed caching of fixed + caching of directories to avoid shared buffers. fixed caching of fixed caching of directories to avoid shared buffers. Fixed caching of directories to avoid shared buffers. - + fix session invalidation bug fix session invalidation bug fix session + + fix session invalidation bug fix session invalidation bug fix session fix + session invalidation bug fix session invalidation bug fix session invalidation bug Fix Session invalidation bug + form authentication sets 403 error page form authentication sets 403 e form + authentication sets 403 error page form authentication sets 403 e form authentication sets 403 error page FORM authentication sets 403 error page + getnameddispatcher(null) returns containers default servlet. + getnameddispatcher(null) returns containers default servlet. getnameddispatcher(null) returns containers default servlet. getNamedDispatcher(null) returns containers default servlet. - + new ajp13 implementation. new ajp13 implementation. new ajp13 - implementation. New AJP13 implementation. - + new buffering implementation. new buffering implementation. new buffering + + new ajp13 implementation. new ajp13 implementation. new ajp13 new ajp13 + implementation. new ajp13 implementation. new ajp13 implementation. New + AJP13 implementation. + + new buffering implementation. new buffering implementation. new buffer new + buffering implementation. new buffering implementation. new buffering implementation. New Buffering implementation. - + new threadpool implementation. new threadpool implementation. new threadpool + + new threadpool implementation. new threadpool implementation. new thre new + threadpool implementation. new threadpool implementation. new threadpool implementation. New ThreadPool implementation. + removed dispatcher dependancy on servlethttpcontext removed dispatcher + removed dispatcher dependancy on servlethttpcontext removed dispatcher removed dispatcher dependancy on servlethttpcontext Removed Dispatcher dependancy on ServletHttpContext + stop/start filters in declaration order. stop/start filters in declara + stop/start filters in declaration order. stop/start filters in declara stop/start filters in declaration order. Stop/Start filters in declaration order. - + unquote charset in content type unquote charset in content type unquote + + unquote charset in content type unquote charset in content type unquot + unquote charset in content type unquote charset in content type unquote charset in content type unquote charset in content type - + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to + + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to 4.1.12 tag Update jasper to 4.1.12 tag + use "standard" names for default,jsp & invoker servlets. use "standard use + "standard" names for default,jsp & invoker servlets. use "standard use "standard" names for default,jsp & invoker servlets. Use "standard" names for default,jsp & invoker servlets. jetty-4.1.2 - 13 October 2002 + 404 instead of 403 for WEB-INF requests - + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; - in urls Allow %3B encoded ; in URLs - + allow anonymous realm allow anonymous realm allow anonymous realm Allow - anonymous realm - + build without jmx build without jmx build without jmx Build without jmx - + fixed bad log dir detection fixed bad log dir detection fixed bad log dir + + allow %3b encoded ; in urls allow %3b encoded ; in urls allow %3b enco allow + %3b encoded ; in urls allow %3b encoded ; in urls allow %3b encoded ; in + urls Allow %3B encoded ; in URLs + + allow anonymous realm allow anonymous realm allow anonymous realm allo allow + anonymous realm allow anonymous realm allow anonymous realm Allow anonymous + realm + + build without jmx build without jmx build without jmx build without jm build + without jmx build without jmx build without jmx Build without jmx + + fixed bad log dir detection fixed bad log dir detection fixed bad log fixed + bad log dir detection fixed bad log dir detection fixed bad log dir detection Fixed bad log dir detection + fixed caching of directories to avoid shared buffers. fixed caching of fixed + caching of directories to avoid shared buffers. fixed caching of fixed caching of directories to avoid shared buffers. Fixed caching of directories to avoid shared buffers. - + fix session invalidation bug fix session invalidation bug fix session + + fix session invalidation bug fix session invalidation bug fix session fix + session invalidation bug fix session invalidation bug fix session invalidation bug Fix Session invalidation bug + form authentication sets 403 error page form authentication sets 403 e form + authentication sets 403 error page form authentication sets 403 e form authentication sets 403 error page FORM authentication sets 403 error page + getnameddispatcher(null) returns containers default servlet. + getnameddispatcher(null) returns containers default servlet. getnameddispatcher(null) returns containers default servlet. getNamedDispatcher(null) returns containers default servlet. - + some ajp13 optimizations. some ajp13 optimizations. some ajp13 - optimizations. Some AJP13 optimizations. + + some ajp13 optimizations. some ajp13 optimizations. some ajp13 some ajp13 + optimizations. some ajp13 optimizations. some ajp13 optimizations. Some + AJP13 optimizations. + stop/start filters in declaration order. stop/start filters in declara + stop/start filters in declaration order. stop/start filters in declara stop/start filters in declaration order. Stop/Start filters in declaration order. - + unquote charset in content type unquote charset in content type unquote + + unquote charset in content type unquote charset in content type unquot + unquote charset in content type unquote charset in content type unquote charset in content type unquote charset in content type - + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to + + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper + update jasper to 4.1.12 tag update jasper to 4.1.12 tag update jasper to 4.1.12 tag Update jasper to 4.1.12 tag + use "standard" names for default,jsp & invoker servlets. use "standard use + "standard" names for default,jsp & invoker servlets. use "standard use "standard" names for default,jsp & invoker servlets. Use "standard" names for default,jsp & invoker servlets. jetty-4.1.1 - 30 September 2002 - + avoid setting sotimeout for optimization. avoid setting sotimeout for avoid + + avoid setting sotimeout for optimization. avoid setting sotimeout for avoid + setting sotimeout for optimization. avoid setting sotimeout for avoid setting sotimeout for optimization. Avoid setting sotimeout for optimization. - + cache directory listings. cache directory listings. cache directory - listings. Cache directory listings. - + deprecated maxreadtime. deprecated maxreadtime. deprecated maxreadtime. + + cache directory listings. cache directory listings. cache directory cache + directory listings. cache directory listings. cache directory listings. + Cache directory listings. + + deprecated maxreadtime. deprecated maxreadtime. deprecated maxreadtime + deprecated maxreadtime. deprecated maxreadtime. deprecated maxreadtime. Deprecated maxReadTime. + fixed client scripting vulnerability with jasper2. fixed client script fixed + client scripting vulnerability with jasper2. fixed client script fixed client scripting vulnerability with jasper2. Fixed client scripting vulnerability with jasper2. - + fixed infinite recursion in jdbcuserrealm fixed infinite recursion in fixed + + fixed infinite recursion in jdbcuserrealm fixed infinite recursion in fixed + infinite recursion in jdbcuserrealm fixed infinite recursion in fixed infinite recursion in jdbcuserrealm Fixed infinite recursion in JDBCUserRealm + fixed space in resource name handling for jdk1.4 fixed space in resour fixed - space in resource name handling for jdk1.4 Fixed space in resource name - handling for jdk1.4 - + merged limitedncsarequestlog into ncsarequestlog merged merged + space in resource name handling for jdk1.4 fixed space in resour fixed space + in resource name handling for jdk1.4 Fixed space in resource name handling + for jdk1.4 + + merged limitedncsarequestlog into ncsarequestlog merged merged merged + limitedncsarequestlog into ncsarequestlog merged merged limitedncsarequestlog into ncsarequestlog Merged LimitedNCSARequestLog into NCSARequestLog - + moved launcher/src to src/org/mortbay/start moved launcher/src to moved + + moved launcher/src to src/org/mortbay/start moved launcher/src to move moved + launcher/src to src/org/mortbay/start moved launcher/src to moved launcher/src to src/org/mortbay/start Moved launcher/src to src/org/mortbay/start - + string comparison of if-modified-since headers. string comparison of string + + string comparison of if-modified-since headers. string comparison of s + string comparison of if-modified-since headers. string comparison of string comparison of if-modified-since headers. String comparison of If-Modified-Since headers. - + touch files when expanding jars touch files when expanding jars touch files - when expanding jars Touch files when expanding jars + + touch files when expanding jars touch files when expanding jars touch touch + files when expanding jars touch files when expanding jars touch files when + expanding jars Touch files when expanding jars jetty-4.1.0 - 22 September 2002 - + added limitedncsarequestlog added limitedncsarequestlog added + + added limitedncsarequestlog added limitedncsarequestlog added added + limitedncsarequestlog added limitedncsarequestlog added limitedncsarequestlog Added LimitedNCSARequestLog + clientcertauthenticator protected from null subjectdn + clientcertauthenticator protected from null subjectdn clientcertauthenticator protected from null subjectdn ClientCertAuthenticator protected from null subjectDN + context initparams to control session cookie domain, path and age. con + context initparams to control session cookie domain, path and age. con context initparams to control session cookie domain, path and age. Context Initparams to control session cookie domain, path and age. + fixed ajp13 handling of mod_jk loadbalancing. fixed ajp13 handling of fixed - ajp13 handling of mod_jk loadbalancing. Fixed AJP13 handling of mod_jk + ajp13 handling of mod_jk loadbalancing. fixed ajp13 handling of fixed ajp13 + handling of mod_jk loadbalancing. Fixed AJP13 handling of mod_jk loadbalancing. - + fixed cgi+windows security hole. fixed cgi+windows security hole. fixed + + fixed cgi+windows security hole. fixed cgi+windows security hole. fixe fixed + cgi+windows security hole. fixed cgi+windows security hole. fixed cgi+windows security hole. Fixed CGI+windows security hole. - + handle unremovable tempdir. handle unremovable tempdir. handle unremovable + + handle unremovable tempdir. handle unremovable tempdir. handle unremov + handle unremovable tempdir. handle unremovable tempdir. handle unremovable tempdir. Handle unremovable tempdir. + ncsarequest log buffered default ncsarequest log buffered default + ncsarequest log buffered default ncsarequest log buffered default ncsarequest log buffered default NCSARequest log buffered default + sorted directory listings. sorted directory listings. sorted directory + sorted directory listings. sorted directory listings. sorted directory listings. Sorted directory listings. + stop servlets in opposite order to start. stop servlets in opposite or stop + servlets in opposite order to start. stop servlets in opposite or stop servlets in opposite order to start. Stop servlets in opposite order to start. + use javac -target 1.2 for normal classes use javac -target 1.2 for nor use - javac -target 1.2 for normal classes Use javac -target 1.2 for normal - classes + javac -target 1.2 for normal classes use javac -target 1.2 for nor use javac + -target 1.2 for normal classes Use javac -target 1.2 for normal classes + web-inf/classes before web-inf/lib web-inf/classes before web-inf/lib + web-inf/classes before web-inf/lib web-inf/classes before web-inf/lib web-inf/classes before web-inf/lib WEB-INF/classes before WEB-INF/lib jetty-4.1.0RC6 - 14 September 2002 + added logon.jsp for no cookie form authentication. added logon.jsp for added + logon.jsp for no cookie form authentication. added logon.jsp for added logon.jsp for no cookie form authentication. Added logon.jsp for no cookie form authentication. - + added redirect to welcome file option. added redirect to welcome file added + + added redirect to welcome file option. added redirect to welcome file added + redirect to welcome file option. added redirect to welcome file added redirect to welcome file option. Added redirect to welcome file option. - + cleaned up old debug. cleaned up old debug. cleaned up old debug. Cleaned up + + cleaned up old debug. cleaned up old debug. cleaned up old debug. clea + cleaned up old debug. cleaned up old debug. cleaned up old debug. Cleaned up old debug. - + don't url encode fileurls. don't url encode fileurls. don't url encode - fileurls. Don't URL encode FileURLS. + + don't url encode fileurls. don't url encode fileurls. don't url encode don't + url encode fileurls. don't url encode fileurls. don't url encode fileurls. + Don't URL encode FileURLS. + encode urls of authentication redirections. encode urls of authenticat + encode urls of authentication redirections. encode urls of authenticat encode urls of authentication redirections. Encode URLs of Authentication redirections. + extended session api to pass request for jvmroute handling extended se + extended session api to pass request for jvmroute handling extended se extended session api to pass request for jvmroute handling Extended Session API to pass request for jvmRoute handling + fixed problem with ajp 304 responses. fixed problem with ajp 304 respo fixed + problem with ajp 304 responses. fixed problem with ajp 304 respo fixed problem with ajp 304 responses. Fixed problem with AJP 304 responses. + formauthenticator uses normal redirections now. formauthenticator uses + formauthenticator uses normal redirections now. formauthenticator uses formauthenticator uses normal redirections now. FormAuthenticator uses normal redirections now. - + improved hashuserrealm doco improved hashuserrealm doco improved - hashuserrealm doco Improved HashUserRealm doco - + improved look and feel of demo improved look and feel of demo improved look + + improved hashuserrealm doco improved hashuserrealm doco improved improved + hashuserrealm doco improved hashuserrealm doco improved hashuserrealm doco + Improved HashUserRealm doco + + improved look and feel of demo improved look and feel of demo improved + improved look and feel of demo improved look and feel of demo improved look and feel of demo Improved look and feel of demo jetty-4.1.0RC5 - 08 September 2002 + added commandprefix init param to cgi added commandprefix init param t added + commandprefix init param to cgi added commandprefix init param t added commandprefix init param to cgi Added commandPrefix init param to CGI + ajp13listener caught up with httpconnection changes. ajp13listener cau + ajp13listener caught up with httpconnection changes. ajp13listener cau ajp13listener caught up with httpconnection changes. AJP13Listener caught up with HttpConnection changes. - + implemented security-role-ref for isuserinrole. implemented implemented + + implemented security-role-ref for isuserinrole. implemented implemente + implemented security-role-ref for isuserinrole. implemented implemented security-role-ref for isuserinrole. Implemented security-role-ref for isUserInRole. + improved errors for misconfigured realms. improved errors for misconfi + improved errors for misconfigured realms. improved errors for misconfi improved errors for misconfigured realms. Improved errors for misconfigured realms. + more cleanup in threadpool for idle death. more cleanup in threadpool more + cleanup in threadpool for idle death. more cleanup in threadpool more cleanup in threadpool for idle death. More cleanup in ThreadPool for idle death. jetty-4.1.0RC4 - 30 August 2002 + created statslock sync objects to avoid deadlock when stopping. create + created statslock sync objects to avoid deadlock when stopping. create created statslock sync objects to avoid deadlock when stopping. Created statsLock sync objects to avoid deadlock when stopping. + included ibmjsselistener in the contrib directory. included ibmjsselis + included ibmjsselistener in the contrib directory. included ibmjsselis included ibmjsselistener in the contrib directory. Included IbmJsseListener in the contrib directory. + reverted to 302 for all redirections as all clients do not understand + reverted to 302 for all redirections as all clients do not understand reverted to 302 for all redirections as all clients do not understand Reverted to 302 for all redirections as all clients do not understand 303 + updated jasper2 to 4.1.10 tag. updated jasper2 to 4.1.10 tag. updated + updated jasper2 to 4.1.10 tag. updated jasper2 to 4.1.10 tag. updated jasper2 to 4.1.10 tag. Updated jasper2 to 4.1.10 tag. jetty-4.1.0RC3 - 28 August 2002 - + added buffering to request log added buffering to request log added - buffering to request log Added buffering to request log + + added buffering to request log added buffering to request log added added + buffering to request log added buffering to request log added buffering to + request log Added buffering to request log + added defaults descriptor to addwebapplications. added defaults descri added + defaults descriptor to addwebapplications. added defaults descri added defaults descriptor to addwebapplications. Added defaults descriptor to addWebApplications. + addwebapplications encodes paths to allow for spaces in file names. + addwebapplications encodes paths to allow for spaces in file names. addwebapplications encodes paths to allow for spaces in file names. addWebApplications encodes paths to allow for spaces in file names. + allow form auth pages to be within security constraint. allow form aut allow - form auth pages to be within security constraint. Allow FORM auth pages to - be within security constraint. - + allow webapplicationhandler to be used with other handlers. allow allow + form auth pages to be within security constraint. allow form aut allow form + auth pages to be within security constraint. Allow FORM auth pages to be + within security constraint. + + allow webapplicationhandler to be used with other handlers. allow allo allow + webapplicationhandler to be used with other handlers. allow allow webapplicationhandler to be used with other handlers. Allow WebApplicationHandler to be used with other handlers. + created and integrated the jetty launcher created and integrated the j + created and integrated the jetty launcher created and integrated the j created and integrated the jetty launcher Created and integrated the Jetty Launcher + fixed security problem for suffix matching with trailing "/" fixed sec fixed + security problem for suffix matching with trailing "/" fixed sec fixed security problem for suffix matching with trailing "/" Fixed security problem for suffix matching with trailing "/" + improved handling of path encoding in resources for bad jvms improved + improved handling of path encoding in resources for bad jvms improved improved handling of path encoding in resources for bad jvms Improved handling of path encoding in Resources for bad JVMs + improved handling of put,delete & move. improved handling of put,delet + improved handling of put,delete & move. improved handling of put,delet improved handling of put,delete & move. Improved handling of PUT,DELETE & MOVE. + made resource canonicalize it's base path for directories made resourc made + resource canonicalize it's base path for directories made resourc made resource canonicalize it's base path for directories Made Resource canonicalize it's base path for directories jetty-4.1.0RC2 - 20 August 2002 - + added httplistener.bufferreserve added httplistener.bufferreserve added + + added httplistener.bufferreserve added httplistener.bufferreserve adde added + httplistener.bufferreserve added httplistener.bufferreserve added httplistener.bufferreserve Added HttpListener.bufferReserve + build ant, src and zip versions with the release build ant, src and zi build - ant, src and zip versions with the release Build ant, src and zip versions - with the release - + clear interrupted status in threadpool clear interrupted status in clear + ant, src and zip versions with the release build ant, src and zi build ant, + src and zip versions with the release Build ant, src and zip versions with + the release + + clear interrupted status in threadpool clear interrupted status in cle clear + interrupted status in threadpool clear interrupted status in clear interrupted status in threadpool Clear interrupted status in ThreadPool - + conveninace setclassloaderjava2compliant method. conveninace conveninace + + conveninace setclassloaderjava2compliant method. conveninace convenina + conveninace setclassloaderjava2compliant method. conveninace conveninace setclassloaderjava2compliant method. Conveninace setClassLoaderJava2Compliant method. - + fixed httpfields cache overflow fixed httpfields cache overflow fixed - httpfields cache overflow Fixed HttpFields cache overflow + + fixed httpfields cache overflow fixed httpfields cache overflow fixed fixed + httpfields cache overflow fixed httpfields cache overflow fixed httpfields + cache overflow Fixed HttpFields cache overflow + improved bytearraypool to handle multiple sizes. improved bytearraypoo + improved bytearraypool to handle multiple sizes. improved bytearraypoo improved bytearraypool to handle multiple sizes. Improved ByteArrayPool to handle multiple sizes. - + updated to jasper2 (4_1_9 tag) updated to jasper2 (4_1_9 tag) updated to + + updated to jasper2 (4_1_9 tag) updated to jasper2 (4_1_9 tag) updated + updated to jasper2 (4_1_9 tag) updated to jasper2 (4_1_9 tag) updated to jasper2 (4_1_9 tag) Updated to Jasper2 (4_1_9 tag) + use system line separator for log files. use system line separator for use + system line separator for log files. use system line separator for use system line separator for log files. Use system line separator for log files. jetty-4.1.0RC1 - 11 August 2002 + fixed forward query string handling fixed forward query string handlin fixed + forward query string handling fixed forward query string handlin fixed forward query string handling Fixed forward query string handling - + fixed forward to jsp-file servlet fixed forward to jsp-file servlet fixed - forward to jsp-file servlet Fixed forward to jsp-file servlet + + fixed forward to jsp-file servlet fixed forward to jsp-file servlet fi fixed + forward to jsp-file servlet fixed forward to jsp-file servlet fixed forward + to jsp-file servlet Fixed forward to jsp-file servlet + fixed getcontext to use canonical contextpathspec fixed getcontext to fixed + getcontext to use canonical contextpathspec fixed getcontext to fixed getcontext to use canonical contextpathspec Fixed getContext to use canonical contextPathSpec + fixed handling of relative sendredirect after forward. fixed handling fixed + handling of relative sendredirect after forward. fixed handling fixed handling of relative sendredirect after forward. Fixed handling of relative sendRedirect after forward. + fixed setcharacterencoding to work with getreader fixed setcharacteren fixed + setcharacterencoding to work with getreader fixed setcharacteren fixed setcharacterencoding to work with getreader Fixed setCharacterEncoding to work with getReader - + improved the return codes for put improved the return codes for put improved + + improved the return codes for put improved the return codes for put im + improved the return codes for put improved the return codes for put improved the return codes for put Improved the return codes for PUT - + made httpserver serializable made httpserver serializable made httpserver + + made httpserver serializable made httpserver serializable made httpser made + httpserver serializable made httpserver serializable made httpserver serializable Made HttpServer serializable + updated international uri doco updated international uri doco updated + updated international uri doco updated international uri doco updated international uri doco Updated international URI doco + updated jasper to cvs snapshot 200208011920 updated jasper to cvs snap + updated jasper to cvs snapshot 200208011920 updated jasper to cvs snap updated jasper to cvs snapshot 200208011920 Updated jasper to CVS snapshot 200208011920 jetty-4.1.0RC0 - 31 July 2002 - + added digestauthenticator added digestauthenticator added - digestauthenticator Added DigestAuthenticator - + added expiryhandler which can set a default expires header. added added + + added digestauthenticator added digestauthenticator added added + digestauthenticator added digestauthenticator added digestauthenticator + Added DigestAuthenticator + + added expiryhandler which can set a default expires header. added adde added + expiryhandler which can set a default expires header. added added expiryhandler which can set a default expires header. Added ExpiryHandler which can set a default Expires header. + added link to a jetty page in korean. added link to a jetty page in ko added - link to a jetty page in korean. Added link to a Jetty page in Korean. + link to a jetty page in korean. added link to a jetty page in ko added link + to a jetty page in korean. Added link to a Jetty page in Korean. + changed uri default charset back to iso_8859_1 changed uri default cha + changed uri default charset back to iso_8859_1 changed uri default cha changed uri default charset back to iso_8859_1 Changed URI default charset back to ISO_8859_1 + fixed getrealpath for packed war files. fixed getrealpath for packed w fixed + getrealpath for packed war files. fixed getrealpath for packed w fixed getrealpath for packed war files. Fixed getRealPath for packed war files. + restructured password into password and credentials restructured passw + restructured password into password and credentials restructured passw restructured password into password and credentials Restructured Password into Password and Credentials jetty-4.0.5 - 31 July 2002 + fixed getrealpath for packed war files. fixed getrealpath for packed w fixed + getrealpath for packed war files. fixed getrealpath for packed w fixed getrealpath for packed war files. Fixed getRealPath for packed war files. + fixed getrequesturi for rd.forward to return new uri. fixed getrequest fixed + getrequesturi for rd.forward to return new uri. fixed getrequest fixed getrequesturi for rd.forward to return new uri. Fixed getRequestURI for RD.forward to return new URI. + reversed order of servletcontextlistener.contextdestroyed calls revers + reversed order of servletcontextlistener.contextdestroyed calls revers reversed order of servletcontextlistener.contextdestroyed calls Reversed order of ServletContextListener.contextDestroyed calls jetty-4.1.B1 - 19 July 2002 + added 2.4 filter dispatching support. added 2.4 filter dispatching sup added - 2.4 filter dispatching support. Added 2.4 Filter dispatching support. + 2.4 filter dispatching support. added 2.4 filter dispatching sup added 2.4 + filter dispatching support. Added 2.4 Filter dispatching support. + added put,delete,move support to webapps. added put,delete,move suppor added + put,delete,move support to webapps. added put,delete,move suppor added put,delete,move support to webapps. Added PUT,DELETE,MOVE support to webapps. - + cgi servlet, catch and report program invocation failure status. cgi cgi + + cgi servlet, catch and report program invocation failure status. cgi c cgi + servlet, catch and report program invocation failure status. cgi cgi servlet, catch and report program invocation failure status. CGI Servlet, catch and report program invocation failure status. + cgi servlet, fixed suffix mapping problem. cgi servlet, fixed suffix m cgi + servlet, fixed suffix mapping problem. cgi servlet, fixed suffix m cgi servlet, fixed suffix mapping problem. CGI Servlet, fixed suffix mapping problem. + cgi servlet, pass all http headers through. cgi servlet, pass all http cgi + servlet, pass all http headers through. cgi servlet, pass all http cgi servlet, pass all http headers through. CGI Servlet, pass all HTTP headers through. - + cgi servlet, set working directory for exec cgi servlet, set working cgi + + cgi servlet, set working directory for exec cgi servlet, set working c cgi + servlet, set working directory for exec cgi servlet, set working cgi servlet, set working directory for exec CGI Servlet, set working directory for exec + moved dynamic servlet handling to invoker servlet. moved dynamic servl moved + dynamic servlet handling to invoker servlet. moved dynamic servl moved dynamic servlet handling to invoker servlet. Moved dynamic servlet handling to Invoker servlet. + moved webapp resource handling to default servlet. moved webapp resour moved + webapp resource handling to default servlet. moved webapp resour moved webapp resource handling to default servlet. Moved webapp resource handling to Default servlet. + reversed order of servletcontextlistener.contextdestroyed calls revers + reversed order of servletcontextlistener.contextdestroyed calls revers reversed order of servletcontextlistener.contextdestroyed calls Reversed order of ServletContextListener.contextDestroyed calls + sessions create attribute map lazily. sessions create attribute map la + sessions create attribute map lazily. sessions create attribute map la sessions create attribute map lazily. Sessions create attribute map lazily. - + support http/0.9 requests again support http/0.9 requests again support + + support http/0.9 requests again support http/0.9 requests again suppor + support http/0.9 requests again support http/0.9 requests again support http/0.9 requests again Support HTTP/0.9 requests again - + updated mini.http.jar target updated mini.http.jar target updated - mini.http.jar target Updated mini.http.jar target + + updated mini.http.jar target updated mini.http.jar target updated updated + mini.http.jar target updated mini.http.jar target updated mini.http.jar + target Updated mini.http.jar target jetty-3.1.9 - 15 July 2002 - + allow dohead requests to be forwarded. allow dohead requests to be allow - dohead requests to be forwarded. Allow doHead requests to be forwarded. + + allow dohead requests to be forwarded. allow dohead requests to be all allow + dohead requests to be forwarded. allow dohead requests to be allow dohead + requests to be forwarded. Allow doHead requests to be forwarded. + fixed race in threadpool for minthreads <= cpus fixed race in threadpo fixed - race in threadpool for minthreads <= cpus Fixed race in ThreadPool for - minThreads <= CPUs + race in threadpool for minthreads <= cpus fixed race in threadpo fixed race + in threadpool for minthreads <= cpus Fixed race in ThreadPool for minThreads + <= CPUs jetty-4.1.B0 - 13 July 2002 + added work around of jdk1.4 bug with nio listener added work around of added - work around of jdk1.4 bug with nio listener Added work around of JDK1.4 bug - with NIO listener + work around of jdk1.4 bug with nio listener added work around of added work + around of jdk1.4 bug with nio listener Added work around of JDK1.4 bug with + NIO listener + allow filter init to access servlet context methods. allow filter init allow + filter init to access servlet context methods. allow filter init allow filter init to access servlet context methods. Allow filter init to access servlet context methods. + close rather than disable stream after forward close rather than disab close + rather than disable stream after forward close rather than disab close rather than disable stream after forward close rather than disable stream after forward - + fixed close problem with load balancer. fixed close problem with load fixed - close problem with load balancer. Fixed close problem with load balancer. + + fixed close problem with load balancer. fixed close problem with load fixed + close problem with load balancer. fixed close problem with load fixed close + problem with load balancer. Fixed close problem with load balancer. + fixed threadpool bug when minthreads <= cpus fixed threadpool bug when fixed + threadpool bug when minthreads <= cpus fixed threadpool bug when fixed threadpool bug when minthreads <= cpus Fixed ThreadPool bug when minThreads <= CPUs + keep notfoundcontext out of context mapping lists. keep notfoundcontex keep + notfoundcontext out of context mapping lists. keep notfoundcontex keep notfoundcontext out of context mapping lists. Keep notFoundContext out of context mapping lists. - + mod_jk faq mod_jk faq mod_jk faq mod_jk FAQ - + moved 3rd party jars to $jetty_home/ext moved 3rd party jars to moved 3rd - party jars to $jetty_home/ext Moved 3rd party jars to $JETTY_HOME/ext + + mod_jk faq mod_jk faq mod_jk faq mod_jk faq mod_jk faq mod_jk faq mod_jk faq + mod_jk FAQ + + moved 3rd party jars to $jetty_home/ext moved 3rd party jars to moved moved + 3rd party jars to $jetty_home/ext moved 3rd party jars to moved 3rd party + jars to $jetty_home/ext Moved 3rd party jars to $JETTY_HOME/ext + ncsarequestlog can log to stderr ncsarequestlog can log to stderr + ncsarequestlog can log to stderr ncsarequestlog can log to stderr ncsarequestlog can log to stderr NCSARequestLog can log to stderr + rd.forward changes getrequesturi. rd.forward changes getrequesturi. + rd.forward changes getrequesturi. rd.forward changes getrequesturi. rd.forward changes getrequesturi. RD.forward changes getRequestURI. + stopped rd.includes closing response. stopped rd.includes closing resp + stopped rd.includes closing response. stopped rd.includes closing resp stopped rd.includes closing response. Stopped RD.includes closing response. jetty-4.1.D2 - 24 June 2002 + added ajp13 listener for apache integration. added ajp13 listener for added - ajp13 listener for apache integration. Added AJP13 listener for apache + ajp13 listener for apache integration. added ajp13 listener for added ajp13 + listener for apache integration. Added AJP13 listener for apache integration. + allow comma separated cookies and headers allow comma separated cookie allow - comma separated cookies and headers Allow comma separated cookies and - headers + comma separated cookies and headers allow comma separated cookie allow comma + separated cookies and headers Allow comma separated cookies and headers + back out don't chunk 30x empty responses. back out don't chunk 30x emp back - out don't chunk 30x empty responses. Back out Don't chunk 30x empty - responses. - + better recycling of httprequests. better recycling of httprequests. better + out don't chunk 30x empty responses. back out don't chunk 30x emp back out + don't chunk 30x empty responses. Back out Don't chunk 30x empty responses. + + better recycling of httprequests. better recycling of httprequests. be + better recycling of httprequests. better recycling of httprequests. better recycling of httprequests. Better recycling of HttpRequests. + conditional header tested against welcome file not directory. conditio + conditional header tested against welcome file not directory. conditio conditional header tested against welcome file not directory. Conditional header tested against welcome file not directory. + fixed chunkableoutputstream close propagation fixed chunkableoutputstr fixed + chunkableoutputstream close propagation fixed chunkableoutputstr fixed chunkableoutputstream close propagation Fixed ChunkableOutputStream close propagation + improved threadedserver stopping on bad networks improved threadedserv + improved threadedserver stopping on bad networks improved threadedserv improved threadedserver stopping on bad networks Improved ThreadedServer stopping on bad networks + moved jmx classes from jettyextra to here. moved jmx classes from jett moved - jmx classes from jettyextra to here. Moved jmx classes from JettyExtra to - here. + jmx classes from jettyextra to here. moved jmx classes from jett moved jmx + classes from jettyextra to here. Moved jmx classes from JettyExtra to here. + protect session.getattributenames from concurrent modifications. prote + protect session.getattributenames from concurrent modifications. prote protect session.getattributenames from concurrent modifications. Protect session.getAttributeNames from concurrent modifications. + set contextloader during webapplicationcontext.start set contextloader set + contextloader during webapplicationcontext.start set contextloader set contextloader during webapplicationcontext.start Set contextloader during webapplicationcontext.start - + support trusted external authenticators. support trusted external support + + support trusted external authenticators. support trusted external supp + support trusted external authenticators. support trusted external support trusted external authenticators. Support trusted external authenticators. + use threadlocals to avoid unwrapping in dispatcher. use threadlocals t use + threadlocals to avoid unwrapping in dispatcher. use threadlocals t use threadlocals to avoid unwrapping in dispatcher. Use ThreadLocals to avoid unwrapping in Dispatcher. jetty-4.0.4 - 23 June 2002 + back out change: don't chunk 30x empty responses. back out change: don back - out change: don't chunk 30x empty responses. Back out change: Don't chunk - 30x empty responses. + out change: don't chunk 30x empty responses. back out change: don back out + change: don't chunk 30x empty responses. Back out change: Don't chunk 30x + empty responses. + conditional header tested against welcome file not directory. conditio + conditional header tested against welcome file not directory. conditio conditional header tested against welcome file not directory. Conditional header tested against welcome file not directory. + improved threadedserver stopping on bad networks improved threadedserv + improved threadedserver stopping on bad networks improved threadedserv improved threadedserver stopping on bad networks Improved ThreadedServer stopping on bad networks jetty-4.0.3 - 20 June 2002 + allow comma separated cookies and headers allow comma separated cookie allow - comma separated cookies and headers Allow comma separated cookies and - headers + comma separated cookies and headers allow comma separated cookie allow comma + separated cookies and headers Allow comma separated cookies and headers + allow session manager to be initialized when set. allow session manage allow + session manager to be initialized when set. allow session manage allow session manager to be initialized when set. Allow session manager to be initialized when set. - + better recycling of httprequests. better recycling of httprequests. better + + better recycling of httprequests. better recycling of httprequests. be + better recycling of httprequests. better recycling of httprequests. better recycling of httprequests. Better recycling of HttpRequests. + fixed close propagation of on-chunked output streams fixed close propa fixed - close propagation of on-chunked output streams Fixed close propagation of + close propagation of on-chunked output streams fixed close propa fixed close + propagation of on-chunked output streams Fixed close propagation of on-chunked output streams - + fixed japanese locale fixed japanese locale fixed japanese locale Fixed - japanese locale - + force security disassociation. force security disassociation. force security + + fixed japanese locale fixed japanese locale fixed japanese locale fixe fixed + japanese locale fixed japanese locale fixed japanese locale Fixed japanese + locale + + force security disassociation. force security disassociation. force se force + security disassociation. force security disassociation. force security disassociation. Force security disassociation. + protect session.getattributenames from concurrent modifications. prote + protect session.getattributenames from concurrent modifications. prote protect session.getattributenames from concurrent modifications. Protect session.getAttributeNames from concurrent modifications. + webapplicationcontext.start sets context loader webapplicationcontext. + webapplicationcontext.start sets context loader webapplicationcontext. webapplicationcontext.start sets context loader WebapplicationContext.start sets context loader jetty-4.1.D1 - 08 June 2002 - + added simple buffer pool. added simple buffer pool. added simple buffer - pool. Added simple buffer pool. - + don't chunk 30x empty responses. don't chunk 30x empty responses. don't - chunk 30x empty responses. Don't chunk 30x empty responses. - + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + + added simple buffer pool. added simple buffer pool. added simple buffe added + simple buffer pool. added simple buffer pool. added simple buffer pool. + Added simple buffer pool. + + don't chunk 30x empty responses. don't chunk 30x empty responses. don' don't + chunk 30x empty responses. don't chunk 30x empty responses. don't chunk 30x + empty responses. Don't chunk 30x empty responses. + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical path. + fixed "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed - "" contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. + "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed "" + contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. + merged resourcebase and securitybase into httpcontext merged resourceb + merged resourcebase and securitybase into httpcontext merged resourceb merged resourcebase and securitybase into httpcontext Merged ResourceBase and SecurityBase into HttpContext - + recycle servlet requests and responses recycle servlet requests and recycle + + recycle servlet requests and responses recycle servlet requests and re + recycle servlet requests and responses recycle servlet requests and recycle servlet requests and responses Recycle servlet requests and responses + removed race for the starting of session scavaging removed race for th + removed race for the starting of session scavaging removed race for th removed race for the starting of session scavaging Removed race for the starting of session scavaging + reworked output buffering to keep constant sized buffers. reworked out + reworked output buffering to keep constant sized buffers. reworked out reworked output buffering to keep constant sized buffers. Reworked output buffering to keep constant sized buffers. jetty-4.0.2 - 06 June 2002 - + added optimizeit plug added optimizeit plug added optimizeit plug Added - OptimizeIt plug - + don't chunk 30x empty responses. don't chunk 30x empty responses. don't - chunk 30x empty responses. Don't chunk 30x empty responses. - + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + + added optimizeit plug added optimizeit plug added optimizeit plug adde added + optimizeit plug added optimizeit plug added optimizeit plug Added OptimizeIt + plug + + don't chunk 30x empty responses. don't chunk 30x empty responses. don' don't + chunk 30x empty responses. don't chunk 30x empty responses. don't chunk 30x + empty responses. Don't chunk 30x empty responses. + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical path. + fixed "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed - "" contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. - + fixed handler/context start order. fixed handler/context start order. fixed + "" contextpaths in dispatcher. fixed "" contextpaths in dispatch fixed "" + contextpaths in dispatcher. Fixed "" contextPaths in Dispatcher. + + fixed handler/context start order. fixed handler/context start order. fixed + handler/context start order. fixed handler/context start order. fixed handler/context start order. Fixed handler/context start order. - + fixed web.dtd references. fixed web.dtd references. fixed web.dtd - references. Fixed web.dtd references. + + fixed web.dtd references. fixed web.dtd references. fixed web.dtd fixed + web.dtd references. fixed web.dtd references. fixed web.dtd references. + Fixed web.dtd references. + removed race for the starting of session scavaging removed race for th + removed race for the starting of session scavaging removed race for th removed race for the starting of session scavaging Removed race for the starting of session scavaging jetty-3.1.8 - 06 June 2002 - + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + + fixed /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed + /foo/../bar// bug in canonical path. fixed /foo/../bar// bug in fixed /foo/../bar// bug in canonical path. Fixed /foo/../bar// bug in canonical path. + fixed no slash context redirection. fixed no slash context redirection fixed - no slash context redirection. Fixed no slash context redirection. + no slash context redirection. fixed no slash context redirection fixed no + slash context redirection. Fixed no slash context redirection. + fixed singled threaded dynamic servlets fixed singled threaded dynamic fixed + singled threaded dynamic servlets fixed singled threaded dynamic fixed singled threaded dynamic servlets Fixed singled threaded dynamic servlets - + made securityconstraint.addrole() require authentication. made made + + made securityconstraint.addrole() require authentication. made made made + securityconstraint.addrole() require authentication. made made securityconstraint.addrole() require authentication. Made SecurityConstraint.addRole() require authentication. jetty-4.1.D0 - 05 June 2002 - + added optimizeit plug. added optimizeit plug. added optimizeit plug. Added + + added optimizeit plug. added optimizeit plug. added optimizeit plug. a added + optimizeit plug. added optimizeit plug. added optimizeit plug. Added OptimizeIt plug. + added typeutil to reduce integer creation. added typeutil to reduce in added + typeutil to reduce integer creation. added typeutil to reduce in added typeutil to reduce integer creation. Added TypeUtil to reduce Integer creation. - + brand new webapplicationhandler & webapplicationcontext brand new brand new + + brand new webapplicationhandler & webapplicationcontext brand new bran brand + new webapplicationhandler & webapplicationcontext brand new brand new webapplicationhandler & webapplicationcontext BRAND NEW WebApplicationHandler & WebApplicationContext - + experimental client-cert authenticator experimental client-cert experimental + + experimental client-cert authenticator experimental client-cert experi + experimental client-cert authenticator experimental client-cert experimental client-cert authenticator Experimental CLIENT-CERT Authenticator - + fixed handler/context start order. fixed handler/context start order. fixed + + fixed handler/context start order. fixed handler/context start order. fixed + handler/context start order. fixed handler/context start order. fixed handler/context start order. Fixed handler/context start order. - + fixed web.dtd references. fixed web.dtd references. fixed web.dtd - references. Fixed web.dtd references. + + fixed web.dtd references. fixed web.dtd references. fixed web.dtd fixed + web.dtd references. fixed web.dtd references. fixed web.dtd references. + Fixed web.dtd references. + general clean up of the api for for mbean getters/setters. general cle + general clean up of the api for for mbean getters/setters. general cle general clean up of the api for for mbean getters/setters. General clean up of the API for for MBean getters/setters. + removed the httpmessage facade mechanism removed the httpmessage facad + removed the httpmessage facade mechanism removed the httpmessage facad removed the httpmessage facade mechanism Removed the HttpMessage facade mechanism + restructured resourcehandler into resourcebase restructured resourceha + restructured resourcehandler into resourcebase restructured resourceha restructured resourcehandler into resourcebase Restructured ResourceHandler into ResourceBase + the 4.1 series started looking for even more performance within the 2. the - 4.1 series started looking for even more performance within the 2. The 4.1 + 4.1 series started looking for even more performance within the 2. the 4.1 + series started looking for even more performance within the 2. The 4.1 Series started looking for even more performance within the 2.3 specification. jetty-4.0.1 - 22 May 2002 + fixed "null" return from getrealpath fixed "null" return from getrealp fixed + "null" return from getrealpath fixed "null" return from getrealp fixed "null" return from getrealpath Fixed "null" return from getRealPath + fixed contextclassloader on servletcontextevents. fixed contextclasslo fixed + contextclassloader on servletcontextevents. fixed contextclasslo fixed contextclassloader on servletcontextevents. Fixed contextclassloader on ServletContextEvents. + outputstreamlogsink config improvements outputstreamlogsink config + outputstreamlogsink config improvements outputstreamlogsink config outputstreamlogsink config improvements OutputStreamLogSink config improvements + support graceful stopping of context and server. support graceful stop + support graceful stopping of context and server. support graceful stop support graceful stopping of context and server. Support graceful stopping of context and server. - + updated jasper to 16 may snapshot updated jasper to 16 may snapshot updated + + updated jasper to 16 may snapshot updated jasper to 16 may snapshot up + updated jasper to 16 may snapshot updated jasper to 16 may snapshot updated jasper to 16 may snapshot Updated jasper to 16 May snapshot jetty-4.0.1RC2 - 14 May 2002 + 3des keylength was being reported as 0. now reports 168 bits. 3des key 3des + keylength was being reported as 0. now reports 168 bits. 3des key 3des keylength was being reported as 0. now reports 168 bits. 3DES Keylength was being reported as 0. Now reports 168 bits. - + added confidential and integral redirections to httplistener added added + + added confidential and integral redirections to httplistener added add added + confidential and integral redirections to httplistener added added confidential and integral redirections to httplistener Added confidential and integral redirections to HttpListener - + better error for jre1.3 with 1.4 classes better error for jre1.3 with - better error for jre1.3 with 1.4 classes Better error for jre1.3 with 1.4 - classes - + cleaned up rd query string regeneration. cleaned up rd query string cleaned + + better error for jre1.3 with 1.4 classes better error for jre1.3 with better + error for jre1.3 with 1.4 classes better error for jre1.3 with better error + for jre1.3 with 1.4 classes Better error for jre1.3 with 1.4 classes + + cleaned up rd query string regeneration. cleaned up rd query string cl + cleaned up rd query string regeneration. cleaned up rd query string cleaned up rd query string regeneration. Cleaned up RD query string regeneration. + fixed servletresponse.reset() to resetbuffer. fixed servletresponse.re fixed + servletresponse.reset() to resetbuffer. fixed servletresponse.re fixed servletresponse.reset() to resetbuffer. Fixed ServletResponse.reset() to resetBuffer. + implemented the run-as servlet tag. implemented the run-as servlet tag + implemented the run-as servlet tag. implemented the run-as servlet tag implemented the run-as servlet tag. Implemented the run-as servlet tag. jetty-4.0.1RC1 - 29 April 2002 - + avoid flushes during requestdispatcher.includes avoid flushes during avoid - flushes during requestdispatcher.includes Avoid flushes during + + avoid flushes during requestdispatcher.includes avoid flushes during a avoid + flushes during requestdispatcher.includes avoid flushes during avoid flushes + during requestdispatcher.includes Avoid flushes during RequestDispatcher.includes - + better handling if no realm configured. better handling if no realm better + + better handling if no realm configured. better handling if no realm be + better handling if no realm configured. better handling if no realm better handling if no realm configured. Better handling if no realm configured. + expand bytebuffer full limit with capacity. expand bytebuffer full lim + expand bytebuffer full limit with capacity. expand bytebuffer full lim expand bytebuffer full limit with capacity. Expand ByteBuffer full limit with capacity. + fixed double filtering of welcome files. fixed double filtering of wel fixed + double filtering of welcome files. fixed double filtering of wel fixed double filtering of welcome files. Fixed double filtering of welcome files. + fixed form authentication auth of login page bug. fixed form authentic fixed - form authentication auth of login page bug. Fixed FORM authentication auth - of login page bug. + form authentication auth of login page bug. fixed form authentic fixed form + authentication auth of login page bug. Fixed FORM authentication auth of + login page bug. + fixed settempdirectory creation bug fixed settempdirectory creation bu fixed + settempdirectory creation bug fixed settempdirectory creation bu fixed settempdirectory creation bug Fixed setTempDirectory creation bug - + improved flushing of chunked responses improved flushing of chunked improved + + improved flushing of chunked responses improved flushing of chunked im + improved flushing of chunked responses improved flushing of chunked improved flushing of chunked responses Improved flushing of chunked responses jetty-4.0.1RC0 - 18 April 2002 + abstractsessionmanager sets contextclassloader for scavanging + abstractsessionmanager sets contextclassloader for scavanging abstractsessionmanager sets contextclassloader for scavanging AbstractSessionManager sets contextClassLoader for scavanging - + added extract arg to addwebapplications added extract arg to added extract - arg to addwebapplications Added extract arg to addWebApplications + + added extract arg to addwebapplications added extract arg to added ext added + extract arg to addwebapplications added extract arg to added extract arg to + addwebapplications Added extract arg to addWebApplications + dtd allows static "get" and "set" methods to be invoked. dtd allows st dtd + allows static "get" and "set" methods to be invoked. dtd allows st dtd allows static "get" and "set" methods to be invoked. DTD allows static "Get" and "Set" methods to be invoked. + extended facade interfaces to httpresponse.senderror extended facade + extended facade interfaces to httpresponse.senderror extended facade extended facade interfaces to httpresponse.senderror Extended facade interfaces to HttpResponse.sendError + fixed delayed response bug: stopped httpconnection consuming input fro fixed + delayed response bug: stopped httpconnection consuming input fro fixed delayed response bug: stopped httpconnection consuming input fro Fixed delayed response bug: Stopped HttpConnection consuming input from timedout connection. - + moved basic auth handling to httprequest moved basic auth handling to moved - basic auth handling to httprequest Moved basic auth handling to HttpRequest + + moved basic auth handling to httprequest moved basic auth handling to moved + basic auth handling to httprequest moved basic auth handling to moved basic + auth handling to httprequest Moved basic auth handling to HttpRequest + pass pathparams via welcome file forward for jsessionid pass pathparam pass + pathparams via welcome file forward for jsessionid pass pathparam pass pathparams via welcome file forward for jsessionid Pass pathParams via welcome file forward for jsessionid + set thread context classloader for webapp load-on-startup inits set th set + thread context classloader for webapp load-on-startup inits set th set thread context classloader for webapp load-on-startup inits Set thread context classloader for webapp load-on-startup inits + updated jasper to cvs snapshot from apr 18 18:50:59 bst 2002 updated j + updated jasper to cvs snapshot from apr 18 18:50:59 bst 2002 updated j updated jasper to cvs snapshot from apr 18 18:50:59 bst 2002 Updated Jasper to CVS snapshot from Apr 18 18:50:59 BST 2002 jetty-4.0.0 - 22 March 2002 + added ipaddresshandler for ip restrictions added ipaddresshandler for added + ipaddresshandler for ip restrictions added ipaddresshandler for added ipaddresshandler for ip restrictions Added IPAddressHandler for IP restrictions - + jetty.sh cygwin support jetty.sh cygwin support jetty.sh cygwin support + + jetty.sh cygwin support jetty.sh cygwin support jetty.sh cygwin suppor + jetty.sh cygwin support jetty.sh cygwin support jetty.sh cygwin support Jetty.sh cygwin support - + minor documentation updates. minor documentation updates. minor - documentation updates. Minor documentation updates. - + updated contributors. updated contributors. updated contributors. Updated + + minor documentation updates. minor documentation updates. minor minor + documentation updates. minor documentation updates. minor documentation + updates. Minor documentation updates. + + updated contributors. updated contributors. updated contributors. upda + updated contributors. updated contributors. updated contributors. Updated contributors. + updated tutorial configure version updated tutorial configure version + updated tutorial configure version updated tutorial configure version updated tutorial configure version Updated tutorial configure version jetty-4.0.RC3 - 20 March 2002 + changed html attribute order for mozilla quirk. changed html attribute + changed html attribute order for mozilla quirk. changed html attribute changed html attribute order for mozilla quirk. Changed html attribute order for mozilla quirk. + contextinitialized notified before load-on-startup servlets. + contextinitialized notified before load-on-startup servlets. contextinitialized notified before load-on-startup servlets. ContextInitialized notified before load-on-startup servlets. - + fixed zzz offset format to +/-hhmm fixed zzz offset format to +/-hhmm fixed - zzz offset format to +/-hhmm Fixed ZZZ offset format to +/-HHMM + + fixed zzz offset format to +/-hhmm fixed zzz offset format to +/-hhmm fixed + zzz offset format to +/-hhmm fixed zzz offset format to +/-hhmm fixed zzz + offset format to +/-hhmm Fixed ZZZ offset format to +/-HHMM + jdbcuserrealm instantiates jdbc driver jdbcuserrealm instantiates jdbc + jdbcuserrealm instantiates jdbc driver jdbcuserrealm instantiates jdbc jdbcuserrealm instantiates jdbc driver JDBCUserRealm instantiates JDBC driver + suppress writeroutputstream warning. suppress writeroutputstream warni + suppress writeroutputstream warning. suppress writeroutputstream warni suppress writeroutputstream warning. Suppress WriterOutputStream warning. - + updated history updated history updated history Updated history + + updated history updated history updated history updated history updated + history updated history updated history Updated history jetty-4.0.RC2 - 12 March 2002 - + added experimental nio socketchannellistener added experimental nio added + + added experimental nio socketchannellistener added experimental nio ad added + experimental nio socketchannellistener added experimental nio added experimental nio socketchannellistener Added experimental nio SocketChannelListener - + added skeleton load balancer added skeleton load balancer added skeleton - load balancer Added skeleton load balancer - + disabled the password exec mechanism by default disabled the password + + added skeleton load balancer added skeleton load balancer added skelet added + skeleton load balancer added skeleton load balancer added skeleton load + balancer Added skeleton load balancer + + disabled the password exec mechanism by default disabled the password + disabled the password exec mechanism by default disabled the password disabled the password exec mechanism by default Disabled the Password EXEC mechanism by default - + dont try to extract directories dont try to extract directories dont try to + + dont try to extract directories dont try to extract directories dont t dont + try to extract directories dont try to extract directories dont try to extract directories Dont try to extract directories - + fixed column name in jdbcuserrealm fixed column name in jdbcuserrealm fixed - column name in jdbcuserrealm Fixed column name in JDBCUserRealm - + fixed empty referrer in ncsa log. fixed empty referrer in ncsa log. fixed - empty referrer in ncsa log. Fixed empty referrer in NCSA log. + + fixed column name in jdbcuserrealm fixed column name in jdbcuserrealm fixed + column name in jdbcuserrealm fixed column name in jdbcuserrealm fixed column + name in jdbcuserrealm Fixed column name in JDBCUserRealm + + fixed empty referrer in ncsa log. fixed empty referrer in ncsa log. fi fixed + empty referrer in ncsa log. fixed empty referrer in ncsa log. fixed empty + referrer in ncsa log. Fixed empty referrer in NCSA log. + fixed security constraint problem with // fixed security constraint pr fixed + security constraint problem with // fixed security constraint pr fixed security constraint problem with // Fixed security constraint problem with // - + fixed version for string xmlconfigurations fixed version for string fixed - version for string xmlconfigurations Fixed version for String - XmlConfigurations + + fixed version for string xmlconfigurations fixed version for string fi fixed + version for string xmlconfigurations fixed version for string fixed version + for string xmlconfigurations Fixed version for String XmlConfigurations + removed redundant sessionid check. removed redundant sessionid check. + removed redundant sessionid check. removed redundant sessionid check. removed redundant sessionid check. Removed redundant sessionID check. + remove last of the class.forname calls. remove last of the class.forna + remove last of the class.forname calls. remove last of the class.forna remove last of the class.forname calls. Remove last of the Class.forName calls. - + security faq security faq security faq Security FAQ + + security faq security faq security faq security faq security faq security + faq security faq Security FAQ jetty-3.1.7 - 12 March 2002 + fixed security problem with constraints being bypassed with // in urls fixed + security problem with constraints being bypassed with // in urls fixed security problem with constraints being bypassed with // in urls Fixed security problem with constraints being bypassed with // in URLs jetty-4.0.RC1 - 06 March 2002 + added contentencodinghandler for compression. added contentencodinghan added + contentencodinghandler for compression. added contentencodinghan added contentencodinghandler for compression. Added ContentEncodingHandler for compression. - + call response.flushbuffer after service to flush wrappers. call call + + call response.flushbuffer after service to flush wrappers. call call call + response.flushbuffer after service to flush wrappers. call call response.flushbuffer after service to flush wrappers. Call response.flushBuffer after service to flush wrappers. + contextdestroyed event sent before destruction. contextdestroyed event + contextdestroyed event sent before destruction. contextdestroyed event contextdestroyed event sent before destruction. contextDestroyed event sent before destruction. + contributors list as an image to prevent spam! contributors list as an + contributors list as an image to prevent spam! contributors list as an contributors list as an image to prevent spam! Contributors list as an image to prevent SPAM! - + empty suffix for temp directory. empty suffix for temp directory. empty - suffix for temp directory. Empty suffix for temp directory. + + empty suffix for temp directory. empty suffix for temp directory. empt empty + suffix for temp directory. empty suffix for temp directory. empty suffix for + temp directory. Empty suffix for temp directory. + fileresource depends less on filepermissions. fileresource depends les + fileresource depends less on filepermissions. fileresource depends les fileresource depends less on filepermissions. FileResource depends less on FilePermissions. - + fixed filter vs forward bug. fixed filter vs forward bug. fixed filter vs - forward bug. Fixed filter vs forward bug. - + fixed recursive debug loop in logging. fixed recursive debug loop in fixed + + fixed filter vs forward bug. fixed filter vs forward bug. fixed filter fixed + filter vs forward bug. fixed filter vs forward bug. fixed filter vs forward + bug. Fixed filter vs forward bug. + + fixed recursive debug loop in logging. fixed recursive debug loop in f fixed + recursive debug loop in logging. fixed recursive debug loop in fixed recursive debug loop in logging. Fixed recursive DEBUG loop in Logging. + improved efficiency of quality list handling improved efficiency of qu + improved efficiency of quality list handling improved efficiency of qu improved efficiency of quality list handling Improved efficiency of quality list handling + minor changes to make httpserver work on j2me cvm minor changes to mak minor + changes to make httpserver work on j2me cvm minor changes to mak minor changes to make httpserver work on j2me cvm Minor changes to make HttpServer work on J2ME CVM + simplified filter api to chunkable streams simplified filter api to + simplified filter api to chunkable streams simplified filter api to simplified filter api to chunkable streams Simplified filter API to chunkable streams + updated jetty.sh to always respect arguments. updated jetty.sh to alwa + updated jetty.sh to always respect arguments. updated jetty.sh to alwa updated jetty.sh to always respect arguments. Updated jetty.sh to always respect arguments. + warn if jdk 1.4 classes used on jvm <1.4 warn if jdk 1.4 classes used warn - if jdk 1.4 classes used on jvm <1.4 Warn if jdk 1.4 classes used on JVM <1.4 + if jdk 1.4 classes used on jvm <1.4 warn if jdk 1.4 classes used warn if + jdk 1.4 classes used on jvm <1.4 Warn if jdk 1.4 classes used on JVM <1.4 + webapplication will use contextloader even without web-inf directory. + webapplication will use contextloader even without web-inf directory. webapplication will use contextloader even without web-inf directory. WebApplication will use ContextLoader even without WEB-INF directory. + xmlparser is validating by default. use o.m.x.xmlparser.notvalidating + xmlparser is validating by default. use o.m.x.xmlparser.notvalidating xmlparser is validating by default. use o.m.x.xmlparser.notvalidating XmlParser is validating by default. use o.m.x.XmlParser.NotValidating property to change. jetty-3.1.6 - 28 February 2002 + dispatcher.forward dispatches directly to servletholder to avoid prema + dispatcher.forward dispatches directly to servletholder to avoid prema dispatcher.forward dispatches directly to servletholder to avoid prema Dispatcher.forward dispatches directly to ServletHolder to avoid premature exception handling. - + empty suffix for temp directory. empty suffix for temp directory. empty - suffix for temp directory. Empty suffix for temp directory. - + fixed httpfields remove bug fixed httpfields remove bug fixed httpfields - remove bug Fixed HttpFields remove bug + + empty suffix for temp directory. empty suffix for temp directory. empt empty + suffix for temp directory. empty suffix for temp directory. empty suffix for + temp directory. Empty suffix for temp directory. + + fixed httpfields remove bug fixed httpfields remove bug fixed httpfiel fixed + httpfields remove bug fixed httpfields remove bug fixed httpfields remove + bug Fixed HttpFields remove bug + httpresponse.senderror makes a better attempt at finding an error page + httpresponse.senderror makes a better attempt at finding an error page httpresponse.senderror makes a better attempt at finding an error page HttpResponse.sendError makes a better attempt at finding an error page. + implemented 2.3 clarifications to security constraint semantics please + implemented 2.3 clarifications to security constraint semantics please implemented 2.3 clarifications to security constraint semantics please Implemented 2.3 clarifications to security constraint semantics PLEASE REVIEW YOUR SECURITY CONSTRAINTS (see README). + lineinput can handle any sized marks lineinput can handle any sized ma + lineinput can handle any sized marks lineinput can handle any sized ma lineinput can handle any sized marks LineInput can handle any sized marks - + set listeners default scheme set listeners default scheme set listeners - default scheme Set Listeners default scheme + + set listeners default scheme set listeners default scheme set listener set + listeners default scheme set listeners default scheme set listeners default + scheme Set Listeners default scheme jetty-4.0.B2 - 25 February 2002 - + accept jetty-web.xml or web-jetty.xml in web-inf accept jetty-web.xml - accept jetty-web.xml or web-jetty.xml in web-inf Accept jetty-web.xml or + + accept jetty-web.xml or web-jetty.xml in web-inf accept jetty-web.xml accept + jetty-web.xml or web-jetty.xml in web-inf accept jetty-web.xml accept + jetty-web.xml or web-jetty.xml in web-inf Accept jetty-web.xml or web-jetty.xml in WEB-INF + added loggerlogsink to direct jetty logs to jdk1.4 log. added loggerlo added + loggerlogsink to direct jetty logs to jdk1.4 log. added loggerlo added loggerlogsink to direct jetty logs to jdk1.4 log. Added LoggerLogSink to direct Jetty Logs to JDK1.4 Log. - + added optional jdk 1.4 src tree added optional jdk 1.4 src tree added - optional jdk 1.4 src tree Added optional JDK 1.4 src tree + + added optional jdk 1.4 src tree added optional jdk 1.4 src tree added added + optional jdk 1.4 src tree added optional jdk 1.4 src tree added optional jdk + 1.4 src tree Added optional JDK 1.4 src tree + added org.mortbay.http.jdbcuserrealm added org.mortbay.http.jdbcuserre added + org.mortbay.http.jdbcuserrealm added org.mortbay.http.jdbcuserre added org.mortbay.http.jdbcuserrealm Added org.mortbay.http.JDBCUserRealm + added string constructor to xmlconfiguration. added string constructor added + string constructor to xmlconfiguration. added string constructor added string constructor to xmlconfiguration. Added String constructor to XmlConfiguration. - + adjust servlet facades for welcome redirection adjust servlet facades - adjust servlet facades for welcome redirection Adjust servlet facades for - welcome redirection + + adjust servlet facades for welcome redirection adjust servlet facades adjust + servlet facades for welcome redirection adjust servlet facades adjust + servlet facades for welcome redirection Adjust servlet facades for welcome + redirection + improved default jetty.xml improved default jetty.xml improved default + improved default jetty.xml improved default jetty.xml improved default jetty.xml Improved default jetty.xml + improve handling of unknown url protocols. improve handling of unknown + improve handling of unknown url protocols. improve handling of unknown improve handling of unknown url protocols. Improve handling of unknown URL protocols. - + init classloader for jspservlet init classloader for jspservlet init - classloader for jspservlet Init classloader for JspServlet - + minor jasper updates minor jasper updates minor jasper updates Minor Jasper + + init classloader for jspservlet init classloader for jspservlet init init + classloader for jspservlet init classloader for jspservlet init classloader + for jspservlet Init classloader for JspServlet + + minor jasper updates minor jasper updates minor jasper updates minor j minor + jasper updates minor jasper updates minor jasper updates Minor Jasper updates + o.m.u.frame uses jdk1.4 stack frame handling o.m.u.frame uses jdk1.4 s + o.m.u.frame uses jdk1.4 stack frame handling o.m.u.frame uses jdk1.4 s o.m.u.frame uses jdk1.4 stack frame handling o.m.u.Frame uses JDK1.4 stack frame handling + simplified addwebapplication simplified addwebapplication simplified + simplified addwebapplication simplified addwebapplication simplified addwebapplication Simplified addWebApplication + slightly more agressive eating unused input from non persistent connec + slightly more agressive eating unused input from non persistent connec slightly more agressive eating unused input from non persistent connec Slightly more agressive eating unused input from non persistent connection. - + start servlethandler as part of the filterhandler start. start start + + start servlethandler as part of the filterhandler start. start start start + servlethandler as part of the filterhandler start. start start servlethandler as part of the filterhandler start. Start ServletHandler as part of the FilterHandler start. + user / mapping rather than /* for servlet requests to static content u user - / mapping rather than /* for servlet requests to static content User / - mapping rather than /* for servlet requests to static content + / mapping rather than /* for servlet requests to static content u user / + mapping rather than /* for servlet requests to static content User / mapping + rather than /* for servlet requests to static content jetty-4.0.B1 - 13 February 2002 - + added setclassloader and moved getfileclasspath to httpcontext added added + + added setclassloader and moved getfileclasspath to httpcontext added a added + setclassloader and moved getfileclasspath to httpcontext added added setclassloader and moved getfileclasspath to httpcontext Added setClassLoader and moved getFileClassPath to HttpContext + getrequesturi returns encoded path getrequesturi returns encoded path + getrequesturi returns encoded path getrequesturi returns encoded path getrequesturi returns encoded path getRequestURI returns encoded path + httpconnection always eats unused bodies httpconnection always eats un + httpconnection always eats unused bodies httpconnection always eats un httpconnection always eats unused bodies HttpConnection always eats unused bodies + lineinput waits for lf after cf if seen crlf before. lineinput waits f + lineinput waits for lf after cf if seen crlf before. lineinput waits f lineinput waits for lf after cf if seen crlf before. LineInput waits for LF after CF if seen CRLF before. - + merged httpmessage and message merged httpmessage and message merged - httpmessage and message Merged HttpMessage and Message + + merged httpmessage and message merged httpmessage and message merged merged + httpmessage and message merged httpmessage and message merged httpmessage + and message Merged HttpMessage and Message + servlet request destined for static content returns paths as default s + servlet request destined for static content returns paths as default s servlet request destined for static content returns paths as default s Servlet request destined for static content returns paths as default servlet + suppress error only for ioexceptions not derivitives. suppress error o + suppress error only for ioexceptions not derivitives. suppress error o suppress error only for ioexceptions not derivitives. Suppress error only for IOExceptions not derivitives. + updated examples webapp from tomcat updated examples webapp from tomca + updated examples webapp from tomcat updated examples webapp from tomca updated examples webapp from tomcat Updated examples webapp from tomcat + writeroutputstream so jsps can include static resources. writeroutputs + writeroutputstream so jsps can include static resources. writeroutputs writeroutputstream so jsps can include static resources. WriterOutputStream so JSPs can include static resources. jetty-4.0.B0 - 04 February 2002 - + added abstractsessionmanager added abstractsessionmanager added + + added abstractsessionmanager added abstractsessionmanager added added + abstractsessionmanager added abstractsessionmanager added abstractsessionmanager Added AbstractSessionManager - + added array element to xmlconfiguration added array element to added array - element to xmlconfiguration Added Array element to XMLConfiguration + + added array element to xmlconfiguration added array element to added a added + array element to xmlconfiguration added array element to added array element + to xmlconfiguration Added Array element to XMLConfiguration + added hack for compat tests in watchdog for old tomcat stuff added hac added - hack for compat tests in watchdog for old tomcat stuff Added hack for compat + hack for compat tests in watchdog for old tomcat stuff added hac added hack + for compat tests in watchdog for old tomcat stuff Added hack for compat tests in watchdog for old tomcat stuff - + added index links to tutorial added index links to tutorial added index - links to tutorial Added index links to tutorial - + allow listener schemes to be set. allow listener schemes to be set. allow - listener schemes to be set. Allow listener schemes to be set. - + common handling of trace common handling of trace common handling of trace + + added index links to tutorial added index links to tutorial added inde added + index links to tutorial added index links to tutorial added index links to + tutorial Added index links to tutorial + + allow listener schemes to be set. allow listener schemes to be set. al allow + listener schemes to be set. allow listener schemes to be set. allow listener + schemes to be set. Allow listener schemes to be set. + + common handling of trace common handling of trace common handling of t + common handling of trace common handling of trace common handling of trace Common handling of TRACE + factor out rolloverfileoutputstream from outputstreamlogsink factor ou + factor out rolloverfileoutputstream from outputstreamlogsink factor ou factor out rolloverfileoutputstream from outputstreamlogsink Factor out RolloverFileOutputStream from OutputStreamLogSink - + fixed httpfields remove bug fixed httpfields remove bug fixed httpfields - remove bug Fixed HttpFields remove bug + + fixed httpfields remove bug fixed httpfields remove bug fixed httpfiel fixed + httpfields remove bug fixed httpfields remove bug fixed httpfields remove + bug Fixed HttpFields remove bug + handle special characters in resource file names better. handle specia + handle special characters in resource file names better. handle specia handle special characters in resource file names better. Handle special characters in resource file names better. - + httpcontext destroy httpcontext destroy httpcontext destroy HttpContext + + httpcontext destroy httpcontext destroy httpcontext destroy httpcontex + httpcontext destroy httpcontext destroy httpcontext destroy HttpContext destroy + implemented 2.3 security constraint semantics please review your secur + implemented 2.3 security constraint semantics please review your secur implemented 2.3 security constraint semantics please review your secur Implemented 2.3 security constraint semantics PLEASE REVIEW YOUR SECURITY CONSTRAINTS (see README). + reduce object count and add hash width to stringmap reduce object coun + reduce object count and add hash width to stringmap reduce object coun reduce object count and add hash width to stringmap Reduce object count and add hash width to StringMap - + release process builds jettyextra release process builds jettyextra release + + release process builds jettyextra release process builds jettyextra re + release process builds jettyextra release process builds jettyextra release process builds jettyextra Release process builds JettyExtra - + removed triggers from code. removed triggers from code. removed triggers + + removed triggers from code. removed triggers from code. removed trigge + removed triggers from code. removed triggers from code. removed triggers from code. Removed triggers from Code. + remove request logsink and replace with requestlog using remove reques + remove request logsink and replace with requestlog using remove reques remove request logsink and replace with requestlog using Remove request logSink and replace with RequestLog using RolloverFileOutputStream + renamed gethttpservers and added setanonymous renamed gethttpservers a + renamed gethttpservers and added setanonymous renamed gethttpservers a renamed gethttpservers and added setanonymous Renamed getHttpServers and added setAnonymous + stop and remove notfound context for httpserver stop and remove notfou stop - and remove notfound context for httpserver Stop and remove NotFound context - for HttpServer + and remove notfound context for httpserver stop and remove notfou stop and + remove notfound context for httpserver Stop and remove NotFound context for + HttpServer + support random session ids in hashsessionmanager. support random sessi + support random session ids in hashsessionmanager. support random sessi support random session ids in hashsessionmanager. Support Random Session IDs in HashSessionManager. - + updated crimson to 1.1.3 updated crimson to 1.1.3 updated crimson to 1.1.3 + + updated crimson to 1.1.3 updated crimson to 1.1.3 updated crimson to 1 + updated crimson to 1.1.3 updated crimson to 1.1.3 updated crimson to 1.1.3 Updated crimson to 1.1.3 - + updated tutorial and faq updated tutorial and faq updated tutorial and faq + + updated tutorial and faq updated tutorial and faq updated tutorial and + updated tutorial and faq updated tutorial and faq updated tutorial and faq Updated tutorial and FAQ - + welcome file dispatch sets requesturi. welcome file dispatch sets welcome + + welcome file dispatch sets requesturi. welcome file dispatch sets welc + welcome file dispatch sets requesturi. welcome file dispatch sets welcome file dispatch sets requesturi. Welcome file dispatch sets requestURI. - + welcome files may be relative welcome files may be relative welcome files + + welcome files may be relative welcome files may be relative welcome fi + welcome files may be relative welcome files may be relative welcome files may be relative Welcome files may be relative jetty-4.0.D4 - 14 January 2002 - + added blueribbon campaign. added blueribbon campaign. added blueribbon - campaign. Added BlueRibbon campaign. - + added isauthenticated to userprincipal added isauthenticated to added + + added blueribbon campaign. added blueribbon campaign. added blueribbon added + blueribbon campaign. added blueribbon campaign. added blueribbon campaign. + Added BlueRibbon campaign. + + added isauthenticated to userprincipal added isauthenticated to added added + isauthenticated to userprincipal added isauthenticated to added isauthenticated to userprincipal Added isAuthenticated to UserPrincipal + extract war files to standard temp directory extract war files to stan + extract war files to standard temp directory extract war files to stan extract war files to standard temp directory Extract WAR files to standard temp directory - + fixed noaccess auth demo. fixed noaccess auth demo. fixed noaccess auth - demo. Fixed noaccess auth demo. - + form auth caches userprincipal form auth caches userprincipal form auth - caches userprincipal FORM auth caches UserPrincipal - + handle servletrequestwrappers for generic servlets handle handle + + fixed noaccess auth demo. fixed noaccess auth demo. fixed noaccess aut fixed + noaccess auth demo. fixed noaccess auth demo. fixed noaccess auth demo. + Fixed noaccess auth demo. + + form auth caches userprincipal form auth caches userprincipal form aut form + auth caches userprincipal form auth caches userprincipal form auth caches + userprincipal FORM auth caches UserPrincipal + + handle servletrequestwrappers for generic servlets handle handle handle + servletrequestwrappers for generic servlets handle handle servletrequestwrappers for generic servlets Handle ServletRequestWrappers for Generic Servlets - + improved handling of unavailableexception improved handling of improved + + improved handling of unavailableexception improved handling of improve + improved handling of unavailableexception improved handling of improved handling of unavailableexception Improved handling of UnavailableException - + improved httpresponsse.senderror error page matching. improved improved + + improved httpresponsse.senderror error page matching. improved improve + improved httpresponsse.senderror error page matching. improved improved httpresponsse.senderror error page matching. Improved HttpResponsse.sendError error page matching. - + prevent output after forward prevent output after forward prevent output + + prevent output after forward prevent output after forward prevent outp + prevent output after forward prevent output after forward prevent output after forward Prevent output after forward - + requestdispatcher uses cached resources for include requestdispatcher + + requestdispatcher uses cached resources for include requestdispatcher + requestdispatcher uses cached resources for include requestdispatcher requestdispatcher uses cached resources for include RequestDispatcher uses cached resources for include - + uri uses utf8 for % encodings. uri uses utf8 for % encodings. uri uses utf8 - for % encodings. URI uses UTF8 for % encodings. + + uri uses utf8 for % encodings. uri uses utf8 for % encodings. uri uses uri + uses utf8 for % encodings. uri uses utf8 for % encodings. uri uses utf8 for + % encodings. URI uses UTF8 for % encodings. jetty-4.0.D3 - 31 December 2001 + cookies with maxage==0 expire on 1 jan 1970 cookies with maxage==0 exp + cookies with maxage==0 expire on 1 jan 1970 cookies with maxage==0 exp cookies with maxage==0 expire on 1 jan 1970 cookies with maxAge==0 expire on 1 jan 1970 - + corrected name to http_referer in cgi servlet. corrected name to corrected + + corrected name to http_referer in cgi servlet. corrected name to corre + corrected name to http_referer in cgi servlet. corrected name to corrected name to http_referer in cgi servlet. Corrected name to HTTP_REFERER in CGI Servlet. - + datecache handles misses better. datecache handles misses better. datecache + + datecache handles misses better. datecache handles misses better. date + datecache handles misses better. datecache handles misses better. datecache handles misses better. DateCache handles misses better. - + fixed cached filter wrapping. fixed cached filter wrapping. fixed cached - filter wrapping. Fixed cached filter wrapping. - + fixed contextloader lib handling. fixed contextloader lib handling. fixed + + fixed cached filter wrapping. fixed cached filter wrapping. fixed cach fixed + cached filter wrapping. fixed cached filter wrapping. fixed cached filter + wrapping. Fixed cached filter wrapping. + + fixed contextloader lib handling. fixed contextloader lib handling. fi fixed + contextloader lib handling. fixed contextloader lib handling. fixed contextloader lib handling. Fixed ContextLoader lib handling. - + fixed getlocale again fixed getlocale again fixed getlocale again Fixed - getLocale again - + fixed urlencoding for % + combination. fixed urlencoding for % + fixed - urlencoding for % + combination. Fixed UrlEncoding for % + combination. - + generalized temp file handling generalized temp file handling generalized + + fixed getlocale again fixed getlocale again fixed getlocale again fixe fixed + getlocale again fixed getlocale again fixed getlocale again Fixed getLocale + again + + fixed urlencoding for % + combination. fixed urlencoding for % + fixed fixed + urlencoding for % + combination. fixed urlencoding for % + fixed urlencoding + for % + combination. Fixed UrlEncoding for % + combination. + + generalized temp file handling generalized temp file handling generali + generalized temp file handling generalized temp file handling generalized temp file handling Generalized temp file handling - + httpfields uses datecache more. httpfields uses datecache more. httpfields + + httpfields uses datecache more. httpfields uses datecache more. httpfi + httpfields uses datecache more. httpfields uses datecache more. httpfields uses datecache more. HttpFields uses DateCache more. + made frame members private and fixed test harness made frame members p made - frame members private and fixed test harness Made Frame members private and - fixed test harness + frame members private and fixed test harness made frame members p made frame + members private and fixed test harness Made Frame members private and fixed + test harness + moved admin port to 8081 to avoid jbuilder moved admin port to 8081 to moved - admin port to 8081 to avoid jbuilder Moved admin port to 8081 to avoid - JBuilder - + patch jasper to 20011229101000 patch jasper to 20011229101000 patch jasper - to 20011229101000 Patch jasper to 20011229101000 + admin port to 8081 to avoid jbuilder moved admin port to 8081 to moved admin + port to 8081 to avoid jbuilder Moved admin port to 8081 to avoid JBuilder + + patch jasper to 20011229101000 patch jasper to 20011229101000 patch ja patch + jasper to 20011229101000 patch jasper to 20011229101000 patch jasper to + 20011229101000 Patch jasper to 20011229101000 + removed limits on mark in lineinput. removed limits on mark in lineinp + removed limits on mark in lineinput. removed limits on mark in lineinp removed limits on mark in lineinput. Removed limits on mark in LineInput. - + setcookie always has equals setcookie always has equals setcookie always has + + setcookie always has equals setcookie always has equals setcookie alwa + setcookie always has equals setcookie always has equals setcookie always has equals setCookie always has equals jetty-3.1.5 - 11 December 2001 - + allow posts to static resources. allow posts to static resources. allow - posts to static resources. Allow POSTs to static resources. - + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched + + allow posts to static resources. allow posts to static resources. allo allow + posts to static resources. allow posts to static resources. allow posts to + static resources. Allow POSTs to static resources. + + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 bran + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched at Jetty_3_1 + cookies with maxage==0 expired 1 jan 1970 cookies with maxage==0 expir + cookies with maxage==0 expired 1 jan 1970 cookies with maxage==0 expir cookies with maxage==0 expired 1 jan 1970 cookies with maxage==0 expired 1 jan 1970 - + fixed chunableinputstream.resetstream bug. fixed fixed + + fixed chunableinputstream.resetstream bug. fixed fixed fixed + chunableinputstream.resetstream bug. fixed fixed chunableinputstream.resetstream bug. Fixed ChunableInputStream.resetStream bug. + fixed formatting of redirecturls for ns4.08 fixed formatting of redire fixed + formatting of redirecturls for ns4.08 fixed formatting of redire fixed formatting of redirecturls for ns4.08 Fixed formatting of redirectURLs for NS4.08 - + ignore io errors when trying to persist connections. ignore io errors - ignore io errors when trying to persist connections. Ignore IO errors when - trying to persist connections. + + ignore io errors when trying to persist connections. ignore io errors ignore + io errors when trying to persist connections. ignore io errors ignore io + errors when trying to persist connections. Ignore IO errors when trying to + persist connections. + setcookie always has equals for cookie value setcookie always has equa + setcookie always has equals for cookie value setcookie always has equa setcookie always has equals for cookie value setCookie always has equals for cookie value + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopjob/killstop in threadpool to improve stopping threadedserver on s stopjob/killstop in threadpool to improve stopping threadedserver on s stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some platforms. jetty-4.0.D2 - 02 December 2001 - + added addwebapplications auto discovery added addwebapplications auto added + + added addwebapplications auto discovery added addwebapplications auto added + addwebapplications auto discovery added addwebapplications auto added addwebapplications auto discovery added addWebApplications auto discovery - + allow posts to static resources. allow posts to static resources. allow - posts to static resources. Allow POSTs to static resources. + + allow posts to static resources. allow posts to static resources. allo allow + posts to static resources. allow posts to static resources. allow posts to + static resources. Allow POSTs to static resources. + better handling of charset in form encoding. better handling of charse + better handling of charset in form encoding. better handling of charse better handling of charset in form encoding. Better handling of charset in form encoding. + disabled last forwarding by setpath() disabled last forwarding by setp + disabled last forwarding by setpath() disabled last forwarding by setp disabled last forwarding by setpath() Disabled last forwarding by setPath() - + fixed chunableinputstream.resetstream bug. fixed fixed + + fixed chunableinputstream.resetstream bug. fixed fixed fixed + chunableinputstream.resetstream bug. fixed fixed chunableinputstream.resetstream bug. Fixed ChunableInputStream.resetStream bug. - + fixed formatting of redirect urls. fixed formatting of redirect urls. fixed + + fixed formatting of redirect urls. fixed formatting of redirect urls. fixed + formatting of redirect urls. fixed formatting of redirect urls. fixed formatting of redirect urls. Fixed formatting of redirect URLs. - + ignore io errors when trying to persist connections. ignore io errors - ignore io errors when trying to persist connections. Ignore IO errors when - trying to persist connections. - + made the root context a webapplication. made the root context a made the - root context a webapplication. Made the root context a webapplication. + + ignore io errors when trying to persist connections. ignore io errors ignore + io errors when trying to persist connections. ignore io errors ignore io + errors when trying to persist connections. Ignore IO errors when trying to + persist connections. + + made the root context a webapplication. made the root context a made t made + the root context a webapplication. made the root context a made the root + context a webapplication. Made the root context a webapplication. + moved demo docroot/servlets to demo directory moved demo docroot/servl moved - demo docroot/servlets to demo directory Moved demo docroot/servlets to demo + demo docroot/servlets to demo directory moved demo docroot/servl moved demo + docroot/servlets to demo directory Moved demo docroot/servlets to demo directory - + new event model to decouple from beans container. new event model to new - event model to decouple from beans container. New event model to decouple - from beans container. + + new event model to decouple from beans container. new event model to n new + event model to decouple from beans container. new event model to new event + model to decouple from beans container. New event model to decouple from + beans container. + removed demo.java (until updated). removed demo.java (until updated). + removed demo.java (until updated). removed demo.java (until updated). removed demo.java (until updated). Removed Demo.java (until updated). - + removed forwardhandler. removed forwardhandler. removed forwardhandler. + + removed forwardhandler. removed forwardhandler. removed forwardhandler + removed forwardhandler. removed forwardhandler. removed forwardhandler. Removed ForwardHandler. + removed most of the old doco, which needs to be rewritten and added ag + removed most of the old doco, which needs to be rewritten and added ag removed most of the old doco, which needs to be rewritten and added ag Removed most of the old doco, which needs to be rewritten and added again. + removed request set methods (will be replaced) removed request set met + removed request set methods (will be replaced) removed request set met removed request set methods (will be replaced) Removed Request set methods (will be replaced) + restructured for demo and test hierarchies restructured for demo and t + restructured for demo and test hierarchies restructured for demo and t restructured for demo and test hierarchies Restructured for demo and test hierarchies + stopjob/killstop in threadpool to improve stopping threadedserver on s + stopjob/killstop in threadpool to improve stopping threadedserver on s stopjob/killstop in threadpool to improve stopping threadedserver on s stopJob/killStop in ThreadPool to improve stopping ThreadedServer on some platforms. jetty-4.0.D1 - 14 November 2001 + added context and session event handling added context and session eve added + context and session event handling added context and session eve added context and session event handling Added Context and Session Event Handling - + added filterhandler added filterhandler added filterhandler Added - FilterHandler - + added filterholder added filterholder added filterholder Added FilterHolder + + added filterhandler added filterhandler added filterhandler added added + filterhandler added filterhandler added filterhandler Added FilterHandler + + added filterholder added filterholder added filterholder added filterh added + filterholder added filterholder added filterholder Added FilterHolder + changed handlercontext to httpcontext changed handlercontext to httpco + changed handlercontext to httpcontext changed handlercontext to httpco changed handlercontext to httpcontext Changed HandlerContext to HttpContext - + fixed bug with request dispatcher parameters fixed bug with request fixed - bug with request dispatcher parameters Fixed bug with request dispatcher - parameters + + fixed bug with request dispatcher parameters fixed bug with request fi fixed + bug with request dispatcher parameters fixed bug with request fixed bug with + request dispatcher parameters Fixed bug with request dispatcher parameters + fixed servlethandler with no servlets fixed servlethandler with no ser fixed + servlethandler with no servlets fixed servlethandler with no ser fixed servlethandler with no servlets Fixed ServletHandler with no servlets - + new contextloader implementation. new contextloader implementation. new + + new contextloader implementation. new contextloader implementation. ne new + contextloader implementation. new contextloader implementation. new contextloader implementation. New ContextLoader implementation. - + new dispatcher implementation new dispatcher implementation new dispatcher + + new dispatcher implementation new dispatcher implementation new dispat new + dispatcher implementation new dispatcher implementation new dispatcher implementation New Dispatcher implementation - + removed destroy methods removed destroy methods removed destroy methods + + removed destroy methods removed destroy methods removed destroy method + removed destroy methods removed destroy methods removed destroy methods Removed destroy methods - + simplified multimap simplified multimap simplified multimap Simplified + + simplified multimap simplified multimap simplified multimap simplified + simplified multimap simplified multimap simplified multimap Simplified MultiMap - + simplified servlethandler simplified servlethandler simplified - servlethandler Simplified ServletHandler + + simplified servlethandler simplified servlethandler simplified simplified + servlethandler simplified servlethandler simplified servlethandler + Simplified ServletHandler jetty-4.0.D0 - 06 November 2001 - + 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 JSP API - + 2.3 servlet api 2.3 servlet api 2.3 servlet api 2.3 Servlet API - + added examples webapp from tomcat4 added examples webapp from tomcat4 added + + 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 jsp api 1.2 + jsp api 1.2 JSP API + + 2.3 servlet api 2.3 servlet api 2.3 servlet api 2.3 servlet api 2.3 servlet + api 2.3 servlet api 2.3 servlet api 2.3 Servlet API + + added examples webapp from tomcat4 added examples webapp from tomcat4 added + examples webapp from tomcat4 added examples webapp from tomcat4 added examples webapp from tomcat4 Added examples webapp from tomcat4 - + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched + + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 bran + branched at jetty_3_1 branched at jetty_3_1 branched at jetty_3_1 Branched at Jetty_3_1 - + branched from jetty_3_1 == jetty_3_1_4 branched from jetty_3_1 == branched + + branched from jetty_3_1 == jetty_3_1_4 branched from jetty_3_1 == bran + branched from jetty_3_1 == jetty_3_1_4 branched from jetty_3_1 == branched from jetty_3_1 == jetty_3_1_4 Branched from Jetty_3_1 == Jetty_3_1_4 - + jasper from tomcat4 jasper from tomcat4 jasper from tomcat4 Jasper from + + jasper from tomcat4 jasper from tomcat4 jasper from tomcat4 jasper fro + jasper from tomcat4 jasper from tomcat4 jasper from tomcat4 Jasper from tomcat4 - + start sessionmanager abstraction. start sessionmanager abstraction. start + + start sessionmanager abstraction. start sessionmanager abstraction. st start + sessionmanager abstraction. start sessionmanager abstraction. start sessionmanager abstraction. Start SessionManager abstraction. jetty-3.1.4 - 06 November 2001 - + added requestlogformat to allow extensible request logs. added added + + added requestlogformat to allow extensible request logs. added added added + requestlogformat to allow extensible request logs. added added requestlogformat to allow extensible request logs. Added RequestLogFormat to allow extensible request logs. + default pathmap separator changed to ":," default pathmap separator ch + default pathmap separator changed to ":," default pathmap separator ch default pathmap separator changed to ":," Default PathMap separator changed to ":," + generate session unbind events on a context.stop() generate session un + generate session unbind events on a context.stop() generate session un generate session unbind events on a context.stop() Generate session unbind events on a context.stop() + getrealpath accepts \ uri separator on platforms using \ file separato + getrealpath accepts \ uri separator on platforms using \ file separato getrealpath accepts \ uri separator on platforms using \ file separato getRealPath accepts \ URI separator on platforms using \ file separator. + htaccesshandler made stricter on misconfiguration htaccesshandler made + htaccesshandler made stricter on misconfiguration htaccesshandler made htaccesshandler made stricter on misconfiguration HTAccessHandler made stricter on misconfiguration + pathmap now ignores paths after ; or ? characters. pathmap now ignores + pathmap now ignores paths after ; or ? characters. pathmap now ignores pathmap now ignores paths after ; or ? characters. PathMap now ignores paths after ; or ? characters. - + remove old stuff from contrib that had been moved to extra remove old - remove old stuff from contrib that had been moved to extra Remove old stuff - from contrib that had been moved to extra + + remove old stuff from contrib that had been moved to extra remove old remove + old stuff from contrib that had been moved to extra remove old remove old + stuff from contrib that had been moved to extra Remove old stuff from + contrib that had been moved to extra + support the zzz timezone offset format in datecache support the zzz ti + support the zzz timezone offset format in datecache support the zzz ti support the zzz timezone offset format in datecache Support the ZZZ timezone offset format in DateCache jetty-3.1.3 - 26 October 2001 - + allow a per context userrealm instance. allow a per context userrealm allow - a per context userrealm instance. Allow a per context UserRealm instance. + + allow a per context userrealm instance. allow a per context userrealm allow + a per context userrealm instance. allow a per context userrealm allow a per + context userrealm instance. Allow a per context UserRealm instance. + correct dispatch to error pages with javax attributes set. correct dis + correct dispatch to error pages with javax attributes set. correct dis correct dispatch to error pages with javax attributes set. Correct dispatch to error pages with javax attributes set. - + fixed binary files in cvs fixed binary files in cvs fixed binary files in - cvs Fixed binary files in CVS + + fixed binary files in cvs fixed binary files in cvs fixed binary files fixed + binary files in cvs fixed binary files in cvs fixed binary files in cvs + Fixed binary files in CVS + fixed several problems with external role authentication. role fixed s fixed + several problems with external role authentication. role fixed s fixed several problems with external role authentication. role Fixed several problems with external role authentication. Role authentication in JBoss was not working correctly and there were possible object leaks. The fix required an API change to UserPrinciple and UserRealm. - + fixed virtual hosts to case insensitive. fixed virtual hosts to case fixed - virtual hosts to case insensitive. Fixed Virtual hosts to case insensitive. + + fixed virtual hosts to case insensitive. fixed virtual hosts to case f fixed + virtual hosts to case insensitive. fixed virtual hosts to case fixed virtual + hosts to case insensitive. Fixed Virtual hosts to case insensitive. + fix security problem with trailing special characters. trailing %00 en fix + security problem with trailing special characters. trailing %00 en fix security problem with trailing special characters. trailing %00 en Fix security problem with trailing special characters. Trailing %00 enabled JSP source to be viewed or other servlets to be bypassed. + improved form auth handling of role failure. improved form auth handli + improved form auth handling of role failure. improved form auth handli improved form auth handling of role failure. Improved FORM auth handling of role failure. - + improved jasper debug output. improved jasper debug output. improved jasper + + improved jasper debug output. improved jasper debug output. improved j + improved jasper debug output. improved jasper debug output. improved jasper debug output. Improved Jasper debug output. + improved threadedserver timeout defaults improved threadedserver timeo + improved threadedserver timeout defaults improved threadedserver timeo improved threadedserver timeout defaults Improved ThreadedServer timeout defaults + pathmap spec separator changed from ',' to ':'. may be set with pathma + pathmap spec separator changed from ',' to ':'. may be set with pathma pathmap spec separator changed from ',' to ':'. may be set with PathMap spec separator changed from ',' to ':'. May be set with org.mortbay.http.PathMap.separators system property. + upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 + upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 upgraded jsse to 1.0.2 Upgraded JSSE to 1.0.2 jetty-3.1.2 - 13 October 2001 - + added run target to ant added run target to ant added run target to ant - Added run target to ant + + added run target to ant added run target to ant added run target to an added + run target to ant added run target to ant added run target to ant Added run + target to ant + added servlethandler.sessioncount() added servlethandler.sessioncount( added + servlethandler.sessioncount() added servlethandler.sessioncount( added servlethandler.sessioncount() Added ServletHandler.sessionCount() - + added short delay to shutdown hook for jvm bug. added short delay to added - short delay to shutdown hook for jvm bug. Added short delay to shutdown hook - for JVM bug. + + added short delay to shutdown hook for jvm bug. added short delay to a added + short delay to shutdown hook for jvm bug. added short delay to added short + delay to shutdown hook for jvm bug. Added short delay to shutdown hook for + JVM bug. + changed 304 responses for opera browser. changed 304 responses for ope + changed 304 responses for opera browser. changed 304 responses for ope changed 304 responses for opera browser. Changed 304 responses for Opera browser. - + changed jsessionid to jsessionid changed jsessionid to jsessionid changed + + changed jsessionid to jsessionid changed jsessionid to jsessionid chan + changed jsessionid to jsessionid changed jsessionid to jsessionid changed jsessionid to jsessionid Changed JSESSIONID to jsessionid + changed unsatisfiable range warnings to debug. changed unsatisfiable r + changed unsatisfiable range warnings to debug. changed unsatisfiable r changed unsatisfiable range warnings to debug. Changed unsatisfiable range warnings to debug. - + fixed attr handling in xmlparser.tostring fixed attr handling in fixed attr + + fixed attr handling in xmlparser.tostring fixed attr handling in fixed fixed + attr handling in xmlparser.tostring fixed attr handling in fixed attr handling in xmlparser.tostring Fixed attr handling in XmlParser.toString + fixed authentication role handling in form auth. fixed authentication fixed + authentication role handling in form auth. fixed authentication fixed authentication role handling in form auth. Fixed authentication role handling in FORM auth. - + fixed double entry on pathmap.getmatches fixed double entry on fixed double - entry on pathmap.getmatches Fixed double entry on PathMap.getMatches + + fixed double entry on pathmap.getmatches fixed double entry on fixed d fixed + double entry on pathmap.getmatches fixed double entry on fixed double entry + on pathmap.getmatches Fixed double entry on PathMap.getMatches + fixed form authentication username. fixed form authentication username fixed - form authentication username. Fixed FORM Authentication username. + form authentication username. fixed form authentication username fixed form + authentication username. Fixed FORM Authentication username. + fixed notfoundhandler handling of unknown methods fixed notfoundhandle fixed + notfoundhandler handling of unknown methods fixed notfoundhandle fixed notfoundhandler handling of unknown methods Fixed NotFoundHandler handling of unknown methods - + fixed request log date formatting fixed request log date formatting fixed - request log date formatting Fixed request log date formatting + + fixed request log date formatting fixed request log date formatting fi fixed + request log date formatting fixed request log date formatting fixed request + log date formatting Fixed request log date formatting + fixed servlet handling of non session url params. fixed servlet handli fixed + servlet handling of non session url params. fixed servlet handli fixed servlet handling of non session url params. Fixed servlet handling of non session url params. + form authentication passes query params. form authentication passes qu form + authentication passes query params. form authentication passes qu form authentication passes query params. FORM authentication passes query params. + further improvements in handling of shutdown. further improvements in + further improvements in handling of shutdown. further improvements in further improvements in handling of shutdown. Further improvements in handling of shutdown. - + log ok state after thread low warnings. log ok state after thread low log ok + + log ok state after thread low warnings. log ok state after thread low log + ok state after thread low warnings. log ok state after thread low log ok state after thread low warnings. Log OK state after thread low warnings. jetty-3.1.1 - 27 September 2001 - + correctly ignore auth-constraint descriptions. correctly ignore correctly + + correctly ignore auth-constraint descriptions. correctly ignore correc + correctly ignore auth-constraint descriptions. correctly ignore correctly ignore auth-constraint descriptions. Correctly ignore auth-constraint descriptions. + fixed jar manifest format - patched 28 sep 2001 fixed jar manifest for fixed - jar manifest format - patched 28 sep 2001 Fixed jar manifest format - - patched 28 Sep 2001 - + fixed servletrequest.getlocale(). fixed servletrequest.getlocale(). fixed + jar manifest format - patched 28 sep 2001 fixed jar manifest for fixed jar + manifest format - patched 28 sep 2001 Fixed jar manifest format - patched 28 + Sep 2001 + + fixed servletrequest.getlocale(). fixed servletrequest.getlocale(). fi fixed + servletrequest.getlocale(). fixed servletrequest.getlocale(). fixed servletrequest.getlocale(). Fixed ServletRequest.getLocale(). - + handle requestdispatcher during init. handle requestdispatcher during - handle requestdispatcher during init. Handle requestdispatcher during init. + + handle requestdispatcher during init. handle requestdispatcher during handle + requestdispatcher during init. handle requestdispatcher during handle + requestdispatcher during init. Handle requestdispatcher during init. + reduced verbosity of bad url errors from iis virus attacks reduced ver + reduced verbosity of bad url errors from iis virus attacks reduced ver reduced verbosity of bad url errors from iis virus attacks Reduced verbosity of bad URL errors from IIS virus attacks + removed incorrect warning for web-inf/lib jar files. removed incorrect + removed incorrect warning for web-inf/lib jar files. removed incorrect removed incorrect warning for web-inf/lib jar files. Removed incorrect warning for WEB-INF/lib jar files. + removed jdk 1.3 dependancy removed jdk 1.3 dependancy removed jdk 1.3 + removed jdk 1.3 dependancy removed jdk 1.3 dependancy removed jdk 1.3 dependancy Removed JDK 1.3 dependancy + use lowercase tags in html package to be xhtml-like. use lowercase tag use + lowercase tags in html package to be xhtml-like. use lowercase tag use lowercase tags in html package to be xhtml-like. Use lowercase tags in html package to be XHTML-like. jetty-3.1.0 - 21 September 2001 - + added handlercontext.registerhost added handlercontext.registerhost added + + added handlercontext.registerhost added handlercontext.registerhost ad added + handlercontext.registerhost added handlercontext.registerhost added handlercontext.registerhost Added HandlerContext.registerHost + added long overdue tutorial documentation. added long overdue tutorial added - long overdue tutorial documentation. Added long overdue Tutorial - documentation. - + fix .. handling in uri fix .. handling in uri fix .. handling in uri Fix .. + long overdue tutorial documentation. added long overdue tutorial added long + overdue tutorial documentation. Added long overdue Tutorial documentation. + + fix .. handling in uri fix .. handling in uri fix .. handling in uri f fix + .. handling in uri fix .. handling in uri fix .. handling in uri Fix .. handling in URI - + fix flush on stop bug in logs. fix flush on stop bug in logs. fix flush on - stop bug in logs. Fix flush on stop bug in logs. + + fix flush on stop bug in logs. fix flush on stop bug in logs. fix flus fix + flush on stop bug in logs. fix flush on stop bug in logs. fix flush on stop + bug in logs. Fix flush on stop bug in logs. + fix form authentication on exact patterns fix form authentication on e fix - form authentication on exact patterns Fix FORM authentication on exact - patterns - + fix jetty.bat for spaces. fix jetty.bat for spaces. fix jetty.bat for - spaces. Fix Jetty.bat for spaces. - + fix param reading on cgi servlet fix param reading on cgi servlet fix param + form authentication on exact patterns fix form authentication on e fix form + authentication on exact patterns Fix FORM authentication on exact patterns + + fix jetty.bat for spaces. fix jetty.bat for spaces. fix jetty.bat for fix + jetty.bat for spaces. fix jetty.bat for spaces. fix jetty.bat for spaces. + Fix Jetty.bat for spaces. + + fix param reading on cgi servlet fix param reading on cgi servlet fix fix + param reading on cgi servlet fix param reading on cgi servlet fix param reading on cgi servlet Fix param reading on CGI servlet - + fix refferer in cgi fix refferer in cgi fix refferer in cgi Fix REFFERER in - CGI + + fix refferer in cgi fix refferer in cgi fix refferer in cgi fix reffer fix + refferer in cgi fix refferer in cgi fix refferer in cgi Fix REFFERER in CGI + fix resourcehandler cache invalidate. fix resourcehandler cache invali fix + resourcehandler cache invalidate. fix resourcehandler cache invali fix resourcehandler cache invalidate. Fix ResourceHandler cache invalidate. - + fix reuse of resource fix reuse of resource fix reuse of resource Fix reuse - of Resource - + fix servletresponse.setlocale() fix servletresponse.setlocale() fix + + fix reuse of resource fix reuse of resource fix reuse of resource fix fix + reuse of resource fix reuse of resource fix reuse of resource Fix reuse of + Resource + + fix servletresponse.setlocale() fix servletresponse.setlocale() fix fix + servletresponse.setlocale() fix servletresponse.setlocale() fix servletresponse.setlocale() Fix ServletResponse.setLocale() + improved closing of listeners. improved closing of listeners. improved + improved closing of listeners. improved closing of listeners. improved closing of listeners. Improved closing of listeners. + improved some other documentation. improved some other documentation. + improved some other documentation. improved some other documentation. improved some other documentation. Improved some other documentation. - + new simplified jetty.bat new simplified jetty.bat new simplified jetty.bat - New simplified jetty.bat - + optimized list creation optimized list creation optimized list creation + + new simplified jetty.bat new simplified jetty.bat new simplified jetty new + simplified jetty.bat new simplified jetty.bat new simplified jetty.bat New + simplified jetty.bat + + optimized list creation optimized list creation optimized list creatio + optimized list creation optimized list creation optimized list creation Optimized List creation - + removed win32 service.exe removed win32 service.exe removed win32 - service.exe Removed win32 service.exe + + removed win32 service.exe removed win32 service.exe removed win32 removed + win32 service.exe removed win32 service.exe removed win32 service.exe + Removed win32 service.exe jetty-3.1.rc9 - 02 September 2001 - + added bin/orgpackage.sh script to change package names. added added + + added bin/orgpackage.sh script to change package names. added added added + bin/orgpackage.sh script to change package names. added added bin/orgpackage.sh script to change package names. Added bin/orgPackage.sh script to change package names. - + added handlercontext.setclasspaths added handlercontext.setclasspaths added + + added handlercontext.setclasspaths added handlercontext.setclasspaths added + handlercontext.setclasspaths added handlercontext.setclasspaths added handlercontext.setclasspaths Added handlerContext.setClassPaths + added lowresourcepersisttimems for more graceful degradation when we r added + lowresourcepersisttimems for more graceful degradation when we r added lowresourcepersisttimems for more graceful degradation when we r Added lowResourcePersistTimeMs for more graceful degradation when we run out of threads. - + added support for nonblocking listener. added support for nonblocking added + + added support for nonblocking listener. added support for nonblocking added + support for nonblocking listener. added support for nonblocking added support for nonblocking listener. Added support for Nonblocking listener. + changed to org.mortbay domain names. changed to org.mortbay domain nam + changed to org.mortbay domain names. changed to org.mortbay domain nam changed to org.mortbay domain names. Changed to org.mortbay domain names. + fixed bug with non cookie sessions. fixed bug with non cookie sessions fixed - bug with non cookie sessions. Fixed bug with non cookie sessions. + bug with non cookie sessions. fixed bug with non cookie sessions fixed bug + with non cookie sessions. Fixed bug with non cookie sessions. + fixed handling of rel form authentication urls fixed handling of rel f fixed + handling of rel form authentication urls fixed handling of rel f fixed handling of rel form authentication urls Fixed handling of rel form authentication URLs - + format cookies in httpfields. format cookies in httpfields. format cookies + + format cookies in httpfields. format cookies in httpfields. format coo + format cookies in httpfields. format cookies in httpfields. format cookies in httpfields. Format cookies in HttpFields. + form auth login and error pages relative to context path. form auth lo form - auth login and error pages relative to context path. Form auth login and - error pages relative to context path. - + patched jasper to 3.2.3. patched jasper to 3.2.3. patched jasper to 3.2.3. + auth login and error pages relative to context path. form auth lo form auth + login and error pages relative to context path. Form auth login and error + pages relative to context path. + + patched jasper to 3.2.3. patched jasper to 3.2.3. patched jasper to 3. + patched jasper to 3.2.3. patched jasper to 3.2.3. patched jasper to 3.2.3. Patched Jasper to 3.2.3. jetty-3.1.rc8 - 22 August 2001 - + added httpserver statistics added httpserver statistics added httpserver + + added httpserver statistics added httpserver statistics added httpserv added + httpserver statistics added httpserver statistics added httpserver statistics Added HttpServer statistics + allow contextpaths without leading / allow contextpaths without leadin allow + contextpaths without leading / allow contextpaths without leadin allow contextpaths without leading / Allow contextpaths without leading / - + allow per context log files. allow per context log files. allow per context - log files. Allow per context log files. - + buffer allocation buffer allocation buffer allocation Buffer allocation - + don't add notfound context. don't add notfound context. don't add notfound + + allow per context log files. allow per context log files. allow per co allow + per context log files. allow per context log files. allow per context log + files. Allow per context log files. + + buffer allocation buffer allocation buffer allocation buffer allocatio + buffer allocation buffer allocation buffer allocation Buffer allocation + + don't add notfound context. don't add notfound context. don't add notf don't + add notfound context. don't add notfound context. don't add notfound context. Don't add notfound context. + fixed handling of default mime types fixed handling of default mime ty fixed + handling of default mime types fixed handling of default mime ty fixed handling of default mime types Fixed handling of default mime types - + iso8859 conversion iso8859 conversion iso8859 conversion ISO8859 conversion + + iso8859 conversion iso8859 conversion iso8859 conversion iso8859 conve + iso8859 conversion iso8859 conversion iso8859 conversion ISO8859 conversion + many major and minor optimizations: many major and minor optimizations many - major and minor optimizations: Many major and minor optimizations: + major and minor optimizations: many major and minor optimizations many major + and minor optimizations: Many major and minor optimizations: + outputstreamlogsink replaces writerlogsink outputstreamlogsink replace + outputstreamlogsink replaces writerlogsink outputstreamlogsink replace outputstreamlogsink replaces writerlogsink OutputStreamLogSink replaces WriterLogSink + removed race from dynamic servlet initialization. removed race from dy + removed race from dynamic servlet initialization. removed race from dy removed race from dynamic servlet initialization. Removed race from dynamic servlet initialization. - + separation of url params in httphandler api. separation of url params + + separation of url params in httphandler api. separation of url params + separation of url params in httphandler api. separation of url params separation of url params in httphandler api. Separation of URL params in HttpHandler API. - + stringmap stringmap stringmap StringMap + + stringmap stringmap stringmap stringmap stringmap stringmap stringmap + StringMap + support web-inf/web-jetty.xml configuration extension for webapps supp + support web-inf/web-jetty.xml configuration extension for webapps supp support web-inf/web-jetty.xml configuration extension for webapps Support WEB-INF/web-jetty.xml configuration extension for webapps - + updated sponsors page updated sponsors page updated sponsors page Updated + + updated sponsors page updated sponsors page updated sponsors page upda + updated sponsors page updated sponsors page updated sponsors page Updated sponsors page - + uri canonicalpath uri canonicalpath uri canonicalpath URI canonicalPath - + uri pathadd uri pathadd uri pathadd URI pathAdd + + uri canonicalpath uri canonicalpath uri canonicalpath uri canonicalpat uri + canonicalpath uri canonicalpath uri canonicalpath URI canonicalPath + + uri pathadd uri pathadd uri pathadd uri pathadd uri pathadd uri pathadd uri + pathadd URI pathAdd jetty-3.1.rc7 - 09 August 2001 - + added doco for linux port redirection. added doco for linux port added doco - for linux port redirection. Added doco for Linux port redirection. - + added form authentication. added form authentication. added form - authentication. Added FORM authentication. - + added method handling to htaccesshandler. added method handling to added - method handling to htaccesshandler. Added method handling to - HTAccessHandler. + + added doco for linux port redirection. added doco for linux port added added + doco for linux port redirection. added doco for linux port added doco for + linux port redirection. Added doco for Linux port redirection. + + added form authentication. added form authentication. added form added form + authentication. added form authentication. added form authentication. Added + FORM authentication. + + added method handling to htaccesshandler. added method handling to add added + method handling to htaccesshandler. added method handling to added method + handling to htaccesshandler. Added method handling to HTAccessHandler. + added shutdown hooks to jetty.server to trap ctl-c added shutdown hook added + shutdown hooks to jetty.server to trap ctl-c added shutdown hook added shutdown hooks to jetty.server to trap ctl-c Added shutdown hooks to Jetty.Server to trap Ctl-C + added uml diagrams to jetty architecture documentation. added uml diag added - uml diagrams to jetty architecture documentation. Added UML diagrams to - Jetty architecture documentation. + uml diagrams to jetty architecture documentation. added uml diag added uml + diagrams to jetty architecture documentation. Added UML diagrams to Jetty + architecture documentation. + added utility methods to servlethandler for wrapping req/res pairs. ad added + utility methods to servlethandler for wrapping req/res pairs. ad added utility methods to servlethandler for wrapping req/res pairs. Added utility methods to ServletHandler for wrapping req/res pairs. + don't persist connections if low on threads. don't persist connections don't + persist connections if low on threads. don't persist connections don't persist connections if low on threads. Don't persist connections if low on threads. - + dump servlet displays cert chains dump servlet displays cert chains dump - servlet displays cert chains Dump Servlet displays cert chains + + dump servlet displays cert chains dump servlet displays cert chains du dump + servlet displays cert chains dump servlet displays cert chains dump servlet + displays cert chains Dump Servlet displays cert chains + fix bug in sendredirect for http/1.1 fix bug in sendredirect for http/ fix - bug in sendredirect for http/1.1 Fix bug in sendRedirect for HTTP/1.1 + bug in sendredirect for http/1.1 fix bug in sendredirect for http/ fix bug + in sendredirect for http/1.1 Fix bug in sendRedirect for HTTP/1.1 + fixed bug with session id generation. fixed bug with session id genera fixed - bug with session id generation. Fixed bug with session ID generation. + bug with session id generation. fixed bug with session id genera fixed bug + with session id generation. Fixed bug with session ID generation. + fixed redirect handling by the cgi servlet. fixed redirect handling by fixed + redirect handling by the cgi servlet. fixed redirect handling by fixed redirect handling by the cgi servlet. Fixed redirect handling by the CGI Servlet. + fixed request.getport for redirections from 80 fixed request.getport f fixed + request.getport for redirections from 80 fixed request.getport f fixed request.getport for redirections from 80 Fixed request.getPort for redirections from 80 + optimized httpfield handling to reduce object creatiyon. optimized htt + optimized httpfield handling to reduce object creatiyon. optimized htt optimized httpfield handling to reduce object creatiyon. Optimized HttpField handling to reduce object creatiyon. + remove old context path specs remove old context path specs remove old + remove old context path specs remove old context path specs remove old context path specs Remove old context path specs + servletrequest ssl attributes in line with 2.2 and 2.3 specs. servletr + servletrequest ssl attributes in line with 2.2 and 2.3 specs. servletr servletrequest ssl attributes in line with 2.2 and 2.3 specs. ServletRequest SSL attributes in line with 2.2 and 2.3 specs. + servletresponse.sendredirect puts urls into absolute format. + servletresponse.sendredirect puts urls into absolute format. servletresponse.sendredirect puts urls into absolute format. ServletResponse.sendRedirect puts URLs into absolute format. + use enumerations to reduce conversions for servlet api. use enumeratio use + enumerations to reduce conversions for servlet api. use enumeratio use enumerations to reduce conversions for servlet api. Use Enumerations to reduce conversions for servlet API. jetty-3.1.rc6 - 10 July 2001 + added client authentication to the jsselistener added client authentic added + client authentication to the jsselistener added client authentic added client authentication to the jsselistener Added Client authentication to the JsseListener + added debug and logging config example to demo.xml added debug and log added - debug and logging config example to demo.xml Added debug and logging config + debug and logging config example to demo.xml added debug and log added debug + and logging config example to demo.xml Added debug and logging config example to demo.xml + added get element to the xmlconfiguration class. added get element to added - get element to the xmlconfiguration class. Added Get element to the + get element to the xmlconfiguration class. added get element to added get + element to the xmlconfiguration class. Added Get element to the XmlConfiguration class. + added getresource to handlecontext. added getresource to handlecontext added + getresource to handlecontext. added getresource to handlecontext added getresource to handlecontext. Added getResource to HandleContext. + added static calls to the xmlconfiguration class. added static calls t added + static calls to the xmlconfiguration class. added static calls t added static calls to the xmlconfiguration class. Added Static calls to the XmlConfiguration class. + avoid script vulnerability in error pages. avoid script vulnerability avoid + script vulnerability in error pages. avoid script vulnerability avoid script vulnerability in error pages. Avoid script vulnerability in error pages. + cleaned up destroy handling of listeners and contexts. cleaned up dest + cleaned up destroy handling of listeners and contexts. cleaned up dest cleaned up destroy handling of listeners and contexts. Cleaned up destroy handling of listeners and contexts. + cleaned up win32 service server creation. cleaned up win32 service ser + cleaned up win32 service server creation. cleaned up win32 service ser cleaned up win32 service server creation. Cleaned up Win32 Service server creation. - + close persistent http/1.0 connections on missing content-length close close + + close persistent http/1.0 connections on missing content-length close close + persistent http/1.0 connections on missing content-length close close persistent http/1.0 connections on missing content-length Close persistent HTTP/1.0 connections on missing Content-Length + fixed a problem with netscape and the acrobat plugin. fixed a problem fixed - a problem with netscape and the acrobat plugin. Fixed a problem with - Netscape and the acrobat plugin. + a problem with netscape and the acrobat plugin. fixed a problem fixed a + problem with netscape and the acrobat plugin. Fixed a problem with Netscape + and the acrobat plugin. + fixed bug in b64code. optimised b64code. fixed bug in b64code. optimis fixed - bug in b64code. optimised b64code. Fixed bug in B64Code. Optimised B64Code. + bug in b64code. optimised b64code. fixed bug in b64code. optimis fixed bug + in b64code. optimised b64code. Fixed bug in B64Code. Optimised B64Code. + fixed xmlparser to handle xerces1.3 ok fixed xmlparser to handle xerce fixed + xmlparser to handle xerces1.3 ok fixed xmlparser to handle xerce fixed xmlparser to handle xerces1.3 ok Fixed XmlParser to handle xerces1.3 OK - + improved debug output for ioexceptions. improved debug output for improved + + improved debug output for ioexceptions. improved debug output for impr + improved debug output for ioexceptions. improved debug output for improved debug output for ioexceptions. Improved debug output for IOExceptions. + improved ssl debugging information. improved ssl debugging information + improved ssl debugging information. improved ssl debugging information improved ssl debugging information. Improved SSL debugging information. + keypairtool can now load cert chains. keypairtool can now load cert ch + keypairtool can now load cert chains. keypairtool can now load cert ch keypairtool can now load cert chains. KeyPairTool can now load cert chains. + keypairtool is more robust to provider setup. keypairtool is more robu + keypairtool is more robust to provider setup. keypairtool is more robu keypairtool is more robust to provider setup. KeyPairTool is more robust to provider setup. + moved gimp image files to jetty3extra moved gimp image files to jetty3 moved - gimp image files to jetty3extra Moved gimp image files to Jetty3Extra + gimp image files to jetty3extra moved gimp image files to jetty3 moved gimp + image files to jetty3extra Moved gimp image files to Jetty3Extra + moved mime types and encodings to property bundles. moved mime types a moved - mime types and encodings to property bundles. Moved mime types and encodings - to property bundles. + mime types and encodings to property bundles. moved mime types a moved mime + types and encodings to property bundles. Moved mime types and encodings to + property bundles. + removed getconfiguration from lifecyclethread to avoid jmx clash. remo + removed getconfiguration from lifecyclethread to avoid jmx clash. remo removed getconfiguration from lifecyclethread to avoid jmx clash. Removed getConfiguration from LifeCycleThread to avoid JMX clash. + requestdispatch.forward() uses normal handlercontext.handle() path if + requestdispatch.forward() uses normal handlercontext.handle() path if requestdispatch.forward() uses normal handlercontext.handle() path if RequestDispatch.forward() uses normal HandlerContext.handle() path if possible. + updated to jsse-1.0.2, giving full strength crypto. updated to jsse-1. + updated to jsse-1.0.2, giving full strength crypto. updated to jsse-1. updated to jsse-1.0.2, giving full strength crypto. Updated to JSSE-1.0.2, giving full strength crypto. - + use exec for jetty.sh run use exec for jetty.sh run use exec for jetty.sh - run Use exec for jetty.sh run - + webapps initialize resourcebase before start. webapps initialize webapps + + use exec for jetty.sh run use exec for jetty.sh run use exec for jetty use + exec for jetty.sh run use exec for jetty.sh run use exec for jetty.sh run + Use exec for jetty.sh run + + webapps initialize resourcebase before start. webapps initialize webap + webapps initialize resourcebase before start. webapps initialize webapps initialize resourcebase before start. WebApps initialize resourceBase before start. + win32 service uses jetty.server instead of httpserver. win32 service u win32 + service uses jetty.server instead of httpserver. win32 service u win32 service uses jetty.server instead of httpserver. Win32 Service uses Jetty.Server instead of HttpServer. jetty-3.1.rc5 - 01 May 2001 + added build target for mini.jetty.jar - see readme. added build target added - build target for mini.jetty.jar - see readme. Added build target for + build target for mini.jetty.jar - see readme. added build target added build + target for mini.jetty.jar - see readme. Added build target for mini.jetty.jar - see README. + added htaccesshandler to authenitcate against apache .htaccess files. added + htaccesshandler to authenitcate against apache .htaccess files. added htaccesshandler to authenitcate against apache .htaccess files. Added HTaccessHandler to authenitcate against apache .htaccess files. + added query param handling to forwardhandler added query param handlin added - query param handling to forwardhandler Added query param handling to + query param handling to forwardhandler added query param handlin added query + param handling to forwardhandler Added query param handling to ForwardHandler - + added servlethandler().setusingcookies(). added added + + added servlethandler().setusingcookies(). added added added + servlethandler().setusingcookies(). added added servlethandler().setusingcookies(). Added ServletHandler().setUsingCookies(). - + added unixcrypt support to c.m.u.password added unixcrypt support to added + + added unixcrypt support to c.m.u.password added unixcrypt support to a added + unixcrypt support to c.m.u.password added unixcrypt support to added unixcrypt support to c.m.u.password Added UnixCrypt support to c.m.U.Password - + fixed eof handling in multipartrequest. fixed eof handling in fixed eof - handling in multipartrequest. Fixed EOF handling in MultiPartRequest. - + fixed forwarding to null pathinfo requests. fixed forwarding to null fixed + + fixed eof handling in multipartrequest. fixed eof handling in fixed eo fixed + eof handling in multipartrequest. fixed eof handling in fixed eof handling + in multipartrequest. Fixed EOF handling in MultiPartRequest. + + fixed forwarding to null pathinfo requests. fixed forwarding to null f fixed + forwarding to null pathinfo requests. fixed forwarding to null fixed forwarding to null pathinfo requests. Fixed forwarding to null pathInfo requests. + fixed handling of empty responses at header commit. fixed handling of fixed + handling of empty responses at header commit. fixed handling of fixed handling of empty responses at header commit. Fixed handling of empty responses at header commit. + fixed handling of multiple cookies. fixed handling of multiple cookies fixed + handling of multiple cookies. fixed handling of multiple cookies fixed handling of multiple cookies. Fixed handling of multiple cookies. + fixed jetty.bat classpath problems. fixed jetty.bat classpath problems fixed + jetty.bat classpath problems. fixed jetty.bat classpath problems fixed jetty.bat classpath problems. Fixed jetty.bat classpath problems. + fixed resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed + resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed resourcehandler handling of ;jsessionid Fixed ResourceHandler handling of ;JSESSIONID - + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fixed - sync of threadpool idleset. Fixed sync of ThreadPool idleSet. + + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fi fixed + sync of threadpool idleset. fixed sync of threadpool idleset. fixed sync of + threadpool idleset. Fixed sync of ThreadPool idleSet. + major restructing of packages to separate servlet dependancies. c.m.xm major + restructing of packages to separate servlet dependancies. c.m.xm major restructing of packages to separate servlet dependancies. c.m.xm Major restructing of packages to separate servlet dependancies. c.m.XML - moved XML dependant classes from c.m.Util c.m.HTTP - No servlet or XML dependant classes: c.m.Jetty.Servlet - moved from c.m.HTTP.Handler.Servlet c.m.Servlet - received some servlet dependant classes from HTTP. - + optimized canonical path calculations. optimized canonical path optimized + + optimized canonical path calculations. optimized canonical path optimi + optimized canonical path calculations. optimized canonical path optimized canonical path calculations. Optimized canonical path calculations. + request log contains bytes actually returned. request log contains byt + request log contains bytes actually returned. request log contains byt request log contains bytes actually returned. Request log contains bytes actually returned. + warn and close connections if content-length is incorrectly set. warn warn - and close connections if content-length is incorrectly set. Warn and close + and close connections if content-length is incorrectly set. warn warn and + close connections if content-length is incorrectly set. Warn and close connections if content-length is incorrectly set. jetty-3.0.6 - 26 April 2001 - + fixed eof handlding in multipartrequest. fixed eof handlding in fixed eof + + fixed eof handlding in multipartrequest. fixed eof handlding in fixed fixed + eof handlding in multipartrequest. fixed eof handlding in fixed eof handlding in multipartrequest. Fixed EOF handlding in MultiPartRequest. - + fixed forwarding to null pathinfo requests. fixed forwarding to null fixed + + fixed forwarding to null pathinfo requests. fixed forwarding to null f fixed + forwarding to null pathinfo requests. fixed forwarding to null fixed forwarding to null pathinfo requests. Fixed forwarding to null pathInfo requests. + fixed handling of empty responses at header commit. fixed handling of fixed + handling of empty responses at header commit. fixed handling of fixed handling of empty responses at header commit. Fixed handling of empty responses at header commit. + fixed resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed + resourcehandler handling of ;jsessionid fixed resourcehandler ha fixed resourcehandler handling of ;jsessionid Fixed ResourceHandler handling of ;JSESSIONID - + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fixed - sync of threadpool idleset. Fixed sync of ThreadPool idleSet. + + fixed sync of threadpool idleset. fixed sync of threadpool idleset. fi fixed + sync of threadpool idleset. fixed sync of threadpool idleset. fixed sync of + threadpool idleset. Fixed sync of ThreadPool idleSet. + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. load-on-startup the jspservlet so that precompiled servlets work. Load-on-startup the JspServlet so that precompiled servlets work. jetty-3.1.rc4 - 14 April 2001 - + added idle thread getter to threadpool. added idle thread getter to added - idle thread getter to threadpool. Added idle thread getter to ThreadPool. + + added idle thread getter to threadpool. added idle thread getter to ad added + idle thread getter to threadpool. added idle thread getter to added idle + thread getter to threadpool. Added idle thread getter to ThreadPool. + include full versions of jaxp and crimson include full versions of jax + include full versions of jaxp and crimson include full versions of jax include full versions of jaxp and crimson Include full versions of JAXP and Crimson + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. load-on-startup the jspservlet so that precompiled servlets work. Load-on-startup the JspServlet so that precompiled servlets work. + removed stray debug println from the frame class. removed stray debug + removed stray debug println from the frame class. removed stray debug removed stray debug println from the frame class. Removed stray debug println from the Frame class. jetty-3.0.5 - 14 April 2001 + branched from 3.1 trunk to fix major errors branched from 3.1 trunk to + branched from 3.1 trunk to fix major errors branched from 3.1 trunk to branched from 3.1 trunk to fix major errors Branched from 3.1 trunk to fix major errors - + created better random session id created better random session id created + + created better random session id created better random session id crea + created better random session id created better random session id created better random session id Created better random session ID + don't chunk if content length is known. don't chunk if content length don't - chunk if content length is known. Don't chunk if content length is known. + chunk if content length is known. don't chunk if content length don't chunk + if content length is known. Don't chunk if content length is known. + fixed getlocales handling of quality params fixed getlocales handling fixed + getlocales handling of quality params fixed getlocales handling fixed getlocales handling of quality params fixed getLocales handling of quality params - + fixed lineinput bug eof fixed lineinput bug eof fixed lineinput bug eof - Fixed LineInput bug EOF + + fixed lineinput bug eof fixed lineinput bug eof fixed lineinput bug eo fixed + lineinput bug eof fixed lineinput bug eof fixed lineinput bug eof Fixed + LineInput bug EOF + fixed session invalidation unbind notification to conform with spec fi fixed + session invalidation unbind notification to conform with spec fi fixed session invalidation unbind notification to conform with spec Fixed session invalidation unbind notification to conform with spec + improved flush ordering for forwarded requests. improved flush orderin + improved flush ordering for forwarded requests. improved flush orderin improved flush ordering for forwarded requests. Improved flush ordering for forwarded requests. + load-on-startup the jspservlet so that precompiled servlets work. + load-on-startup the jspservlet so that precompiled servlets work. load-on-startup the jspservlet so that precompiled servlets work. Load-on-startup the JspServlet so that precompiled servlets work. + resource handler strips url params like jsession. resource handler str + resource handler strips url params like jsession. resource handler str resource handler strips url params like jsession. Resource handler strips URL params like JSESSION. + turned off range handling by default until bugs resolved turned off ra + turned off range handling by default until bugs resolved turned off ra turned off range handling by default until bugs resolved Turned off range handling by default until bugs resolved jetty-3.1.rc3 - 09 April 2001 + added contenthandler observer to xmlparser. added contenthandler obser added + contenthandler observer to xmlparser. added contenthandler obser added contenthandler observer to xmlparser. Added ContentHandler Observer to XmlParser. + allow webapp xmlparser to be observed for ejb-ref tags etc. allow weba allow + webapp xmlparser to be observed for ejb-ref tags etc. allow weba allow webapp xmlparser to be observed for ejb-ref tags etc. Allow webapp XmlParser to be observed for ejb-ref tags etc. + cleaned up handling of exceptions thrown by servlets. cleaned up handl + cleaned up handling of exceptions thrown by servlets. cleaned up handl cleaned up handling of exceptions thrown by servlets. Cleaned up handling of exceptions thrown by servlets. - + created better random session id created better random session id created + + created better random session id created better random session id crea + created better random session id created better random session id created better random session id Created better random session ID - + frame handles more jit stacks. frame handles more jit stacks. frame handles - more jit stacks. Frame handles more JIT stacks. - + handle zero length posts handle zero length posts handle zero length posts + + frame handles more jit stacks. frame handles more jit stacks. frame ha frame + handles more jit stacks. frame handles more jit stacks. frame handles more + jit stacks. Frame handles more JIT stacks. + + handle zero length posts handle zero length posts handle zero length p + handle zero length posts handle zero length posts handle zero length posts Handle zero length POSTs + implemented multi-part ranges so that acrobat is happy. implemented + implemented multi-part ranges so that acrobat is happy. implemented implemented multi-part ranges so that acrobat is happy. Implemented multi-part ranges so that acrobat is happy. + improved flush ordering for forwarded requests. improved flush orderin + improved flush ordering for forwarded requests. improved flush orderin improved flush ordering for forwarded requests. Improved flush ordering for forwarded requests. - + improved threadpool stop handling improved threadpool stop handling improved + + improved threadpool stop handling improved threadpool stop handling im + improved threadpool stop handling improved threadpool stop handling improved threadpool stop handling Improved ThreadPool stop handling + simplified multipart response class. simplified multipart response cla + simplified multipart response class. simplified multipart response cla simplified multipart response class. Simplified multipart response class. - + start session scavenger if needed. start session scavenger if needed. start + + start session scavenger if needed. start session scavenger if needed. start + session scavenger if needed. start session scavenger if needed. start session scavenger if needed. Start session scavenger if needed. jetty-3.1.rc2 - 30 March 2001 - + added multiexception to throw multiple nested exceptions. added added + + added multiexception to throw multiple nested exceptions. added added added + multiexception to throw multiple nested exceptions. added added multiexception to throw multiple nested exceptions. Added MultiException to throw multiple nested exceptions. + added options to turn off ranges and chunking to support acrobat reque added + options to turn off ranges and chunking to support acrobat reque added options to turn off ranges and chunking to support acrobat reque added options to turn off ranges and chunking to support acrobat requests. + fixed getlocales handling of quality params fixed getlocales handling fixed + getlocales handling of quality params fixed getlocales handling fixed getlocales handling of quality params fixed getLocales handling of quality params - + fixed getparameter(name) handling for multiple values. fixed fixed + + fixed getparameter(name) handling for multiple values. fixed fixed fixed + getparameter(name) handling for multiple values. fixed fixed getparameter(name) handling for multiple values. fixed getParameter(name) handling for multiple values. - + improved handling of primitive classes in xmlconfig improved handling + + improved handling of primitive classes in xmlconfig improved handling + improved handling of primitive classes in xmlconfig improved handling improved handling of primitive classes in xmlconfig Improved handling of Primitive classes in XmlConfig - + improved logging of nested exceptions. improved logging of nested improved + + improved logging of nested exceptions. improved logging of nested impr + improved logging of nested exceptions. improved logging of nested improved logging of nested exceptions. Improved logging of nested exceptions. + lifecycle.start() may throw exception lifecycle.start() may throw exce + lifecycle.start() may throw exception lifecycle.start() may throw exce lifecycle.start() may throw exception Lifecycle.start() may throw Exception + only one instance of default mime map. only one instance of default mi only - one instance of default mime map. Only one instance of default MIME map. - + renamed getconnection to gethttpconnection renamed getconnection to renamed + one instance of default mime map. only one instance of default mi only one + instance of default mime map. Only one instance of default MIME map. + + renamed getconnection to gethttpconnection renamed getconnection to re + renamed getconnection to gethttpconnection renamed getconnection to renamed getconnection to gethttpconnection Renamed getConnection to getHttpConnection - + use reference jaxp1.1 for xml parsing.y use reference jaxp1.1 for xml use + + use reference jaxp1.1 for xml parsing.y use reference jaxp1.1 for xml use + reference jaxp1.1 for xml parsing.y use reference jaxp1.1 for xml use reference jaxp1.1 for xml parsing.y Use reference JAXP1.1 for XML parsing.y + version 1.1 of configuration dtd supports new objects. version 1.1 of + version 1.1 of configuration dtd supports new objects. version 1.1 of version 1.1 of configuration dtd supports new objects. Version 1.1 of configuration dtd supports New objects. jetty-3.1.rc1 - 18 March 2001 + added jetty documentation pages from jettywiki added jetty documentati added - jetty documentation pages from jettywiki Added Jetty documentation pages - from JettyWiki - + cleaned up build.xml script cleaned up build.xml script cleaned up build.xml + jetty documentation pages from jettywiki added jetty documentati added jetty + documentation pages from jettywiki Added Jetty documentation pages from + JettyWiki + + cleaned up build.xml script cleaned up build.xml script cleaned up bui + cleaned up build.xml script cleaned up build.xml script cleaned up build.xml script Cleaned up build.xml script - + fixed problem with servletcontext.getcontext(uri) fixed problem with fixed - problem with servletcontext.getcontext(uri) Fixed problem with + + fixed problem with servletcontext.getcontext(uri) fixed problem with f fixed + problem with servletcontext.getcontext(uri) fixed problem with fixed problem + with servletcontext.getcontext(uri) Fixed problem with ServletContext.getContext(uri) + minimal handling of servlet.log before initialization. minimal handlin + minimal handling of servlet.log before initialization. minimal handlin minimal handling of servlet.log before initialization. Minimal handling of Servlet.log before initialization. - + moved jmx and sasl handling to jetty3extra release moved jmx and sasl moved - jmx and sasl handling to jetty3extra release Moved JMX and SASL handling to + + moved jmx and sasl handling to jetty3extra release moved jmx and sasl moved + jmx and sasl handling to jetty3extra release moved jmx and sasl moved jmx + and sasl handling to jetty3extra release Moved JMX and SASL handling to Jetty3Extra release + resource handler strips url params like jsession. resource handler str + resource handler strips url params like jsession. resource handler str resource handler strips url params like jsession. Resource handler strips URL params like JSESSION. - + various ssl cleanups various ssl cleanups various ssl cleanups Various SSL + + various ssl cleanups various ssl cleanups various ssl cleanups various + various ssl cleanups various ssl cleanups various ssl cleanups Various SSL cleanups jetty-3.1.rc0 - 23 February 2001 - + added jmx management framework. added jmx management framework. added jmx + + added jmx management framework. added jmx management framework. added added + jmx management framework. added jmx management framework. added jmx management framework. Added JMX management framework. + changed getter and setter methods that did not conform to beans api. c + changed getter and setter methods that did not conform to beans api. c changed getter and setter methods that did not conform to beans api. Changed getter and setter methods that did not conform to beans API. + dynamic servlets may be restricted to context classloader. dynamic ser + dynamic servlets may be restricted to context classloader. dynamic ser dynamic servlets may be restricted to context classloader. Dynamic servlets may be restricted to Context classloader. - + fixed init order for unnamed servlets. fixed init order for unnamed fixed - init order for unnamed servlets. Fixed init order for unnamed servlets. + + fixed init order for unnamed servlets. fixed init order for unnamed fi fixed + init order for unnamed servlets. fixed init order for unnamed fixed init + order for unnamed servlets. Fixed init order for unnamed servlets. + fixed session invalidation unbind notification to conform with spec fi fixed + session invalidation unbind notification to conform with spec fi fixed session invalidation unbind notification to conform with spec Fixed session invalidation unbind notification to conform with spec - + improved handling of primitives in utilities. improved handling of improved + + improved handling of primitives in utilities. improved handling of imp + improved handling of primitives in utilities. improved handling of improved handling of primitives in utilities. Improved handling of primitives in utilities. + improved inetaddrport and threadedserver to reduce dns lookups. improv + improved inetaddrport and threadedserver to reduce dns lookups. improv improved inetaddrport and threadedserver to reduce dns lookups. Improved InetAddrPort and ThreadedServer to reduce DNS lookups. + reoganized packages to allowed sealed jars reoganized packages to allo + reoganized packages to allowed sealed jars reoganized packages to allo reoganized packages to allowed sealed jars Reoganized packages to allowed sealed Jars - + socket made available via httpconnection. socket made available via socket + + socket made available via httpconnection. socket made available via so + socket made available via httpconnection. socket made available via socket made available via httpconnection. Socket made available via HttpConnection. + use thread context classloader as default context loader parent. use t use + thread context classloader as default context loader parent. use t use thread context classloader as default context loader parent. Use Thread context classloader as default context loader parent. jetty-3.0.4 - 23 February 2001 + fixed lineinput bug with split crlf. fixed lineinput bug with split cr fixed + lineinput bug with split crlf. fixed lineinput bug with split cr fixed lineinput bug with split crlf. Fixed LineInput bug with split CRLF. jetty-3.0.3 - 03 February 2001 + allow log to be disabled before initialization. allow log to be disabl allow - log to be disabled before initialization. Allow Log to be disabled before + log to be disabled before initialization. allow log to be disabl allow log + to be disabled before initialization. Allow Log to be disabled before initialization. - + fixed handling of directories without trailing / fixed handling of fixed - handling of directories without trailing / Fixed handling of directories - without trailing / + + fixed handling of directories without trailing / fixed handling of fix fixed + handling of directories without trailing / fixed handling of fixed handling + of directories without trailing / Fixed handling of directories without + trailing / + fixed pipelined request buffer bug. fixed pipelined request buffer bug fixed + pipelined request buffer bug. fixed pipelined request buffer bug fixed pipelined request buffer bug. Fixed pipelined request buffer bug. + handle empty form content without exception. handle empty form content + handle empty form content without exception. handle empty form content handle empty form content without exception. Handle empty form content without exception. + implemented web.xml servlet mapping to a jsp implemented web.xml servl + implemented web.xml servlet mapping to a jsp implemented web.xml servl implemented web.xml servlet mapping to a jsp Implemented web.xml servlet mapping to a JSP - + included new jetty logo included new jetty logo included new jetty logo + + included new jetty logo included new jetty logo included new jetty log + included new jetty logo included new jetty logo included new jetty logo Included new Jetty Logo jetty-3.0.2 - 13 January 2001 + added etc/jetty.policy as example policy file. added etc/jetty.policy added + etc/jetty.policy as example policy file. added etc/jetty.policy added etc/jetty.policy as example policy file. Added etc/jetty.policy as example policy file. + allow '+' in path portion of a url. allow '+' in path portion of a url allow - '+' in path portion of a url. Allow '+' in path portion of a URL. - + context specific security permissions. context specific security context + '+' in path portion of a url. allow '+' in path portion of a url allow '+' + in path portion of a url. Allow '+' in path portion of a URL. + + context specific security permissions. context specific security conte + context specific security permissions. context specific security context specific security permissions. Context specific security permissions. - + greatly improved buffering in chunkableoutputstream greatly improved greatly + + greatly improved buffering in chunkableoutputstream greatly improved g + greatly improved buffering in chunkableoutputstream greatly improved greatly improved buffering in chunkableoutputstream Greatly improved buffering in ChunkableOutputStream + handle unknown status reasons in httpresponse handle unknown status re + handle unknown status reasons in httpresponse handle unknown status re handle unknown status reasons in httpresponse Handle unknown status reasons in HttpResponse + ignore included response updates rather than illegalstateexception ign + ignore included response updates rather than illegalstateexception ign ignore included response updates rather than illegalstateexception Ignore included response updates rather than IllegalStateException + improved html.block efficiency improved html.block efficiency improved + improved html.block efficiency improved html.block efficiency improved html.block efficiency Improved HTML.Block efficiency - + improved jetty.bat improved jetty.bat improved jetty.bat Improved jetty.bat - + improved jetty.sh improved jetty.sh improved jetty.sh Improved jetty.sh - + padded error bodies for ie bug. padded error bodies for ie bug. padded error + + improved jetty.bat improved jetty.bat improved jetty.bat improved jett + improved jetty.bat improved jetty.bat improved jetty.bat Improved jetty.bat + + improved jetty.sh improved jetty.sh improved jetty.sh improved jetty.s + improved jetty.sh improved jetty.sh improved jetty.sh Improved jetty.sh + + padded error bodies for ie bug. padded error bodies for ie bug. padded + padded error bodies for ie bug. padded error bodies for ie bug. padded error bodies for ie bug. Padded error bodies for IE bug. + removed classloading stats which were causing circular class loading r + removed classloading stats which were causing circular class loading r removed classloading stats which were causing circular class loading Removed classloading stats which were causing circular class loading problems. + replaced resourcehandler fifo cache with lru cache. replaced resourceh + replaced resourcehandler fifo cache with lru cache. replaced resourceh replaced resourcehandler fifo cache with lru cache. Replaced ResourceHandler FIFO cache with LRU cache. - + restructured demo site pages. restructured demo site pages. restructured + + restructured demo site pages. restructured demo site pages. restructur + restructured demo site pages. restructured demo site pages. restructured demo site pages. Restructured demo site pages. + try iso8859_1 encoding if can't find iso-8859-1 try iso8859_1 encoding try + iso8859_1 encoding if can't find iso-8859-1 try iso8859_1 encoding try iso8859_1 encoding if can't find iso-8859-1 Try ISO8859_1 encoding if can't find ISO-8859-1 jetty-3.0.1 - 20 December 2000 + fixed value unbind notification for session invalidation. fixed value fixed - value unbind notification for session invalidation. Fixed value unbind + value unbind notification for session invalidation. fixed value fixed value + unbind notification for session invalidation. Fixed value unbind notification for session invalidation. + removed double null check possibility from servletholder removed doubl + removed double null check possibility from servletholder removed doubl removed double null check possibility from servletholder Removed double null check possibility from ServletHolder jetty-3.0.0 - 17 December 2000 + fixed rel path handling in default configurations. fixed rel path hand fixed - rel path handling in default configurations. Fixed rel path handling in - default configurations. + rel path handling in default configurations. fixed rel path hand fixed rel + path handling in default configurations. Fixed rel path handling in default + configurations. + fixed rollover bug in writerlogsink fixed rollover bug in writerlogsin fixed + rollover bug in writerlogsink fixed rollover bug in writerlogsin fixed rollover bug in writerlogsink Fixed rollover bug in WriterLogSink - + fixed taglib parsing fixed taglib parsing fixed taglib parsing Fixed taglib + + fixed taglib parsing fixed taglib parsing fixed taglib parsing fixed t fixed + taglib parsing fixed taglib parsing fixed taglib parsing Fixed taglib parsing - + fixed writerlogsink init bug fixed writerlogsink init bug fixed - writerlogsink init bug Fixed WriterLogSink init bug + + fixed writerlogsink init bug fixed writerlogsink init bug fixed fixed + writerlogsink init bug fixed writerlogsink init bug fixed writerlogsink init + bug Fixed WriterLogSink init bug + improved dtd resolution in xml parser. improved dtd resolution in xml + improved dtd resolution in xml parser. improved dtd resolution in xml improved dtd resolution in xml parser. Improved dtd resolution in XML parser. + improved jetty.sh logging improved jetty.sh logging improved jetty.sh + improved jetty.sh logging improved jetty.sh logging improved jetty.sh logging Improved jetty.sh logging - + optional extract war files. optional extract war files. optional extract war + + optional extract war files. optional extract war files. optional extra + optional extract war files. optional extract war files. optional extract war files. Optional extract war files. + use inner class to avoid double null check sync problems use inner cla use - inner class to avoid double null check sync problems Use inner class to - avoid double null check sync problems + inner class to avoid double null check sync problems use inner cla use inner + class to avoid double null check sync problems Use inner class to avoid + double null check sync problems jetty-3.0.0.rc8 - 13 December 2000 - + added forwardhandler added forwardhandler added forwardhandler Added + + added forwardhandler added forwardhandler added forwardhandler added added + forwardhandler added forwardhandler added forwardhandler Added ForwardHandler - + change pathmap handling of /* to give precedence over suffix mapping. - change pathmap handling of /* to give precedence over suffix mapping. Change + + change pathmap handling of /* to give precedence over suffix mapping. change + pathmap handling of /* to give precedence over suffix mapping. change + pathmap handling of /* to give precedence over suffix mapping. Change PathMap handling of /* to give precedence over suffix mapping. + default log options changed if in debug mode. default log options chan + default log options changed if in debug mode. default log options chan default log options changed if in debug mode. Default log options changed if in debug mode. + forward to welcome pages rather than redirect. forward to welcome page + forward to welcome pages rather than redirect. forward to welcome page forward to welcome pages rather than redirect. Forward to welcome pages rather than redirect. + getsecurityhandler creates handler at position 0. getsecurityhandler c + getsecurityhandler creates handler at position 0. getsecurityhandler c getsecurityhandler creates handler at position 0. getSecurityHandler creates handler at position 0. - + improved exit admin handling improved exit admin handling improved exit + + improved exit admin handling improved exit admin handling improved exi + improved exit admin handling improved exit admin handling improved exit admin handling Improved exit admin handling + jetty.server catches init exceptions per server jetty.server catches i + jetty.server catches init exceptions per server jetty.server catches i jetty.server catches init exceptions per server Jetty.Server catches init exceptions per server - + mapped *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp mapped mapped + + mapped *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp mapped mapped mapped + *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp mapped mapped + *.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp,*.jsp Mapped *.jsp,*.jsP,*.jSp,*.jSP,*.Jsp,*.JsP,*.JSp,*.JSP + optional alias checking added to fileresource. turned on by default o + optional alias checking added to fileresource. turned on by default o optional alias checking added to fileresource. turned on by default o Optional alias checking added to FileResource. Turned on by default on all platforms without the "/" file separator. - + patched jasper to tomcat 3.2.1 patched jasper to tomcat 3.2.1 patched jasper + + patched jasper to tomcat 3.2.1 patched jasper to tomcat 3.2.1 patched + patched jasper to tomcat 3.2.1 patched jasper to tomcat 3.2.1 patched jasper to tomcat 3.2.1 Patched jasper to tomcat 3.2.1 + protected meta-inf as well as web-inf in web applications. protected + protected meta-inf as well as web-inf in web applications. protected protected meta-inf as well as web-inf in web applications. Protected META-INF as well as WEB-INF in web applications. - + removed security constraint on demo admin server. removed security removed + + removed security constraint on demo admin server. removed security rem + removed security constraint on demo admin server. removed security removed security constraint on demo admin server. Removed security constraint on demo admin server. - + removed some unused variables. removed some unused variables. removed some + + removed some unused variables. removed some unused variables. removed + removed some unused variables. removed some unused variables. removed some unused variables. Removed some unused variables. + removed special characters from source. removed special characters fro + removed special characters from source. removed special characters fro removed special characters from source. Removed special characters from source. - + sysv unix init script sysv unix init script sysv unix init script SysV unix - init script + + sysv unix init script sysv unix init script sysv unix init script sysv sysv + unix init script sysv unix init script sysv unix init script SysV unix init + script + tidied handling of ".", ".." and "//" in resource paths tidied handlin + tidied handling of ".", ".." and "//" in resource paths tidied handlin tidied handling of ".", ".." and "//" in resource paths Tidied handling of ".", ".." and "//" in resource paths jetty-3.0.0.rc7 - 02 December 2000 + added com.mortbay.http.handler.servlet.context.logsink attribute to se added + com.mortbay.http.handler.servlet.context.logsink attribute to se added com.mortbay.http.handler.servlet.context.logsink attribute to se Added Com.mortbay.HTTP.Handler.Servlet.Context.LogSink attribute to Servlet Context. If set, it is used in preference to the system log. - + added notfoundservlet added notfoundservlet added notfoundservlet Added + + added notfoundservlet added notfoundservlet added notfoundservlet adde added + notfoundservlet added notfoundservlet added notfoundservlet Added NotFoundServlet - + added range handling to resourcehandler. added range handling to added range + + added range handling to resourcehandler. added range handling to added added + range handling to resourcehandler. added range handling to added range handling to resourcehandler. Added range handling to ResourceHandler. + allow dynamic servlets to be served from / allow dynamic servlets to b allow + dynamic servlets to be served from / allow dynamic servlets to b allow dynamic servlets to be served from / Allow dynamic servlets to be served from / + auto add a notfoundhandler if needed. auto add a notfoundhandler if ne auto - add a notfoundhandler if needed. Auto add a NotFoundHandler if needed. + add a notfoundhandler if needed. auto add a notfoundhandler if ne auto add a + notfoundhandler if needed. Auto add a NotFoundHandler if needed. + cgi servlet handles not found better. cgi servlet handles not found be cgi + servlet handles not found better. cgi servlet handles not found be cgi servlet handles not found better. CGI servlet handles not found better. + changed log options to less verbose defaults. changed log options to l + changed log options to less verbose defaults. changed log options to l changed log options to less verbose defaults. Changed log options to less verbose defaults. + conditionals apply to puts, dels and moves in resourcehandler. conditi + conditionals apply to puts, dels and moves in resourcehandler. conditi conditionals apply to puts, dels and moves in resourcehandler. Conditionals apply to puts, dels and moves in ResourceHandler. + depreciated rolloverlogsink and moved functionality to an improved + depreciated rolloverlogsink and moved functionality to an improved depreciated rolloverlogsink and moved functionality to an improved Depreciated RollOverLogSink and moved functionality to an improved WriterLogSink. + don't set mime-version in response. don't set mime-version in response don't - set mime-version in response. Don't set MIME-Version in response. + set mime-version in response. don't set mime-version in response don't set + mime-version in response. Don't set MIME-Version in response. + double null lock checks use threadpool.__nulllockchecks. double null l + double null lock checks use threadpool.__nulllockchecks. double null l double null lock checks use threadpool.__nulllockchecks. Double null lock checks use ThreadPool.__nullLockChecks. + extended security constraints (see readme and webapp demo). extended + extended security constraints (see readme and webapp demo). extended extended security constraints (see readme and webapp demo). Extended security constraints (see README and WebApp Demo). - + fixed security problem with lowercase web-inf uris on windows. fixed fixed + + fixed security problem with lowercase web-inf uris on windows. fixed f fixed + security problem with lowercase web-inf uris on windows. fixed fixed security problem with lowercase web-inf uris on windows. Fixed security problem with lowercase WEB-INF uris on windows. - + handle multiple inits of same servlet class. handle multiple inits of - handle multiple inits of same servlet class. Handle multiple inits of same - servlet class. + + handle multiple inits of same servlet class. handle multiple inits of handle + multiple inits of same servlet class. handle multiple inits of handle + multiple inits of same servlet class. Handle multiple inits of same servlet + class. + put, move disabled in webapplication unless defaults file is passed. p put, - move disabled in webapplication unless defaults file is passed. PUT, MOVE + move disabled in webapplication unless defaults file is passed. p put, move + disabled in webapplication unless defaults file is passed. PUT, MOVE disabled in WebApplication unless defaults file is passed. - + set the acceptranges header. set the acceptranges header. set the - acceptranges header. Set the AcceptRanges header. + + set the acceptranges header. set the acceptranges header. set the set the + acceptranges header. set the acceptranges header. set the acceptranges + header. Set the AcceptRanges header. + set thread context classloader during handler start/stop calls. set th set + thread context classloader during handler start/stop calls. set th set thread context classloader during handler start/stop calls. Set thread context classloader during handler start/stop calls. + split debug servlet out of admin servlet. split debug servlet out of a split - debug servlet out of admin servlet. Split Debug servlet out of Admin - Servlet. + debug servlet out of admin servlet. split debug servlet out of a split debug + servlet out of admin servlet. Split Debug servlet out of Admin Servlet. + threadedserver.forcestop() now makes a connection to itself to handle + threadedserver.forcestop() now makes a connection to itself to handle threadedserver.forcestop() now makes a connection to itself to handle ThreadedServer.forceStop() now makes a connection to itself to handle non-premptive close. - + uris accept all characters < 0xff. uris accept all characters < 0xff. uris - accept all characters < 0xff. URIs accept all characters < 0xff. + + uris accept all characters < 0xff. uris accept all characters < 0xff. uris + accept all characters < 0xff. uris accept all characters < 0xff. uris accept + all characters < 0xff. URIs accept all characters < 0xff. + web-inf protected by notfoundservlet rather than security constraint. + web-inf protected by notfoundservlet rather than security constraint. web-inf protected by notfoundservlet rather than security constraint. WEB-INF protected by NotFoundServlet rather than security constraint. jetty-3.0.0.rc6 - 20 November 2000 + added servletwriter that can be disabled. added servletwriter that can added + servletwriter that can be disabled. added servletwriter that can added servletwriter that can be disabled. Added ServletWriter that can be disabled. - + added win32 service support added win32 service support added win32 service + + added win32 service support added win32 service support added win32 se added + win32 service support added win32 service support added win32 service support Added Win32 service support + admin servlet uses unique links for ie. admin servlet uses unique link admin + servlet uses unique links for ie. admin servlet uses unique link admin servlet uses unique links for ie. Admin servlet uses unique links for IE. + allow httpmessage state to be manipulated. allow httpmessage state to allow + httpmessage state to be manipulated. allow httpmessage state to allow httpmessage state to be manipulated. Allow HttpMessage state to be manipulated. - + allow load-on-startup with no content. allow load-on-startup with no allow + + allow load-on-startup with no content. allow load-on-startup with no a allow + load-on-startup with no content. allow load-on-startup with no allow load-on-startup with no content. Allow load-on-startup with no content. - + allow multiple set cookies. allow multiple set cookies. allow multiple set + + allow multiple set cookies. allow multiple set cookies. allow multiple allow + multiple set cookies. allow multiple set cookies. allow multiple set cookies. Allow multiple set cookies. - + corrected a few of the many spelling mistakes. corrected a few of the + + corrected a few of the many spelling mistakes. corrected a few of the + corrected a few of the many spelling mistakes. corrected a few of the corrected a few of the many spelling mistakes. Corrected a few of the many spelling mistakes. - + don't include classes in release. don't include classes in release. don't - include classes in release. don't include classes in release. - + don't set connection:close for normal http/1.0 responses. don't set don't - set connection:close for normal http/1.0 responses. Don't set - connection:close for normal HTTP/1.0 responses. + + don't include classes in release. don't include classes in release. do don't + include classes in release. don't include classes in release. don't include + classes in release. don't include classes in release. + + don't set connection:close for normal http/1.0 responses. don't set do don't + set connection:close for normal http/1.0 responses. don't set don't set + connection:close for normal http/1.0 responses. Don't set connection:close + for normal HTTP/1.0 responses. + don't start httpserver log sink on add. don't start httpserver log sin don't - start httpserver log sink on add. Don't start HttpServer log sink on add. - + fixed rolloverfilelogsink bug with extra log files. fixed fixed + start httpserver log sink on add. don't start httpserver log sin don't start + httpserver log sink on add. Don't start HttpServer log sink on add. + + fixed rolloverfilelogsink bug with extra log files. fixed fixed fixed + rolloverfilelogsink bug with extra log files. fixed fixed rolloverfilelogsink bug with extra log files. Fixed RollOverFileLogSink bug with extra log files. + implemented customizable error pages. implemented customizable error p + implemented customizable error pages. implemented customizable error p implemented customizable error pages. Implemented customizable error pages. + implemented resource aliases in handlercontext - used by servlet conte + implemented resource aliases in handlercontext - used by servlet conte implemented resource aliases in handlercontext - used by servlet conte Implemented resource aliases in HandlerContext - used by Servlet Context - + improved log defaults improved log defaults improved log defaults Improved + + improved log defaults improved log defaults improved log defaults impr + improved log defaults improved log defaults improved log defaults Improved Log defaults - + javadoc improvements. javadoc improvements. javadoc improvements. Javadoc + + javadoc improvements. javadoc improvements. javadoc improvements. java + javadoc improvements. javadoc improvements. javadoc improvements. Javadoc improvements. + map tablib configuration to resource aliases. map tablib configuration map + tablib configuration to resource aliases. map tablib configuration map tablib configuration to resource aliases. Map tablib configuration to resource aliases. + prevent reloading dynamic servlets at different paths. prevent reloadi + prevent reloading dynamic servlets at different paths. prevent reloadi prevent reloading dynamic servlets at different paths. Prevent reloading dynamic servlets at different paths. + put extra server and servlet info in header. put extra server and serv put - extra server and servlet info in header. Put extra server and servlet info - in header. + extra server and servlet info in header. put extra server and serv put extra + server and servlet info in header. Put extra server and servlet info in + header. + reduced risk of double null check sync problem. reduced risk of double + reduced risk of double null check sync problem. reduced risk of double reduced risk of double null check sync problem. Reduced risk of double null check sync problem. + requestdispatcher.forward() only resets buffer, not headers. + requestdispatcher.forward() only resets buffer, not headers. requestdispatcher.forward() only resets buffer, not headers. RequestDispatcher.forward() only resets buffer, not headers. + requestdispatcher new queries params replace old. requestdispatcher ne + requestdispatcher new queries params replace old. requestdispatcher ne requestdispatcher new queries params replace old. RequestDispatcher new queries params replace old. + resource gets systemresources from it's own classloader. resource gets + resource gets systemresources from it's own classloader. resource gets resource gets systemresources from it's own classloader. Resource gets systemresources from it's own classloader. + servlet init order may be negative. servlet init order may be negative + servlet init order may be negative. servlet init order may be negative servlet init order may be negative. Servlet init order may be negative. + session cookies are given context path session cookies are given conte + session cookies are given context path session cookies are given conte session cookies are given context path Session cookies are given context path + sessions try version 1 cookies in set-cookie2 header. sessions try ver + sessions try version 1 cookies in set-cookie2 header. sessions try ver sessions try version 1 cookies in set-cookie2 header. Sessions try version 1 cookies in set-cookie2 header. - + simple stats in contextloader. simple stats in contextloader. simple stats + + simple stats in contextloader. simple stats in contextloader. simple s + simple stats in contextloader. simple stats in contextloader. simple stats in contextloader. Simple stats in ContextLoader. + version details in header can be suppressed with system property versi + version details in header can be suppressed with system property versi version details in header can be suppressed with system property Version details in header can be suppressed with System property java.com.mortbay.HTTP.Version.paranoid + warn for missing web-inf or web.xml warn for missing web-inf or web.xm warn - for missing web-inf or web.xml Warn for missing WEB-INF or web.xml + for missing web-inf or web.xml warn for missing web-inf or web.xm warn for + missing web-inf or web.xml Warn for missing WEB-INF or web.xml + webapps serve dynamics servlets by default. webapps serve dynamics ser + webapps serve dynamics servlets by default. webapps serve dynamics ser webapps serve dynamics servlets by default. Webapps serve dynamics servlets by default. jetty-3.0.0.rc5 - 12 November 2000 - + added debug form to admin servlet. added debug form to admin servlet. added - debug form to admin servlet. Added debug form to Admin servlet. - + allow null cookie values allow null cookie values allow null cookie values - Allow null cookie values - + avoid jprobe race warnings in datecache avoid jprobe race warnings in avoid - jprobe race warnings in datecache Avoid jprobe race warnings in DateCache + + added debug form to admin servlet. added debug form to admin servlet. added + debug form to admin servlet. added debug form to admin servlet. added debug + form to admin servlet. Added debug form to Admin servlet. + + allow null cookie values allow null cookie values allow null cookie va allow + null cookie values allow null cookie values allow null cookie values Allow + null cookie values + + avoid jprobe race warnings in datecache avoid jprobe race warnings in avoid + jprobe race warnings in datecache avoid jprobe race warnings in avoid jprobe + race warnings in datecache Avoid jprobe race warnings in DateCache + default writer encoding set by mime type if not explicitly set. defaul + default writer encoding set by mime type if not explicitly set. defaul default writer encoding set by mime type if not explicitly set. Default writer encoding set by mime type if not explicitly set. + implemented servlet load ordering. implemented servlet load ordering. + implemented servlet load ordering. implemented servlet load ordering. implemented servlet load ordering. Implemented servlet load ordering. - + many javadoc cleanups. many javadoc cleanups. many javadoc cleanups. Many - javadoc cleanups. - + merged dynamichandler into servlethandler. merged dynamichandler into merged + + many javadoc cleanups. many javadoc cleanups. many javadoc cleanups. m many + javadoc cleanups. many javadoc cleanups. many javadoc cleanups. Many javadoc + cleanups. + + merged dynamichandler into servlethandler. merged dynamichandler into + merged dynamichandler into servlethandler. merged dynamichandler into merged dynamichandler into servlethandler. Merged DynamicHandler into ServletHandler. - + moved jsp classpath hack to servletholder moved jsp classpath hack to moved - jsp classpath hack to servletholder Moved JSP classpath hack to - ServletHolder - + pass flush through servletout pass flush through servletout pass flush - through servletout Pass flush through ServletOut + + moved jsp classpath hack to servletholder moved jsp classpath hack to moved + jsp classpath hack to servletholder moved jsp classpath hack to moved jsp + classpath hack to servletholder Moved JSP classpath hack to ServletHolder + + pass flush through servletout pass flush through servletout pass flush pass + flush through servletout pass flush through servletout pass flush through + servletout Pass flush through ServletOut + relax webapp rules, accept no web.xml or no web-inf relax webapp rules relax + webapp rules, accept no web.xml or no web-inf relax webapp rules relax webapp rules, accept no web.xml or no web-inf Relax webapp rules, accept no web.xml or no WEB-INF + removed makefile build system. removed makefile build system. removed + removed makefile build system. removed makefile build system. removed makefile build system. Removed Makefile build system. + requestdispatcher can dispatch static resources. requestdispatcher can + requestdispatcher can dispatch static resources. requestdispatcher can requestdispatcher can dispatch static resources. RequestDispatcher can dispatch static resources. + servlet exceptions cause 503 unavailable rather than 500 server error + servlet exceptions cause 503 unavailable rather than 500 server error servlet exceptions cause 503 unavailable rather than 500 server error Servlet exceptions cause 503 unavailable rather than 500 server error jetty-2.4.9 - 12 November 2000 + htmlfilter handles non default encodings htmlfilter handles non defaul + htmlfilter handles non default encodings htmlfilter handles non defaul htmlfilter handles non default encodings HtmlFilter handles non default encodings + httplistener default max idle time = 20s httplistener default max idle + httplistener default max idle time = 20s httplistener default max idle httplistener default max idle time = 20s HttpListener default max idle time = 20s - + httplistener ignore interruptedioexceptions httplistener ignore httplistener + + httplistener ignore interruptedioexceptions httplistener ignore httpli + httplistener ignore interruptedioexceptions httplistener ignore httplistener ignore interruptedioexceptions HttpListener ignore InterruptedIOExceptions + httprequest.write uses iso8859_1 encoding. httprequest.write uses iso8 + httprequest.write uses iso8859_1 encoding. httprequest.write uses iso8 httprequest.write uses iso8859_1 encoding. HttpRequest.write uses ISO8859_1 encoding. - + writing httprequests encodes path writing httprequests encodes path writing + + writing httprequests encodes path writing httprequests encodes path wr + writing httprequests encodes path writing httprequests encodes path writing httprequests encodes path Writing HttpRequests encodes path jetty-3.0.0.rc4 - 06 November 2000 + fixed mime type mapping bug introduced in rc3 fixed mime type mapping fixed - mime type mapping bug introduced in rc3 Fixed mime type mapping bug - introduced in RC3 + mime type mapping bug introduced in rc3 fixed mime type mapping fixed mime + type mapping bug introduced in rc3 Fixed mime type mapping bug introduced in + RC3 + fixed mis-synchronization in threadpool.stop() fixed mis-synchronizati fixed + mis-synchronization in threadpool.stop() fixed mis-synchronizati fixed mis-synchronization in threadpool.stop() Fixed mis-synchronization in ThreadPool.stop() - + ignore more ioexceptions (still visible with debug). ignore more ignore more + + ignore more ioexceptions (still visible with debug). ignore more ignor + ignore more ioexceptions (still visible with debug). ignore more ignore more ioexceptions (still visible with debug). Ignore more IOExceptions (still visible with debug). + provide default jettyindex.properties provide default jettyindex.prope + provide default jettyindex.properties provide default jettyindex.prope provide default jettyindex.properties Provide default JettyIndex.properties jetty-3.0.0.rc3 - 05 November 2000 - + added bin/jetty.sh run script. added bin/jetty.sh run script. added - bin/jetty.sh run script. Added bin/jetty.sh run script. + + added bin/jetty.sh run script. added bin/jetty.sh run script. added added + bin/jetty.sh run script. added bin/jetty.sh run script. added bin/jetty.sh + run script. Added bin/jetty.sh run script. + added context class path dynamic servlet demo added context class path added + context class path dynamic servlet demo added context class path added context class path dynamic servlet demo Added context class path dynamic servlet demo + added gz tgz tar.gz .z mime mappings. added gz tgz tar.gz .z mime mapp added - gz tgz tar.gz .z mime mappings. Added gz tgz tar.gz .z mime mappings. - + added handlercontext.sethttpserveraccess for trusted contexts. added added + gz tgz tar.gz .z mime mappings. added gz tgz tar.gz .z mime mapp added gz + tgz tar.gz .z mime mappings. Added gz tgz tar.gz .z mime mappings. + + added handlercontext.sethttpserveraccess for trusted contexts. added a added + handlercontext.sethttpserveraccess for trusted contexts. added added handlercontext.sethttpserveraccess for trusted contexts. Added HandlerContext.setHttpServerAccess for trusted contexts. + changed threadpool.stop for ibm 1.3 jvm changed threadpool.stop for ib + changed threadpool.stop for ibm 1.3 jvm changed threadpool.stop for ib changed threadpool.stop for ibm 1.3 jvm Changed ThreadPool.stop for IBM 1.3 JVM - + fixed default mimemap initialization bug fixed default mimemap fixed default + + fixed default mimemap initialization bug fixed default mimemap fixed d fixed + default mimemap initialization bug fixed default mimemap fixed default mimemap initialization bug Fixed default mimemap initialization bug + further clean up of the connection close actions further clean up of t + further clean up of the connection close actions further clean up of t further clean up of the connection close actions Further clean up of the connection close actions - + handle mime suffixes containing dots. handle mime suffixes containing - handle mime suffixes containing dots. Handle mime suffixes containing dots. - + implemented mime mapping in webapplications. implemented mime mapping + + handle mime suffixes containing dots. handle mime suffixes containing handle + mime suffixes containing dots. handle mime suffixes containing handle mime + suffixes containing dots. Handle mime suffixes containing dots. + + implemented mime mapping in webapplications. implemented mime mapping + implemented mime mapping in webapplications. implemented mime mapping implemented mime mapping in webapplications. Implemented mime mapping in webapplications. + moved unused classes from com.mortbay.util to com.mortbay.tools in new moved + unused classes from com.mortbay.util to com.mortbay.tools in new moved unused classes from com.mortbay.util to com.mortbay.tools in new Moved unused classes from com.mortbay.Util to com.mortbay.Tools in new distribution package. + optimized persistent connections by recycling objects optimized persis + optimized persistent connections by recycling objects optimized persis optimized persistent connections by recycling objects Optimized persistent connections by recycling objects + prevent servlet setattribute calls to protected context attributes. pr + prevent servlet setattribute calls to protected context attributes. pr prevent servlet setattribute calls to protected context attributes. Prevent servlet setAttribute calls to protected context attributes. + removed redundant context attributes. removed redundant context attrib + removed redundant context attributes. removed redundant context attrib removed redundant context attributes. Removed redundant context attributes. - + set maxreadtimems in all examples set maxreadtimems in all examples set + + set maxreadtimems in all examples set maxreadtimems in all examples se set + maxreadtimems in all examples set maxreadtimems in all examples set maxreadtimems in all examples Set MaxReadTimeMs in all examples + set the thread context class loader in handlercontext.handle set the t set - the thread context class loader in handlercontext.handle Set the thread - context class loader in HandlerContext.handle - + strip ./ from relative resources. strip ./ from relative resources. strip ./ - from relative resources. Strip ./ from relative resources. + the thread context class loader in handlercontext.handle set the t set the + thread context class loader in handlercontext.handle Set the thread context + class loader in HandlerContext.handle + + strip ./ from relative resources. strip ./ from relative resources. st strip + ./ from relative resources. strip ./ from relative resources. strip ./ from + relative resources. Strip ./ from relative resources. + upgraded build.xml to ant v1.2 upgraded build.xml to ant v1.2 upgraded + upgraded build.xml to ant v1.2 upgraded build.xml to ant v1.2 upgraded build.xml to ant v1.2 upgraded build.xml to ant v1.2 jetty-3.0.0.rc2 - 29 October 2000 + accept http/1. as http/1.0 (for netscape bug). accept http/1. as http/ + accept http/1. as http/1.0 (for netscape bug). accept http/1. as http/ accept http/1. as http/1.0 (for netscape bug). Accept HTTP/1. as HTTP/1.0 (for netscape bug). + accept public dtd for xmlconfiguration (old style still supported). ac + accept public dtd for xmlconfiguration (old style still supported). ac accept public dtd for xmlconfiguration (old style still supported). Accept public DTD for XmlConfiguration (old style still supported). + cleaned up non persistent connection close. cleaned up non persistent + cleaned up non persistent connection close. cleaned up non persistent cleaned up non persistent connection close. Cleaned up non persistent connection close. + erlencoding treats params without values as empty rather than null. + erlencoding treats params without values as empty rather than null. erlencoding treats params without values as empty rather than null. ErlEncoding treats params without values as empty rather than null. - + fixed thread name problem in threadpool fixed thread name problem in fixed - thread name problem in threadpool Fixed thread name problem in ThreadPool - + pass file based classpath to jspservlet (see readme). pass file based pass - file based classpath to jspservlet (see readme). Pass file based classpath - to JspServlet (see README). + + fixed thread name problem in threadpool fixed thread name problem in f fixed + thread name problem in threadpool fixed thread name problem in fixed thread + name problem in threadpool Fixed thread name problem in ThreadPool + + pass file based classpath to jspservlet (see readme). pass file based pass + file based classpath to jspservlet (see readme). pass file based pass file + based classpath to jspservlet (see readme). Pass file based classpath to + JspServlet (see README). + prevented multiple init of servletholder prevented multiple init of + prevented multiple init of servletholder prevented multiple init of prevented multiple init of servletholder Prevented multiple init of ServletHolder + replaced iso-8859-1 literals with stringutil static replaced iso-8859- + replaced iso-8859-1 literals with stringutil static replaced iso-8859- replaced iso-8859-1 literals with stringutil static Replaced ISO-8859-1 literals with StringUtil static jetty-3.0.0.rc1 - 22 October 2000 - + added cgi to demo added cgi to demo added cgi to demo Added CGI to demo + + added cgi to demo added cgi to demo added cgi to demo added cgi to dem added + cgi to demo added cgi to demo added cgi to demo Added CGI to demo + added hashuserrealm and cleaned up security constraints added hashuser added + hashuserrealm and cleaned up security constraints added hashuser added hashuserrealm and cleaned up security constraints Added HashUserRealm and cleaned up security constraints + added multipart request and response classes from jetty2 added multipa added + multipart request and response classes from jetty2 added multipa added multipart request and response classes from jetty2 Added Multipart request and response classes from Jetty2 - + added simple admin servlet. added simple admin servlet. added simple admin + + added simple admin servlet. added simple admin servlet. added simple a added + simple admin servlet. added simple admin servlet. added simple admin servlet. Added simple admin servlet. + all attributes in javax. java. and com.mortbay. name spaces to be set. all + attributes in javax. java. and com.mortbay. name spaces to be set. all attributes in javax. java. and com.mortbay. name spaces to be set. All attributes in javax. java. and com.mortbay. name spaces to be set. - + cleaned up exception handling. cleaned up exception handling. cleaned up + + cleaned up exception handling. cleaned up exception handling. cleaned + cleaned up exception handling. cleaned up exception handling. cleaned up exception handling. Cleaned up exception handling. - + initialize jsp with classloader. initialize jsp with classloader. initialize + + initialize jsp with classloader. initialize jsp with classloader. init + initialize jsp with classloader. initialize jsp with classloader. initialize jsp with classloader. Initialize JSP with classloader. + moved and simplified servletloader to contextloader. moved and simplif moved - and simplified servletloader to contextloader. Moved and simplified + and simplified servletloader to contextloader. moved and simplif moved and + simplified servletloader to contextloader. Moved and simplified ServletLoader to ContextLoader. - + partial handling of 0.9 requests. partial handling of 0.9 requests. partial + + partial handling of 0.9 requests. partial handling of 0.9 requests. pa + partial handling of 0.9 requests. partial handling of 0.9 requests. partial handling of 0.9 requests. Partial handling of 0.9 requests. - + removed thread.destroy() calls. removed thread.destroy() calls. removed + + removed thread.destroy() calls. removed thread.destroy() calls. remove + removed thread.destroy() calls. removed thread.destroy() calls. removed thread.destroy() calls. removed Thread.destroy() calls. jetty-2.4.8 - 23 October 2000 + fixed bug with 304 replies with bodies. fixed bug with 304 replies wit fixed - bug with 304 replies with bodies. Fixed bug with 304 replies with bodies. - + fixed closing socket problem fixed closing socket problem fixed closing - socket problem Fixed closing socket problem - + improved win32 make files. improved win32 make files. improved win32 make + bug with 304 replies with bodies. fixed bug with 304 replies wit fixed bug + with 304 replies with bodies. Fixed bug with 304 replies with bodies. + + fixed closing socket problem fixed closing socket problem fixed closin fixed + closing socket problem fixed closing socket problem fixed closing socket + problem Fixed closing socket problem + + improved win32 make files. improved win32 make files. improved win32 m + improved win32 make files. improved win32 make files. improved win32 make files. Improved win32 make files. jetty-3.0.B05 - 18 October 2000 + added default webapp servlet mapping /servlet/name/* added default web added + default webapp servlet mapping /servlet/name/* added default web added default webapp servlet mapping /servlet/name/* Added default webapp servlet mapping /servlet/name/* + cleaned up response committing and flushing cleaned up response commit + cleaned up response committing and flushing cleaned up response commit cleaned up response committing and flushing Cleaned up response committing and flushing - + fixed jarfileresource to handle jar files without directories. fixed fixed + + fixed jarfileresource to handle jar files without directories. fixed f fixed + jarfileresource to handle jar files without directories. fixed fixed jarfileresource to handle jar files without directories. Fixed JarFileResource to handle jar files without directories. + handler rfc2109 cookies (like any browser handles them!) handler rfc21 + handler rfc2109 cookies (like any browser handles them!) handler rfc21 handler rfc2109 cookies (like any browser handles them!) Handler RFC2109 cookies (like any browser handles them!) + implemented security-role-ref for servlets implemented security-role-r + implemented security-role-ref for servlets implemented security-role-r implemented security-role-ref for servlets Implemented security-role-ref for servlets - + implemented war file support implemented war file support implemented war + + implemented war file support implemented war file support implemented + implemented war file support implemented war file support implemented war file support Implemented war file support + improved ant documentation. improved ant documentation. improved ant + improved ant documentation. improved ant documentation. improved ant documentation. improved ant documentation. + improved default log format for clarity. improved default log format f + improved default log format for clarity. improved default log format f improved default log format for clarity. Improved default log format for clarity. + improved null returns to get almost clean watchdog test. improved null + improved null returns to get almost clean watchdog test. improved null improved null returns to get almost clean watchdog test. Improved null returns to get almost clean watchdog test. + improved path spec interpretation by looking at 2.3 spec improved path + improved path spec interpretation by looking at 2.3 spec improved path improved path spec interpretation by looking at 2.3 spec Improved path spec interpretation by looking at 2.3 spec - + java2 style classloading java2 style classloading java2 style classloading - Java2 style classloading - + made test harnesses work with ant. made test harnesses work with ant. made - test harnesses work with ant. Made test harnesses work with ant. - + protected servletconfig from downcast security problems protected protected + + java2 style classloading java2 style classloading java2 style classloa java2 + style classloading java2 style classloading java2 style classloading Java2 + style classloading + + made test harnesses work with ant. made test harnesses work with ant. made + test harnesses work with ant. made test harnesses work with ant. made test + harnesses work with ant. Made test harnesses work with ant. + + protected servletconfig from downcast security problems protected prot + protected servletconfig from downcast security problems protected protected servletconfig from downcast security problems Protected servletConfig from downcast security problems - + removed most deprecation warnings removed most deprecation warnings removed + + removed most deprecation warnings removed most deprecation warnings re + removed most deprecation warnings removed most deprecation warnings removed most deprecation warnings Removed most deprecation warnings + separated context attributes and initparams. separated context attribu + separated context attributes and initparams. separated context attribu separated context attributes and initparams. Separated context attributes and initParams. jetty-3.0.B04 - 12 October 2000 + added modified version of jasperb3.2 for jsp added modified version of added + modified version of jasperb3.2 for jsp added modified version of added modified version of jasperb3.2 for jsp Added modified version of JasperB3.2 for JSP + added webdefault.xml for web applications. added webdefault.xml for we added + webdefault.xml for web applications. added webdefault.xml for we added webdefault.xml for web applications. Added webdefault.xml for web applications. + do not try multiple servlets for a request. do not try multiple servle do - not try multiple servlets for a request. Do not try multiple servlets for a + not try multiple servlets for a request. do not try multiple servle do not + try multiple servlets for a request. Do not try multiple servlets for a request. + filthy hack to teach jasper jspserver jetty classpath filthy hack to t + filthy hack to teach jasper jspserver jetty classpath filthy hack to t filthy hack to teach jasper jspserver jetty classpath Filthy hack to teach jasper JspServer Jetty classpath + fixed problem with session id in paths fixed problem with session id i fixed + problem with session id in paths fixed problem with session id i fixed problem with session id in paths Fixed problem with session ID in paths + implemented context.getcontext(uri) implemented context.getcontext(uri + implemented context.getcontext(uri) implemented context.getcontext(uri implemented context.getcontext(uri) Implemented Context.getContext(uri) + merged and renamed third party jars. merged and renamed third party ja + merged and renamed third party jars. merged and renamed third party ja merged and renamed third party jars. Merged and renamed third party jars. - + moved filebase to docroot moved filebase to docroot moved filebase to - docroot Moved FileBase to docroot - + redirect to index files, so index.jsp works. redirect to index files, + + moved filebase to docroot moved filebase to docroot moved filebase to moved + filebase to docroot moved filebase to docroot moved filebase to docroot + Moved FileBase to docroot + + redirect to index files, so index.jsp works. redirect to index files, + redirect to index files, so index.jsp works. redirect to index files, redirect to index files, so index.jsp works. Redirect to index files, so index.jsp works. + restricted context mapping to simple model for servlets. restricted co + restricted context mapping to simple model for servlets. restricted co restricted context mapping to simple model for servlets. Restricted context mapping to simple model for servlets. jetty-3.0.B03 - 09 October 2000 - + added append mode in rolloverfilelogsink added append mode in added append - mode in rolloverfilelogsink Added append mode in RolloverFileLogSink - + added release script added release script added release script Added release + + added append mode in rolloverfilelogsink added append mode in added ap added + append mode in rolloverfilelogsink added append mode in added append mode in + rolloverfilelogsink Added append mode in RolloverFileLogSink + + added release script added release script added release script added r added + release script added release script added release script Added release script - + catch stop and destroy exceptions in httpserver.stop() catch stop and catch - stop and destroy exceptions in httpserver.stop() Catch stop and destroy + + catch stop and destroy exceptions in httpserver.stop() catch stop and catch + stop and destroy exceptions in httpserver.stop() catch stop and catch stop + and destroy exceptions in httpserver.stop() Catch stop and destroy exceptions in HttpServer.stop() - + expanded import package.*; lines expanded import package.*; lines expanded + + expanded import package.*; lines expanded import package.*; lines expa + expanded import package.*; lines expanded import package.*; lines expanded import package.*; lines Expanded import package.*; lines - + expanded leading tabs to spaces expanded leading tabs to spaces expanded + + expanded leading tabs to spaces expanded leading tabs to spaces expand + expanded leading tabs to spaces expanded leading tabs to spaces expanded leading tabs to spaces Expanded leading tabs to spaces - + handle ignorable spaces in webapplication handle ignorable spaces in handle + + handle ignorable spaces in webapplication handle ignorable spaces in h + handle ignorable spaces in webapplication handle ignorable spaces in handle ignorable spaces in webapplication Handle ignorable spaces in WebApplication + handle ignorable spaces in xmlconfiguration handle ignorable spaces in + handle ignorable spaces in xmlconfiguration handle ignorable spaces in handle ignorable spaces in xmlconfiguration Handle ignorable spaces in XmlConfiguration + implemented request dispatching. implemented request dispatching. + implemented request dispatching. implemented request dispatching. implemented request dispatching. Implemented request dispatching. + improved context to handler contract. improved context to handler cont + improved context to handler contract. improved context to handler cont improved context to handler contract. Improved Context to Handler contract. + improved handler tostring improved handler tostring improved handler + improved handler tostring improved handler tostring improved handler tostring Improved handler toString + improved log rollover. improved log rollover. improved log rollover. + improved log rollover. improved log rollover. improved log rollover. Improved Log rollover. - + made logsink a lifecycle interface made logsink a lifecycle interface made + + made logsink a lifecycle interface made logsink a lifecycle interface made + logsink a lifecycle interface made logsink a lifecycle interface made logsink a lifecycle interface Made LogSink a Lifecycle interface + parse but not handler startup ordering in web applications. parse but parse - but not handler startup ordering in web applications. Parse but not handler + but not handler startup ordering in web applications. parse but parse but + not handler startup ordering in web applications. Parse but not handler startup ordering in web applications. - + pass object to logsink pass object to logsink pass object to logsink Pass - object to LogSink - + redirect context only paths. redirect context only paths. redirect context + + pass object to logsink pass object to logsink pass object to logsink p pass + object to logsink pass object to logsink pass object to logsink Pass object + to LogSink + + redirect context only paths. redirect context only paths. redirect con + redirect context only paths. redirect context only paths. redirect context only paths. Redirect context only paths. - + redo dynamic servlets handling redo dynamic servlets handling redo dynamic + + redo dynamic servlets handling redo dynamic servlets handling redo dyn redo + dynamic servlets handling redo dynamic servlets handling redo dynamic servlets handling Redo dynamic servlets handling + remove 411 checks as ie breaks this rule after redirect. remove 411 ch + remove 411 checks as ie breaks this rule after redirect. remove 411 ch remove 411 checks as ie breaks this rule after redirect. Remove 411 checks as IE breaks this rule after redirect. + removed last remnants jdk 1.1 support removed last remnants jdk 1.1 su + removed last remnants jdk 1.1 support removed last remnants jdk 1.1 su removed last remnants jdk 1.1 support Removed last remnants JDK 1.1 support - + send request log via a logsink send request log via a logsink send request - log via a logsink Send request log via a LogSink + + send request log via a logsink send request log via a logsink send req send + request log via a logsink send request log via a logsink send request log + via a logsink Send request log via a LogSink + simplified path translation and real path calculation. simplified path + simplified path translation and real path calculation. simplified path simplified path translation and real path calculation. Simplified path translation and real path calculation. + warn about explicit sets of webapplication warn about explicit sets of warn - about explicit sets of webapplication Warn about explicit sets of - WebApplication + about explicit sets of webapplication warn about explicit sets of warn about + explicit sets of webapplication Warn about explicit sets of WebApplication jetty-2.4.7 - 06 October 2000 - + added encode methods to uri added encode methods to uri added encode methods - to uri Added encode methods to URI + + added encode methods to uri added encode methods to uri added encode m added + encode methods to uri added encode methods to uri added encode methods to + uri Added encode methods to URI + allow objects to be passed to logsink allow objects to be passed to lo allow + objects to be passed to logsink allow objects to be passed to lo allow objects to be passed to logsink Allow Objects to be passed to LogSink - + fixes to ssl doco fixes to ssl doco fixes to ssl doco fixes to SSL doco - + improved win32 build improved win32 build improved win32 build Improved + + fixes to ssl doco fixes to ssl doco fixes to ssl doco fixes to ssl doc fixes + to ssl doco fixes to ssl doco fixes to ssl doco fixes to SSL doco + + improved win32 build improved win32 build improved win32 build improve + improved win32 build improved win32 build improved win32 build Improved win32 build + set content length on errors for keep alive. set content length on err set + content length on errors for keep alive. set content length on err set content length on errors for keep alive. Set content length on errors for keep alive. + support key and keystore passwords support key and keystore passwords + support key and keystore passwords support key and keystore passwords support key and keystore passwords Support key and keystore passwords + various improvements to servletdispatch, propertytree and associated + various improvements to servletdispatch, propertytree and associated various improvements to servletdispatch, propertytree and associated Various improvements to ServletDispatch, PropertyTree and associated classes. jetty-3.0.B02 - 24 August 2000 - + added cgi servlet added cgi servlet added cgi servlet Added CGI servlet - + fixed bug in testrfc2616 fixed bug in testrfc2616 fixed bug in testrfc2616 - Fixed bug in TestRFC2616 - + fixed http/1.0 input close bug fixed http/1.0 input close bug fixed http/1.0 - input close bug Fixed HTTP/1.0 input close bug + + added cgi servlet added cgi servlet added cgi servlet added cgi servle added + cgi servlet added cgi servlet added cgi servlet Added CGI servlet + + fixed bug in testrfc2616 fixed bug in testrfc2616 fixed bug in testrfc fixed + bug in testrfc2616 fixed bug in testrfc2616 fixed bug in testrfc2616 Fixed + bug in TestRFC2616 + + fixed http/1.0 input close bug fixed http/1.0 input close bug fixed ht fixed + http/1.0 input close bug fixed http/1.0 input close bug fixed http/1.0 input + close bug Fixed HTTP/1.0 input close bug + fixed lineinput bug with ssl giving cr pause lf. fixed lineinput bug w fixed + lineinput bug with ssl giving cr pause lf. fixed lineinput bug w fixed lineinput bug with ssl giving cr pause lf. Fixed LineInput bug with SSL giving CR pause LF. - + improved threadedserver stop and destroy improved threadedserver stop + + improved threadedserver stop and destroy improved threadedserver stop + improved threadedserver stop and destroy improved threadedserver stop improved threadedserver stop and destroy Improved ThreadedServer stop and destroy - + use resources in webapplication use resources in webapplication use - resources in webapplication Use resources in WebApplication + + use resources in webapplication use resources in webapplication use use + resources in webapplication use resources in webapplication use resources in + webapplication Use resources in WebApplication jetty-3.0.B01 - 21 August 2000 + implemented more webapp configuration implemented more webapp configur + implemented more webapp configuration implemented more webapp configur implemented more webapp configuration Implemented more webapp configuration + partial implementation of webapp securitycontraints partial implementa + partial implementation of webapp securitycontraints partial implementa partial implementation of webapp securitycontraints Partial implementation of webapp securitycontraints - + ssl implemented with jsselistener ssl implemented with jsselistener ssl + + ssl implemented with jsselistener ssl implemented with jsselistener ss ssl + implemented with jsselistener ssl implemented with jsselistener ssl implemented with jsselistener SSL implemented with JsseListener + switched to the aelfred xml parser from microstar, which is only parti + switched to the aelfred xml parser from microstar, which is only parti switched to the aelfred xml parser from microstar, which is only parti Switched to the aelfred XML parser from microstar, which is only partially validating, but small and lightweight jetty-2.4.6 - 16 August 2000 - + added passive mode methods to ftp added passive mode methods to ftp added - passive mode methods to ftp Added passive mode methods to FTP + + added passive mode methods to ftp added passive mode methods to ftp ad added + passive mode methods to ftp added passive mode methods to ftp added passive + mode methods to ftp Added passive mode methods to FTP + com.mortbay.util.keypairtool added to handle openssl ssl keys. + com.mortbay.util.keypairtool added to handle openssl ssl keys. com.mortbay.util.keypairtool added to handle openssl ssl keys. com.mortbay.Util.KeyPairTool added to handle openSSL SSL keys. + jsselistener & sunjsselistener added and documented jsselistener & + jsselistener & sunjsselistener added and documented jsselistener & jsselistener & sunjsselistener added and documented JsseListener & SunJsseListener added and documented + minor changes to compile with jikes. minor changes to compile with jik minor + changes to compile with jikes. minor changes to compile with jik minor changes to compile with jikes. Minor changes to compile with jikes. + turn linger off before closing sockets, to allow restart. turn linger turn + linger off before closing sockets, to allow restart. turn linger turn linger off before closing sockets, to allow restart. Turn Linger off before closing sockets, to allow restart. jetty-3.0.A99 - 10 August 2000 - + added resource abstraction added resource abstraction added resource - abstraction Added Resource abstraction - + added xmlconfiguration utility added xmlconfiguration utility added + + added resource abstraction added resource abstraction added resource added + resource abstraction added resource abstraction added resource abstraction + Added Resource abstraction + + added xmlconfiguration utility added xmlconfiguration utility added added + xmlconfiguration utility added xmlconfiguration utility added xmlconfiguration utility Added Xmlconfiguration utility + implemented jetty.xml configuration implemented jetty.xml configuratio + implemented jetty.xml configuration implemented jetty.xml configuratio implemented jetty.xml configuration Implemented jetty.xml configuration + make it compile cleanly with jikes. make it compile cleanly with jikes make - it compile cleanly with jikes. Make it compile cleanly with jikes. - + re-added commented out imports for jdk-1.1 compile re-added commented + it compile cleanly with jikes. make it compile cleanly with jikes make it + compile cleanly with jikes. Make it compile cleanly with jikes. + + re-added commented out imports for jdk-1.1 compile re-added commented + re-added commented out imports for jdk-1.1 compile re-added commented re-added commented out imports for jdk-1.1 compile Re-added commented out imports for JDK-1.1 compile + removed filebase. now use resourcebase instead removed filebase. now u + removed filebase. now use resourcebase instead removed filebase. now u removed filebase. now use resourcebase instead Removed FileBase. Now use ResourceBase instead - + replaced filehandler with resourcehandler replaced filehandler with replaced + + replaced filehandler with resourcehandler replaced filehandler with re + replaced filehandler with resourcehandler replaced filehandler with replaced filehandler with resourcehandler Replaced FileHandler with ResourceHandler + servletloader simplied and uses resourcepath servletloader simplied an + servletloader simplied and uses resourcepath servletloader simplied an servletloader simplied and uses resourcepath ServletLoader simplied and uses ResourcePath + use sax xml parsing instead of dom for space saving. use sax xml parsi use - sax xml parsing instead of dom for space saving. Use SAX XML parsing instead - of DOM for space saving. + sax xml parsing instead of dom for space saving. use sax xml parsi use sax + xml parsing instead of dom for space saving. Use SAX XML parsing instead of + DOM for space saving. jetty-3.0.A98 - 20 July 2000 - + allow httprequest.tostring() handles bad requests. allow allow + + allow httprequest.tostring() handles bad requests. allow allow allow + httprequest.tostring() handles bad requests. allow allow httprequest.tostring() handles bad requests. Allow HttpRequest.toString() handles bad requests. - + fixed constructor to rolloverfilelogsink fixed constructor to fixed - constructor to rolloverfilelogsink Fixed constructor to RolloverFileLogSink + + fixed constructor to rolloverfilelogsink fixed constructor to fixed fixed + constructor to rolloverfilelogsink fixed constructor to fixed constructor to + rolloverfilelogsink Fixed constructor to RolloverFileLogSink + implemented jetty demos and site as web application. implemented jetty + implemented jetty demos and site as web application. implemented jetty implemented jetty demos and site as web application. Implemented Jetty demos and Site as Web Application. + implemented webapplicationcontext implemented webapplicationcontext + implemented webapplicationcontext implemented webapplicationcontext implemented webapplicationcontext Implemented WebApplicationContext + improved synchronization on logsink improved synchronization on logsin + improved synchronization on logsink improved synchronization on logsin improved synchronization on logsink Improved synchronization on LogSink + servletrequest.getserverport() returns 80 rather than 0 + servletrequest.getserverport() returns 80 rather than 0 servletrequest.getserverport() returns 80 rather than 0 ServletRequest.getServerPort() returns 80 rather than 0 - + switched to jdk1.2 only switched to jdk1.2 only switched to jdk1.2 only + + switched to jdk1.2 only switched to jdk1.2 only switched to jdk1.2 onl + switched to jdk1.2 only switched to jdk1.2 only switched to jdk1.2 only Switched to JDK1.2 only jetty-3.0.A97 - 13 July 2000 - + added error handling to lifecyclethread added error handling to added error + + added error handling to lifecyclethread added error handling to added added + error handling to lifecyclethread added error handling to added error handling to lifecyclethread Added error handling to LifeCycleThread - + added wml mappings added wml mappings added wml mappings Added WML mappings - + better tuned socketlistener parameters better tuned socketlistener better + + added wml mappings added wml mappings added wml mappings added wml map added + wml mappings added wml mappings added wml mappings Added WML mappings + + better tuned socketlistener parameters better tuned socketlistener bet + better tuned socketlistener parameters better tuned socketlistener better tuned socketlistener parameters Better tuned SocketListener parameters - + fixed makefiles for bsd ls fixed makefiles for bsd ls fixed makefiles for - bsd ls Fixed makefiles for BSD ls + + fixed makefiles for bsd ls fixed makefiles for bsd ls fixed makefiles fixed + makefiles for bsd ls fixed makefiles for bsd ls fixed makefiles for bsd ls + Fixed makefiles for BSD ls + fixed persistent commits with no content (eg redirect+keep-alive). fix fixed + persistent commits with no content (eg redirect+keep-alive). fix fixed persistent commits with no content (eg redirect+keep-alive). Fixed persistent commits with no content (eg redirect+keep-alive). + formatted version in server info string. formatted version in server i + formatted version in server info string. formatted version in server i formatted version in server info string. Formatted version in server info string. + implemented removeattribute on requests implemented removeattribute on + implemented removeattribute on requests implemented removeattribute on implemented removeattribute on requests implemented removeAttribute on requests + implemented servlet getlocale(s). implemented servlet getlocale(s). + implemented servlet getlocale(s). implemented servlet getlocale(s). implemented servlet getlocale(s). Implemented servlet getLocale(s). - + implemented servlet issecure(). implemented servlet issecure(). implemented + + implemented servlet issecure(). implemented servlet issecure(). implem + implemented servlet issecure(). implemented servlet issecure(). implemented servlet issecure(). Implemented servlet isSecure(). - + less verbose debug less verbose debug less verbose debug Less verbose debug + + less verbose debug less verbose debug less verbose debug less verbose less + verbose debug less verbose debug less verbose debug Less verbose debug + protect setcontentlength from a late set in default servlet head handl + protect setcontentlength from a late set in default servlet head handl protect setcontentlength from a late set in default servlet head handl Protect setContentLength from a late set in default servlet HEAD handling. - + started requestdispatcher implementation. started requestdispatcher started + + started requestdispatcher implementation. started requestdispatcher st + started requestdispatcher implementation. started requestdispatcher started requestdispatcher implementation. Started RequestDispatcher implementation. + tempory request log implementation tempory request log implementation + tempory request log implementation tempory request log implementation tempory request log implementation Tempory request log implementation jetty-2.4.5 - 09 July 2000 + added htmlexpirefilter and removed response cache revention from htmlf added + htmlexpirefilter and removed response cache revention from htmlf added htmlexpirefilter and removed response cache revention from htmlf Added HtmlExpireFilter and removed response cache revention from HtmlFilter. - + don't mark a session invalid until after values unbound. don't mark a don't - mark a session invalid until after values unbound. Don't mark a session - invalid until after values unbound. + + don't mark a session invalid until after values unbound. don't mark a don't + mark a session invalid until after values unbound. don't mark a don't mark a + session invalid until after values unbound. Don't mark a session invalid + until after values unbound. + fixed transaction handling in jdbc wrappers fixed transaction handling fixed + transaction handling in jdbc wrappers fixed transaction handling fixed transaction handling in jdbc wrappers Fixed transaction handling in JDBC wrappers + formatted version in server info. formatted version in server info. + formatted version in server info. formatted version in server info. formatted version in server info. Formatted version in server info. jetty-3.0.A96 - 27 June 2000 + fixed bug with http/1.1 head reqests to servlets. fixed bug with http/ fixed - bug with http/1.1 head reqests to servlets. Fixed bug with HTTP/1.1 Head - reqests to servlets. + bug with http/1.1 head reqests to servlets. fixed bug with http/ fixed bug + with http/1.1 head reqests to servlets. Fixed bug with HTTP/1.1 Head reqests + to servlets. + supressed un-needed chunking eof indicators. supressed un-needed chunk + supressed un-needed chunking eof indicators. supressed un-needed chunk supressed un-needed chunking eof indicators. Supressed un-needed chunking EOF indicators. jetty-3.0.A95 - 24 June 2000 + fixed getservletpath for default "/" fixed getservletpath for default fixed + getservletpath for default "/" fixed getservletpath for default fixed getservletpath for default "/" Fixed getServletPath for default "/" + handle spaces in file names in filehandler. handle spaces in file name + handle spaces in file names in filehandler. handle spaces in file name handle spaces in file names in filehandler. Handle spaces in file names in FileHandler. jetty-3.0.A94 - 19 June 2000 + added handlercontext to allow grouping of handlers into units with the added + handlercontext to allow grouping of handlers into units with the added handlercontext to allow grouping of handlers into units with the Added HandlerContext to allow grouping of handlers into units with the same file, resource and class configurations. + cleaned up commit() and added complete() to httpresponse cleaned up co + cleaned up commit() and added complete() to httpresponse cleaned up co cleaned up commit() and added complete() to httpresponse Cleaned up commit() and added complete() to HttpResponse + implemented sessions. implemented sessions. implemented sessions. + implemented sessions. implemented sessions. implemented sessions. Implemented Sessions. + pathmap exact matches can terminate with ; or # for url sessions and p + pathmap exact matches can terminate with ; or # for url sessions and p pathmap exact matches can terminate with ; or # for url sessions and PathMap exact matches can terminate with ; or # for URL sessions and targets. + updated license to clarify that commercial usage is ok! updated licens + updated license to clarify that commercial usage is ok! updated licens updated license to clarify that commercial usage is ok! Updated license to clarify that commercial usage IS OK! jetty-3.0.A93 - 14 June 2000 + lots of changes and probably unstable lots of changes and probably uns lots - of changes and probably unstable Lots of changes and probably unstable + of changes and probably unstable lots of changes and probably uns lots of + changes and probably unstable Lots of changes and probably unstable + major rethink! moved to 2.2 servlet api major rethink! moved to 2.2 se major + rethink! moved to 2.2 servlet api major rethink! moved to 2.2 se major rethink! moved to 2.2 servlet api Major rethink! Moved to 2.2 servlet API jetty-3.0.A92 - 07 June 2000 - + added html classes to jar added html classes to jar added html classes to - jar Added HTML classes to jar + + added html classes to jar added html classes to jar added html classes added + html classes to jar added html classes to jar added html classes to jar + Added HTML classes to jar + fixed redirection bug in filehandler fixed redirection bug in filehand fixed + redirection bug in filehandler fixed redirection bug in filehand fixed redirection bug in filehandler Fixed redirection bug in FileHandler jetty-2.4.4 - 03 June 2000 - + added build-win32.mak added build-win32.mak added build-win32.mak Added + + added build-win32.mak added build-win32.mak added build-win32.mak adde added + build-win32.mak added build-win32.mak added build-win32.mak Added build-win32.mak - + added html.composite.replace added html.composite.replace added + + added html.composite.replace added html.composite.replace added added + html.composite.replace added html.composite.replace added html.composite.replace Added HTML.Composite.replace - + added rolloverfilelogsink added rolloverfilelogsink added - rolloverfilelogsink Added RolloverFileLogSink - + added uk.org.gosnell.servlets.cgiservlet to contrib added added + + added rolloverfilelogsink added rolloverfilelogsink added added + rolloverfilelogsink added rolloverfilelogsink added rolloverfilelogsink + Added RolloverFileLogSink + + added uk.org.gosnell.servlets.cgiservlet to contrib added added added + uk.org.gosnell.servlets.cgiservlet to contrib added added uk.org.gosnell.servlets.cgiservlet to contrib Added uk.org.gosnell.Servlets.CgiServlet to contrib + basicauthhandler uses getresourcepath so it can be used behind request + basicauthhandler uses getresourcepath so it can be used behind request basicauthhandler uses getresourcepath so it can be used behind request BasicAuthHandler uses getResourcePath so it can be used behind request dispatching + filehandler implements ifmodifiedsince on index files. filehandler + filehandler implements ifmodifiedsince on index files. filehandler filehandler implements ifmodifiedsince on index files. FileHandler implements IfModifiedSince on index files. + httprequest.setrequestpath does not null pathinfo. + httprequest.setrequestpath does not null pathinfo. httprequest.setrequestpath does not null pathinfo. HttpRequest.setRequestPath does not null pathInfo. + improved logsink configuration improved logsink configuration improved + improved logsink configuration improved logsink configuration improved logsink configuration Improved LogSink configuration - + many debug call optimizations many debug call optimizations many debug call + + many debug call optimizations many debug call optimizations many debug many + debug call optimizations many debug call optimizations many debug call optimizations Many debug call optimizations + support system.property expansions in propertytrees. support system.pr + support system.property expansions in propertytrees. support system.pr support system.property expansions in propertytrees. Support System.property expansions in PropertyTrees. jetty-3.0.A91 - 03 June 2000 - + abstracted servlethandler abstracted servlethandler abstracted - servlethandler Abstracted ServletHandler - + added html classes from jetty2 added html classes from jetty2 added html - classes from jetty2 Added HTML classes from Jetty2 + + abstracted servlethandler abstracted servlethandler abstracted abstracted + servlethandler abstracted servlethandler abstracted servlethandler + Abstracted ServletHandler + + added html classes from jetty2 added html classes from jetty2 added ht added + html classes from jetty2 added html classes from jetty2 added html classes + from jetty2 Added HTML classes from Jetty2 + implemented realpath and getresource methods for servlets. implemented + implemented realpath and getresource methods for servlets. implemented implemented realpath and getresource methods for servlets. Implemented realPath and getResource methods for servlets. + improved logsink mechanism improved logsink mechanism improved logsink + improved logsink mechanism improved logsink mechanism improved logsink mechanism Improved LogSink mechanism - + simplified class loading simplified class loading simplified class loading + + simplified class loading simplified class loading simplified class loa + simplified class loading simplified class loading simplified class loading Simplified class loading + simplified httpserver configuration methods and arguments simplified + simplified httpserver configuration methods and arguments simplified simplified httpserver configuration methods and arguments Simplified HttpServer configuration methods and arguments jetty-3.0.A9 - 07 May 2000 + file handler checks modified headers on directory indexes. file handle file + handler checks modified headers on directory indexes. file handle file handler checks modified headers on directory indexes. File handler checks modified headers on directory indexes. + fixed double chunking bug in socketlistener. fixed double chunking bug fixed + double chunking bug in socketlistener. fixed double chunking bug fixed double chunking bug in socketlistener. Fixed double chunking bug in SocketListener. + improvided finally handling of output end game. improvided finally han + improvided finally handling of output end game. improvided finally han improvided finally handling of output end game. Improvided finally handling of output end game. + servletloader tries unix then platform separator for zip separator. + servletloader tries unix then platform separator for zip separator. servletloader tries unix then platform separator for zip separator. ServletLoader tries unix then platform separator for zip separator. jetty-3.0.A8 - 04 May 2000 + addcookie takes an int maxage rather than a expires date. addcookie ta + addcookie takes an int maxage rather than a expires date. addcookie ta addcookie takes an int maxage rather than a expires date. addCookie takes an int maxAge rather than a expires date. + added logsink extensible log architecture. added logsink extensible lo added + logsink extensible log architecture. added logsink extensible lo added logsink extensible log architecture. Added LogSink extensible log architecture. - + added tenlet class for reverse telnet. added tenlet class for reverse added - tenlet class for reverse telnet. Added Tenlet class for reverse telnet. + + added tenlet class for reverse telnet. added tenlet class for reverse added + tenlet class for reverse telnet. added tenlet class for reverse added tenlet + class for reverse telnet. Added Tenlet class for reverse telnet. + code.ignore only outputs when debug is verbose. code.ignore only outpu + code.ignore only outputs when debug is verbose. code.ignore only outpu code.ignore only outputs when debug is verbose. Code.ignore only outputs when debug is verbose. + moved sevlet2_1 handler to com.mortbay.servlet2_1 moved sevlet2_1 hand moved + sevlet2_1 handler to com.mortbay.servlet2_1 moved sevlet2_1 hand moved sevlet2_1 handler to com.mortbay.servlet2_1 Moved Sevlet2_1 handler to com.mortbay.Servlet2_1 + servlet2_1 class loading re-acrchitected. see readme. servlet2_1 class + servlet2_1 class loading re-acrchitected. see readme. servlet2_1 class servlet2_1 class loading re-acrchitected. see readme. Servlet2_1 class loading re-acrchitected. See README. jetty-2.4.3 - 04 May 2000 - + allow crlf in urlencoded allow crlf in urlencoded allow crlf in urlencoded - Allow CRLF in UrlEncoded + + allow crlf in urlencoded allow crlf in urlencoded allow crlf in urlenc allow + crlf in urlencoded allow crlf in urlencoded allow crlf in urlencoded Allow + CRLF in UrlEncoded + pass cookies with 0 max age to browser. pass cookies with 0 max age to pass + cookies with 0 max age to browser. pass cookies with 0 max age to pass cookies with 0 max age to browser. Pass Cookies with 0 max age to browser. jetty-2.4.2 - 23 April 2000 + added gnujsp to jettyserver.prp file. added gnujsp to jettyserver.prp added + gnujsp to jettyserver.prp file. added gnujsp to jettyserver.prp added gnujsp to jettyserver.prp file. Added GNUJSP to JettyServer.prp file. + added logsink and filelogsink classes to allow extensible log handling added + logsink and filelogsink classes to allow extensible log handling added logsink and filelogsink classes to allow extensible log handling Added LogSink and FileLogSink classes to allow extensible Log handling. + handle nested requestdispatcher includes. handle nested requestdispatc + handle nested requestdispatcher includes. handle nested requestdispatc handle nested requestdispatcher includes. Handle nested RequestDispatcher includes. + modified gnujsp to prevent close in nested requests. modified gnujsp t + modified gnujsp to prevent close in nested requests. modified gnujsp t modified gnujsp to prevent close in nested requests. Modified GNUJSP to prevent close in nested requests. jetty-3.0.A7 - 15 April 2000 + added inetgateway to help debug ie5 problems added inetgateway to help added + inetgateway to help debug ie5 problems added inetgateway to help added inetgateway to help debug ie5 problems Added InetGateway to help debug IE5 problems + added removevalue method to multimap added removevalue method to multi added + removevalue method to multimap added removevalue method to multi added removevalue method to multimap added removeValue method to MultiMap + fixed flush problem with chunked output for ie5 fixed flush problem wi fixed - flush problem with chunked output for ie5 fixed flush problem with chunked - output for IE5 - + include java 1.2 source hierarchy include java 1.2 source hierarchy include + flush problem with chunked output for ie5 fixed flush problem wi fixed flush + problem with chunked output for ie5 fixed flush problem with chunked output + for IE5 + + include java 1.2 source hierarchy include java 1.2 source hierarchy in + include java 1.2 source hierarchy include java 1.2 source hierarchy include java 1.2 source hierarchy Include java 1.2 source hierarchy - + removed excess ';' from source removed excess ';' from source removed excess + + removed excess ';' from source removed excess ';' from source removed + removed excess ';' from source removed excess ';' from source removed excess ';' from source removed excess ';' from source jetty-2.4.1 - 09 April 2000 - + fixed bug in htmlfilter for tags split between writes. fixed bug in fixed - bug in htmlfilter for tags split between writes. Fixed bug in HtmlFilter for - tags split between writes. - + removed debug println from servletholder. removed debug println from removed + + fixed bug in htmlfilter for tags split between writes. fixed bug in fi fixed + bug in htmlfilter for tags split between writes. fixed bug in fixed bug in + htmlfilter for tags split between writes. Fixed bug in HtmlFilter for tags + split between writes. + + removed debug println from servletholder. removed debug println from r + removed debug println from servletholder. removed debug println from removed debug println from servletholder. Removed debug println from ServletHolder. + set encoding before exception in filehandler. set encoding before exce set + encoding before exception in filehandler. set encoding before exce set encoding before exception in filehandler. Set encoding before exception in FileHandler. jetty-3.0.A6 - 09 April 2000 - + added bin/usejava2collections to convert to jdk1.2 added added + + added bin/usejava2collections to convert to jdk1.2 added added added + bin/usejava2collections to convert to jdk1.2 added added bin/usejava2collections to convert to jdk1.2 added bin/useJava2Collections to convert to JDK1.2 - + dates forced to use us locale dates forced to use us locale dates forced to - use us locale Dates forced to use US locale + + dates forced to use us locale dates forced to use us locale dates forc dates + forced to use us locale dates forced to use us locale dates forced to use us + locale Dates forced to use US locale + improved portability of frame and debug. improved portability of frame + improved portability of frame and debug. improved portability of frame improved portability of frame and debug. Improved portability of Frame and Debug. + integrated skeleton 2.1 servlet container integrated skeleton 2.1 serv + integrated skeleton 2.1 servlet container integrated skeleton 2.1 serv integrated skeleton 2.1 servlet container Integrated skeleton 2.1 Servlet container + removed converter utilities and inetgateway. removed converter utiliti + removed converter utilities and inetgateway. removed converter utiliti removed converter utilities and inetgateway. Removed Converter utilities and InetGateway. jetty-2.4.0 - 24 March 2000 + absolute uris are returned by getrequesturi (if sent by browser). abso + absolute uris are returned by getrequesturi (if sent by browser). abso absolute uris are returned by getrequesturi (if sent by browser). Absolute URIs are returned by getRequestURI (if sent by browser). + added doc directory with a small start added doc directory with a smal added - doc directory with a small start Added doc directory with a small start + doc directory with a small start added doc directory with a smal added doc + directory with a small start Added doc directory with a small start + added per servlet resourcebase configuration. added per servlet resour added - per servlet resourcebase configuration. Added per servlet resourceBase + per servlet resourcebase configuration. added per servlet resour added per + servlet resourcebase configuration. Added per servlet resourceBase configuration. + added virtualhosthandler for virtual host handling added virtualhostha added + virtualhosthandler for virtual host handling added virtualhostha added virtualhosthandler for virtual host handling Added VirtualHostHandler for virtual host handling - + fixed bug with requestdispatcher.include() fixed bug with fixed bug with + + fixed bug with requestdispatcher.include() fixed bug with fixed bug wi fixed + bug with requestdispatcher.include() fixed bug with fixed bug with requestdispatcher.include() Fixed bug with RequestDispatcher.include() - + fixed caste problem in urlencoded fixed caste problem in urlencoded fixed - caste problem in urlencoded Fixed caste problem in UrlEncoded + + fixed caste problem in urlencoded fixed caste problem in urlencoded fi fixed + caste problem in urlencoded fixed caste problem in urlencoded fixed caste + problem in urlencoded Fixed caste problem in UrlEncoded + fixed null pointer in threadedserver with stopall fixed null pointer i fixed - null pointer in threadedserver with stopall Fixed null pointer in - ThreadedServer with stopAll + null pointer in threadedserver with stopall fixed null pointer i fixed null + pointer in threadedserver with stopall Fixed null pointer in ThreadedServer + with stopAll + form parameters only decoded for posts form parameters only decoded fo form + parameters only decoded for posts form parameters only decoded fo form parameters only decoded for posts Form parameters only decoded for POSTs + implemented full handling of cookie max age. implemented full handling + implemented full handling of cookie max age. implemented full handling implemented full handling of cookie max age. Implemented full handling of cookie max age. + improved parsing of stack trace in debug mode. improved parsing of sta + improved parsing of stack trace in debug mode. improved parsing of sta improved parsing of stack trace in debug mode. Improved parsing of stack trace in debug mode. + moved setuid native code to contrib hierarchy moved setuid native code moved + setuid native code to contrib hierarchy moved setuid native code moved setuid native code to contrib hierarchy Moved SetUID native code to contrib hierarchy + requestdispatcher handles uri parameters requestdispatcher handles uri + requestdispatcher handles uri parameters requestdispatcher handles uri requestdispatcher handles uri parameters RequestDispatcher handles URI parameters - + upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 + + upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 upgraded to gnujsp 1 + upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 upgraded to gnujsp 1.0.0 Upgraded to gnujsp 1.0.0 jetty-2.3.5 - 25 January 2000 - + added configuration option to turn off keep-alive in http/1.0 added added + + added configuration option to turn off keep-alive in http/1.0 added ad added + configuration option to turn off keep-alive in http/1.0 added added configuration option to turn off keep-alive in http/1.0 Added configuration option to turn off Keep-Alive in HTTP/1.0 + added contrib/com/kiwiconsulting/jetty jsse ssl adaptor to release. ad added + contrib/com/kiwiconsulting/jetty jsse ssl adaptor to release. ad added contrib/com/kiwiconsulting/jetty jsse ssl adaptor to release. Added contrib/com/kiwiconsulting/jetty JSSE SSL adaptor to release. + allow configured servlets to be auto reloaded. allow configured servle allow + configured servlets to be auto reloaded. allow configured servle allow configured servlets to be auto reloaded. Allow configured servlets to be auto reloaded. + allow properties to be configured for dynamic servlets. allow properti allow + properties to be configured for dynamic servlets. allow properti allow properties to be configured for dynamic servlets. Allow properties to be configured for dynamic servlets. - + fixed expires bug in cookies fixed expires bug in cookies fixed expires bug - in cookies Fixed expires bug in Cookies + + fixed expires bug in cookies fixed expires bug in cookies fixed expire fixed + expires bug in cookies fixed expires bug in cookies fixed expires bug in + cookies Fixed expires bug in Cookies + fixed nasty bug with http/1.1 redirects. fixed nasty bug with http/1.1 fixed - nasty bug with http/1.1 redirects. Fixed nasty bug with HTTP/1.1 redirects. + nasty bug with http/1.1 redirects. fixed nasty bug with http/1.1 fixed nasty + bug with http/1.1 redirects. Fixed nasty bug with HTTP/1.1 redirects. + force locale of date formats to us. force locale of date formats to us force + locale of date formats to us. force locale of date formats to us force locale of date formats to us. Force locale of date formats to US. + proxyhandler sends content for posts etc. proxyhandler sends content f + proxyhandler sends content for posts etc. proxyhandler sends content f proxyhandler sends content for posts etc. ProxyHandler sends content for POSTs etc. jetty-2.3.4 - 18 January 2000 - + cookie map keyed on domain as well as name and path. cookie map keyed - cookie map keyed on domain as well as name and path. Cookie map keyed on - domain as well as name and path. + + cookie map keyed on domain as well as name and path. cookie map keyed cookie + map keyed on domain as well as name and path. cookie map keyed cookie map + keyed on domain as well as name and path. Cookie map keyed on domain as well + as name and path. + dictionaryconverter handles null values. dictionaryconverter handles n + dictionaryconverter handles null values. dictionaryconverter handles n dictionaryconverter handles null values. DictionaryConverter handles null values. - + fixed illegalstateexception handling in defaultexceptionhandler fixed fixed + + fixed illegalstateexception handling in defaultexceptionhandler fixed fixed + illegalstateexception handling in defaultexceptionhandler fixed fixed illegalstateexception handling in defaultexceptionhandler Fixed IllegalStateException handling in DefaultExceptionHandler + fixed interaction with resourcepaths and proxy demo. fixed interaction fixed + interaction with resourcepaths and proxy demo. fixed interaction fixed interaction with resourcepaths and proxy demo. Fixed interaction with resourcePaths and proxy demo. + improved htmlfilter.activate header modifications. improved improved + improved htmlfilter.activate header modifications. improved improved htmlfilter.activate header modifications. Improved HtmlFilter.activate header modifications. - + include from linux rather than genunix for native builds include from + + include from linux rather than genunix for native builds include from + include from linux rather than genunix for native builds include from include from linux rather than genunix for native builds include from linux rather than genunix for native builds + methodtag.invoke() is now public. methodtag.invoke() is now public. + methodtag.invoke() is now public. methodtag.invoke() is now public. methodtag.invoke() is now public. MethodTag.invoke() is now public. + servlet properties allow objects to be stored. servlet properties allo + servlet properties allow objects to be stored. servlet properties allo servlet properties allow objects to be stored. Servlet properties allow objects to be stored. - + uri decodes applies url decoding to the path. uri decodes applies url uri + + uri decodes applies url decoding to the path. uri decodes applies url uri + decodes applies url decoding to the path. uri decodes applies url uri decodes applies url decoding to the path. URI decodes applies URL decoding to the path. jetty-3.0.A5 - 19 October 1999 + do our own url string encoding with 8859-1 do our own url string encod do - our own url string encoding with 8859-1 Do our own URL string encoding with + our own url string encoding with 8859-1 do our own url string encod do our + own url string encoding with 8859-1 Do our own URL string encoding with 8859-1 + replaced lf wait in lineinput with state boolean. replaced lf wait in + replaced lf wait in lineinput with state boolean. replaced lf wait in replaced lf wait in lineinput with state boolean. Replaced LF wait in LineInput with state boolean. + use char array in urlencoded.decode use char array in urlencoded.decod use - char array in urlencoded.decode Use char array in UrlEncoded.decode + char array in urlencoded.decode use char array in urlencoded.decod use char + array in urlencoded.decode Use char array in UrlEncoded.decode + use iso8859_1 instead of utf8 for headers etc. use iso8859_1 instead o use + iso8859_1 instead of utf8 for headers etc. use iso8859_1 instead o use iso8859_1 instead of utf8 for headers etc. Use ISO8859_1 instead of UTF8 for headers etc. jetty-2.3.3 - 19 October 1999 - + do our own url encoding with iso-8859-1 do our own url encoding with do our - own url encoding with iso-8859-1 Do our own URL encoding with ISO-8859-1 + + do our own url encoding with iso-8859-1 do our own url encoding with d do + our own url encoding with iso-8859-1 do our own url encoding with do our own + url encoding with iso-8859-1 Do our own URL encoding with ISO-8859-1 + http.html.embedurl uses contents encoding. http.html.embedurl uses con + http.html.embedurl uses contents encoding. http.html.embedurl uses con http.html.embedurl uses contents encoding. HTTP.HTML.EmbedUrl uses contents encoding. + replaced utf8 encoding with iso-8859-1 for headers. replaced utf8 enco + replaced utf8 encoding with iso-8859-1 for headers. replaced utf8 enco replaced utf8 encoding with iso-8859-1 for headers. Replaced UTF8 encoding with ISO-8859-1 for headers. + use urlencoded for form parameters. use urlencoded for form parameters use + urlencoded for form parameters. use urlencoded for form parameters use urlencoded for form parameters. Use UrlEncoded for form parameters. jetty-2.3.2 - 17 October 1999 + fixed getreader bug with httprequest. fixed getreader bug with httpreq fixed + getreader bug with httprequest. fixed getreader bug with httpreq fixed getreader bug with httprequest. Fixed getReader bug with HttpRequest. + updated urlencoded with jetty3 version. updated urlencoded with jetty3 + updated urlencoded with jetty3 version. updated urlencoded with jetty3 updated urlencoded with jetty3 version. Updated UrlEncoded with Jetty3 version. jetty-3.0.A4 - 16 October 1999 + added lf wait after cr to lineinput. added lf wait after cr to lineinp added - lf wait after cr to lineinput. Added LF wait after CR to LineInput. - + basic authentication handler. basic authentication handler. basic - authentication handler. Basic Authentication Handler. - + request attributes request attributes request attributes Request attributes - + utf8 in urldecoded.decodestring. utf8 in urldecoded.decodestring. utf8 in + lf wait after cr to lineinput. added lf wait after cr to lineinp added lf + wait after cr to lineinput. Added LF wait after CR to LineInput. + + basic authentication handler. basic authentication handler. basic basic + authentication handler. basic authentication handler. basic authentication + handler. Basic Authentication Handler. + + request attributes request attributes request attributes request attri + request attributes request attributes request attributes Request attributes + + utf8 in urldecoded.decodestring. utf8 in urldecoded.decodestring. utf8 utf8 + in urldecoded.decodestring. utf8 in urldecoded.decodestring. utf8 in urldecoded.decodestring. UTF8 in UrlDecoded.decodeString. jetty-2.3.1 - 14 October 1999 + added assert with no message to code added assert with no message to c added + assert with no message to code added assert with no message to c added assert with no message to code Added assert with no message to Code - + added oracle db adapter added oracle db adapter added oracle db adapter - Added Oracle DB adapter + + added oracle db adapter added oracle db adapter added oracle db adapte added + oracle db adapter added oracle db adapter added oracle db adapter Added + Oracle DB adapter + changed demo servlets to use writers in preference to outputstreams ch + changed demo servlets to use writers in preference to outputstreams ch changed demo servlets to use writers in preference to outputstreams Changed demo servlets to use writers in preference to outputstreams - + fixed gnujsp 1.0 resource bug. fixed gnujsp 1.0 resource bug. fixed gnujsp - 1.0 resource bug. Fixed GNUJSP 1.0 resource bug. - + force utf8 for ftp commands force utf8 for ftp commands force utf8 for ftp + + fixed gnujsp 1.0 resource bug. fixed gnujsp 1.0 resource bug. fixed gn fixed + gnujsp 1.0 resource bug. fixed gnujsp 1.0 resource bug. fixed gnujsp 1.0 + resource bug. Fixed GNUJSP 1.0 resource bug. + + force utf8 for ftp commands force utf8 for ftp commands force utf8 for force + utf8 for ftp commands force utf8 for ftp commands force utf8 for ftp commands Force UTF8 for FTP commands - + force utf8 for html force utf8 for html force utf8 for html Force UTF8 for - HTML + + force utf8 for html force utf8 for html force utf8 for html force utf8 force + utf8 for html force utf8 for html force utf8 for html Force UTF8 for HTML + http/1.0 keep-alive (about time!). http/1.0 keep-alive (about time!). + http/1.0 keep-alive (about time!). http/1.0 keep-alive (about time!). http/1.0 keep-alive (about time!). HTTP/1.0 Keep-Alive (about time!). + nullhandler/server default name.name.properties to load nullhandler/se + nullhandler/server default name.name.properties to load nullhandler/se nullhandler/server default name.name.properties to load NullHandler/Server default name.name.PROPERTIES to load prefix/name.name.properties + prevented thread churn on idle server. prevented thread churn on idle + prevented thread churn on idle server. prevented thread churn on idle prevented thread churn on idle server. Prevented thread churn on idle server. + threadedserver calls setsotimeout(_maxthreadidlems) on accepted socket + threadedserver calls setsotimeout(_maxthreadidlems) on accepted socket threadedserver calls setsotimeout(_maxthreadidlems) on accepted socket ThreadedServer calls setSoTimeout(_maxThreadIdleMs) on accepted sockets. Idle reads will timeout. - + use utf8 in http headers use utf8 in http headers use utf8 in http headers - Use UTF8 in HTTP headers + + use utf8 in http headers use utf8 in http headers use utf8 in http hea use + utf8 in http headers use utf8 in http headers use utf8 in http headers Use + UTF8 in HTTP headers jetty-3.0.A3 - 14 October 1999 - + added lifecycle interface to utils implemented by threadpool, added added + + added lifecycle interface to utils implemented by threadpool, added ad added + lifecycle interface to utils implemented by threadpool, added added lifecycle interface to utils implemented by threadpool, Added LifeCycle interface to Utils implemented by ThreadPool, ThreadedServer, HttpListener & HttpHandler + added service method to httpconnection for specialization. added servi added + service method to httpconnection for specialization. added servi added service method to httpconnection for specialization. Added service method to HttpConnection for specialization. - + maxreadtimems added to threadedserver. maxreadtimems added to maxreadtimems + + maxreadtimems added to threadedserver. maxreadtimems added to maxreadt + maxreadtimems added to threadedserver. maxreadtimems added to maxreadtimems added to threadedserver. MaxReadTimeMs added to ThreadedServer. + startall, stopall and destroyall methods added to httpserver. startall + startall, stopall and destroyall methods added to httpserver. startall startall, stopall and destroyall methods added to httpserver. StartAll, stopAll and destroyAll methods added to HttpServer. jetty-3.0.A2 - 13 October 1999 - + added cookie support and demo. added cookie support and demo. added cookie - support and demo. Added cookie support and demo. - + cleaned up util testharness. cleaned up util testharness. cleaned up util + + added cookie support and demo. added cookie support and demo. added co added + cookie support and demo. added cookie support and demo. added cookie support + and demo. Added cookie support and demo. + + cleaned up util testharness. cleaned up util testharness. cleaned up u + cleaned up util testharness. cleaned up util testharness. cleaned up util testharness. Cleaned up Util TestHarness. + fixed lineinput problem with repeated crs fixed lineinput problem with fixed + lineinput problem with repeated crs fixed lineinput problem with fixed lineinput problem with repeated crs Fixed LineInput problem with repeated CRs - + head handling. head handling. head handling. HEAD handling. - + http/1.0 keep-alive (about time!) http/1.0 keep-alive (about time!) http/1.0 + + head handling. head handling. head handling. head handling. head handling. + head handling. head handling. HEAD handling. + + http/1.0 keep-alive (about time!) http/1.0 keep-alive (about time!) ht + http/1.0 keep-alive (about time!) http/1.0 keep-alive (about time!) http/1.0 keep-alive (about time!) HTTP/1.0 Keep-alive (about time!) - + notfound handler notfound handler notfound handler NotFound Handler - + option * handling. option * handling. option * handling. OPTION * Handling. + + notfound handler notfound handler notfound handler notfound handler notfound + handler notfound handler notfound handler NotFound Handler + + option * handling. option * handling. option * handling. option * hand + option * handling. option * handling. option * handling. OPTION * Handling. + prevent entity content for responses 100-199,203,304 prevent entity co + prevent entity content for responses 100-199,203,304 prevent entity co prevent entity content for responses 100-199,203,304 Prevent entity content for responses 100-199,203,304 + reduced flushing on writing response. reduced flushing on writing resp + reduced flushing on writing response. reduced flushing on writing resp reduced flushing on writing response. Reduced flushing on writing response. - + trace handling. trace handling. trace handling. TRACE handling. + + trace handling. trace handling. trace handling. trace handling. trace + handling. trace handling. trace handling. TRACE handling. + utf8 handling on raw output stream. utf8 handling on raw output stream utf8 + handling on raw output stream. utf8 handling on raw output stream utf8 handling on raw output stream. UTF8 handling on raw output stream. - + virtual hosts. virtual hosts. virtual hosts. Virtual Hosts. + + virtual hosts. virtual hosts. virtual hosts. virtual hosts. virtual hosts. + virtual hosts. virtual hosts. Virtual Hosts. jetty-3.0.A1 - 12 October 1999 - + added httphandler interface with start/stop/destroy lifecycle added added + + added httphandler interface with start/stop/destroy lifecycle added ad added + httphandler interface with start/stop/destroy lifecycle added added httphandler interface with start/stop/destroy lifecycle Added HttpHandler interface with start/stop/destroy lifecycle + added multimap for common handling of multiple valued parameters. adde added + multimap for common handling of multiple valued parameters. adde added multimap for common handling of multiple valued parameters. Added MultiMap for common handling of multiple valued parameters. - + added parameters to httprequest added parameters to httprequest added - parameters to httprequest Added parameters to HttpRequest + + added parameters to httprequest added parameters to httprequest added added + parameters to httprequest added parameters to httprequest added parameters + to httprequest Added parameters to HttpRequest + added pathmap implementing mapping as defined in the 2.2 api specifica added + pathmap implementing mapping as defined in the 2.2 api specifica added pathmap implementing mapping as defined in the 2.2 api specifica Added PathMap implementing mapping as defined in the 2.2 API specification (ie. /exact, /prefix/*, *.extention & default ). + implemented simple extension architecture in httpserver. implemented s + implemented simple extension architecture in httpserver. implemented s implemented simple extension architecture in httpserver. Implemented simple extension architecture in HttpServer. + lineinput uses own buffering and uses character encodings. lineinput u + lineinput uses own buffering and uses character encodings. lineinput u lineinput uses own buffering and uses character encodings. LineInput uses own buffering and uses character encodings. - + quick port of filehandler quick port of filehandler quick port of - filehandler Quick port of FileHandler - + setup demo pages. setup demo pages. setup demo pages. Setup demo pages. + + quick port of filehandler quick port of filehandler quick port of quick port + of filehandler quick port of filehandler quick port of filehandler Quick + port of FileHandler + + setup demo pages. setup demo pages. setup demo pages. setup demo pages setup + demo pages. setup demo pages. setup demo pages. Setup demo pages. + updated httplistener is start/stop/destroy lifecycle. updated httplist + updated httplistener is start/stop/destroy lifecycle. updated httplist updated httplistener is start/stop/destroy lifecycle. Updated HttpListener is start/stop/destroy lifecycle. jetty-3.0.A0 - 09 October 1999 - + added generalized http connection. added generalized http connection. added + + added generalized http connection. added generalized http connection. added + generalized http connection. added generalized http connection. added generalized http connection. Added generalized HTTP Connection. + added support for servlet 2.2 outbut buffer control. added support for added + support for servlet 2.2 outbut buffer control. added support for added support for servlet 2.2 outbut buffer control. Added support for servlet 2.2 outbut buffer control. + added support for transfer and content encoding filters. added support added + support for transfer and content encoding filters. added support added support for transfer and content encoding filters. Added support for transfer and content encoding filters. + cleaned up chunking code to use lineinput and reduce buffering. cleane + cleaned up chunking code to use lineinput and reduce buffering. cleane cleaned up chunking code to use lineinput and reduce buffering. Cleaned up chunking code to use LineInput and reduce buffering. - + cleanup and abstraction of threadpool. cleanup and abstraction of cleanup + + cleanup and abstraction of threadpool. cleanup and abstraction of clea + cleanup and abstraction of threadpool. cleanup and abstraction of cleanup and abstraction of threadpool. Cleanup and abstraction of ThreadPool. + cleanup of httprequest and decoupled from servlet api cleanup of httpr + cleanup of httprequest and decoupled from servlet api cleanup of httpr cleanup of httprequest and decoupled from servlet api Cleanup of HttpRequest and decoupled from Servlet API - + cleanup of httpresponse and decoupled from servlet api cleanup of cleanup of + + cleanup of httpresponse and decoupled from servlet api cleanup of clea + cleanup of httpresponse and decoupled from servlet api cleanup of cleanup of httpresponse and decoupled from servlet api Cleanup of HttpResponse and decoupled from Servlet API + cleanup of lineinput, using 1.2 collections. cleanup of lineinput, usi + cleanup of lineinput, using 1.2 collections. cleanup of lineinput, usi cleanup of lineinput, using 1.2 collections. Cleanup of LineInput, using 1.2 Collections. - + cleanup of uri, using 1.2 collections. cleanup of uri, using 1.2 cleanup of + + cleanup of uri, using 1.2 collections. cleanup of uri, using 1.2 clean + cleanup of uri, using 1.2 collections. cleanup of uri, using 1.2 cleanup of uri, using 1.2 collections. Cleanup of URI, using 1.2 Collections. + cleanup of urlencoded, using 1.2 collections. cleanup of urlencoded, u + cleanup of urlencoded, using 1.2 collections. cleanup of urlencoded, u cleanup of urlencoded, using 1.2 collections. Cleanup of UrlEncoded, using 1.2 Collections. - + created rfc2616 test harness. created rfc2616 test harness. created rfc2616 + + created rfc2616 test harness. created rfc2616 test harness. created rf + created rfc2616 test harness. created rfc2616 test harness. created rfc2616 test harness. Created RFC2616 test harness. + extended uri to handle absolute urls extended uri to handle absolute u + extended uri to handle absolute urls extended uri to handle absolute u extended uri to handle absolute urls Extended URI to handle absolute URLs + generalized notification of outputstream events. generalized notificat + generalized notification of outputstream events. generalized notificat generalized notification of outputstream events. Generalized notification of outputStream events. - + gzip and deflate request transfer encodings gzip and deflate request gzip - and deflate request transfer encodings gzip and deflate request transfer + + gzip and deflate request transfer encodings gzip and deflate request g gzip + and deflate request transfer encodings gzip and deflate request gzip and + deflate request transfer encodings gzip and deflate request transfer encodings + httpexceptions now produce error pages with specific detail of the + httpexceptions now produce error pages with specific detail of the httpexceptions now produce error pages with specific detail of the HttpExceptions now produce error pages with specific detail of the exception. + httpmessage supports chunked trailers. httpmessage supports chunked + httpmessage supports chunked trailers. httpmessage supports chunked httpmessage supports chunked trailers. HttpMessage supports chunked trailers. + httpmessage supports message states. httpmessage supports message stat + httpmessage supports message states. httpmessage supports message stat httpmessage supports message states. HttpMessage supports message states. + moved com.mortbay.base classes to com.mortbay.util moved com.mortbay.b moved + com.mortbay.base classes to com.mortbay.util moved com.mortbay.b moved com.mortbay.base classes to com.mortbay.util Moved com.mortbay.Base classes to com.mortbay.Util - + moved httpinput/outputstream to chunkableinput/outputstream. moved moved + + moved httpinput/outputstream to chunkableinput/outputstream. moved mov moved + httpinput/outputstream to chunkableinput/outputstream. moved moved httpinput/outputstream to chunkableinput/outputstream. Moved HttpInput/OutputStream to ChunkableInput/OutputStream. + split httpheader into httpfields and httpmessage. split httpheader int split + httpheader into httpfields and httpmessage. split httpheader int split httpheader into httpfields and httpmessage. Split HttpHeader into HttpFields and HttpMessage. - + started fresh repository in cvs started fresh repository in cvs started + + started fresh repository in cvs started fresh repository in cvs starte + started fresh repository in cvs started fresh repository in cvs started fresh repository in cvs Started fresh repository in CVS + te field coding and trailer handler te field coding and trailer handle te - field coding and trailer handler TE field coding and trailer handler + field coding and trailer handler te field coding and trailer handle te field + coding and trailer handler TE field coding and trailer handler + threadedserver based on threadpool. threadedserver based on threadpool + threadedserver based on threadpool. threadedserver based on threadpool threadedserver based on threadpool. ThreadedServer based on ThreadPool. jetty-2.3.0 - 05 October 1999 + added setuid class with native unix call to set the effective user id. added + setuid class with native unix call to set the effective user id. added setuid class with native unix call to set the effective user id. Added SetUID class with native Unix call to set the effective User ID. - + ftp closes files after put/get. ftp closes files after put/get. ftp closes - files after put/get. FTP closes files after put/get. + + ftp closes files after put/get. ftp closes files after put/get. ftp cl ftp + closes files after put/get. ftp closes files after put/get. ftp closes files + after put/get. FTP closes files after put/get. + ftp uses inetaddress of command socket for data socket. ftp uses ineta ftp - uses inetaddress of command socket for data socket. FTP uses InetAddress of + uses inetaddress of command socket for data socket. ftp uses ineta ftp uses + inetaddress of command socket for data socket. FTP uses InetAddress of command socket for data socket. jetty-2.3.0A - 22 September 1999 - + added "powered by jetty" button. added "powered by jetty" button. added - "powered by jetty" button. Added "Powered by Jetty" button. - + added buildjetty.java file. added buildjetty.java file. added - buildjetty.java file. Added BuildJetty.java file. + + added "powered by jetty" button. added "powered by jetty" button. adde added + "powered by jetty" button. added "powered by jetty" button. added "powered + by jetty" button. Added "Powered by Jetty" button. + + added buildjetty.java file. added buildjetty.java file. added added + buildjetty.java file. added buildjetty.java file. added buildjetty.java + file. Added BuildJetty.java file. + added gnujsp 1.0 for the jsp 1.0 api. added gnujsp 1.0 for the jsp 1.0 added + gnujsp 1.0 for the jsp 1.0 api. added gnujsp 1.0 for the jsp 1.0 added gnujsp 1.0 for the jsp 1.0 api. Added GNUJSP 1.0 for the JSP 1.0 API. + expanded tabs to spaces in source. expanded tabs to spaces in source. + expanded tabs to spaces in source. expanded tabs to spaces in source. expanded tabs to spaces in source. Expanded tabs to spaces in source. + made session ids less predictable and removed race. made session ids l made + session ids less predictable and removed race. made session ids l made session ids less predictable and removed race. Made session IDs less predictable and removed race. + servercontext available to htmlfilters via context param servercontext + servercontext available to htmlfilters via context param servercontext servercontext available to htmlfilters via context param ServerContext available to HtmlFilters via context param + use javax.servlet classes from jwsdk1.0 use javax.servlet classes from use + javax.servlet classes from jwsdk1.0 use javax.servlet classes from use javax.servlet classes from jwsdk1.0 Use javax.servlet classes from JWSDK1.0 jetty-2.2.8 - 15 September 1999 + added disablelog() to turn off logging. added disablelog() to turn off added + disablelog() to turn off logging. added disablelog() to turn off added disablelog() to turn off logging. Added disableLog() to turn off logging. - + allow default table attributes to be overriden. allow default table allow - default table attributes to be overriden. Allow default table attributes to - be overriden. - + fixed bug in element.attribute with empty string values. fixed bug in fixed - bug in element.attribute with empty string values. Fixed bug in - Element.attribute with empty string values. + + allow default table attributes to be overriden. allow default table al allow + default table attributes to be overriden. allow default table allow default + table attributes to be overriden. Allow default table attributes to be + overriden. + + fixed bug in element.attribute with empty string values. fixed bug in fixed + bug in element.attribute with empty string values. fixed bug in fixed bug in + element.attribute with empty string values. Fixed bug in Element.attribute + with empty string values. + improved quoting in html element values improved quoting in html eleme + improved quoting in html element values improved quoting in html eleme improved quoting in html element values Improved quoting in HTML element values - + made translation of getrequesturi() optional. made translation of made + + made translation of getrequesturi() optional. made translation of made made + translation of getrequesturi() optional. made translation of made translation of getrequesturi() optional. Made translation of getRequestURI() optional. - + removed recursion from translationhandler removed recursion from removed + + removed recursion from translationhandler removed recursion from remov + removed recursion from translationhandler removed recursion from removed recursion from translationhandler Removed recursion from TranslationHandler jetty-2.2.7 - 09 September 1999 + added default row, head and cell elements to table. added default row, added + default row, head and cell elements to table. added default row, added default row, head and cell elements to table. Added default row, head and cell elements to Table. - + added gzipfilter for content encoding. added gzipfilter for content added + + added gzipfilter for content encoding. added gzipfilter for content ad added + gzipfilter for content encoding. added gzipfilter for content added gzipfilter for content encoding. Added GzipFilter for content encoding. + filehandler passes post request through if the file does not exist. + filehandler passes post request through if the file does not exist. filehandler passes post request through if the file does not exist. FileHandler passes POST request through if the file does not exist. + reverted semantics of getrequesturi() to return untranslated uri. reve + reverted semantics of getrequesturi() to return untranslated uri. reve reverted semantics of getrequesturi() to return untranslated uri. Reverted semantics of getRequestURI() to return untranslated URI. jetty-2.2.6 - 05 September 1999 + added destroy() method on all httphandlers. added destroy() method on added + destroy() method on all httphandlers. added destroy() method on added destroy() method on all httphandlers. Added destroy() method on all HttpHandlers. - + added servletrunnerhandler to the contrib directories. added added + + added servletrunnerhandler to the contrib directories. added added added + servletrunnerhandler to the contrib directories. added added servletrunnerhandler to the contrib directories. Added ServletRunnerHandler to the contrib directories. + allow the handling of getpathtranslated to be configured in servlethan allow - the handling of getpathtranslated to be configured in servlethan Allow the + the handling of getpathtranslated to be configured in servlethan allow the + handling of getpathtranslated to be configured in servlethan Allow the handling of getPathTranslated to be configured in ServletHandler. - + class stylelink added. class stylelink added. class stylelink added. class + + class stylelink added. class stylelink added. class stylelink added. c class + stylelink added. class stylelink added. class stylelink added. class StyleLink added. + cookies always available from getcookies. cookies always available fro + cookies always available from getcookies. cookies always available fro cookies always available from getcookies. Cookies always available from getCookies. + cookies parameter renamed to cookiesasparameters cookies parameter ren + cookies parameter renamed to cookiesasparameters cookies parameter ren cookies parameter renamed to cookiesasparameters Cookies parameter renamed to CookiesAsParameters + cssclass, cssid and style methods added to element. cssclass, cssid an + cssclass, cssid and style methods added to element. cssclass, cssid an cssclass, cssid and style methods added to element. cssClass, cssID and style methods added to element. + filehandler does not server files ending in '/' filehandler does not s + filehandler does not server files ending in '/' filehandler does not s filehandler does not server files ending in '/' FileHandler does not server files ending in '/' + fixed cookie max age order of magnitude bug. fixed cookie max age orde fixed + cookie max age order of magnitude bug. fixed cookie max age orde fixed cookie max age order of magnitude bug. Fixed Cookie max age order of magnitude bug. + httprequest.getsession() always returns a session as per the latest ap + httprequest.getsession() always returns a session as per the latest ap httprequest.getsession() always returns a session as per the latest ap HttpRequest.getSession() always returns a session as per the latest API spec. + ignore duplicate single valued headers, rather than reply with bad req + ignore duplicate single valued headers, rather than reply with bad req ignore duplicate single valued headers, rather than reply with bad req Ignore duplicate single valued headers, rather than reply with bad request, as IE4 breaks the rules. - + media added to style media added to style media added to style media added - to Style - + new implementation of threadpool, avoids a thread leak problem. new new + + media added to style media added to style media added to style media a media + added to style media added to style media added to style media added to + Style + + new implementation of threadpool, avoids a thread leak problem. new ne new + implementation of threadpool, avoids a thread leak problem. new new implementation of threadpool, avoids a thread leak problem. New implementation of ThreadPool, avoids a thread leak problem. + removed jrun options from servlethandler configuration. removed jrun o + removed jrun options from servlethandler configuration. removed jrun o removed jrun options from servlethandler configuration. Removed JRUN options from ServletHandler configuration. + servlethandler.destroy destroys all servlets. servlethandler.destroy + servlethandler.destroy destroys all servlets. servlethandler.destroy servlethandler.destroy destroys all servlets. ServletHandler.destroy destroys all servlets. - + span added to block span added to block span added to block SPAN added to - Block + + span added to block span added to block span added to block span added span + added to block span added to block span added to block SPAN added to Block + updated html package to better support css: updated html package to be + updated html package to better support css: updated html package to be updated html package to better support css: Updated HTML package to better support CSS: jetty-2.2.5 - 19 August 1999 + always close connection after a bad request. always close connection a + always close connection after a bad request. always close connection a always close connection after a bad request. Always close connection after a bad request. + better default handling of servletexceptions better default handling o + better default handling of servletexceptions better default handling o better default handling of servletexceptions Better default handling of ServletExceptions + close loaded class files so win32 can overwrite them before gc (what a close + loaded class files so win32 can overwrite them before gc (what a close loaded class files so win32 can overwrite them before gc (what a Close loaded class files so Win32 can overwrite them before GC (what a silly file system!). + don't override the cookie as parameter option. don't override the cook don't + override the cookie as parameter option. don't override the cook don't override the cookie as parameter option. Don't override the cookie as parameter option. + fixed bug with closing connections in threadedserver fixed bug with cl fixed - bug with closing connections in threadedserver Fixed bug with closing + bug with closing connections in threadedserver fixed bug with cl fixed bug + with closing connections in threadedserver Fixed bug with closing connections in ThreadedServer + improved error messages from jetty.server. improved error messages fro + improved error messages from jetty.server. improved error messages fro improved error messages from jetty.server. Improved error messages from Jetty.Server. - + limited growth in multipartresponse boundary. limited growth in limited + + limited growth in multipartresponse boundary. limited growth in limite + limited growth in multipartresponse boundary. limited growth in limited growth in multipartresponse boundary. Limited growth in MultiPartResponse boundary. + made start and stop non final in threadedserver made start and stop no made - start and stop non final in threadedserver Made start and stop non final in + start and stop non final in threadedserver made start and stop no made start + and stop non final in threadedserver Made start and stop non final in ThreadedServer - + set expires header in htmlfilter. set expires header in htmlfilter. set - expires header in htmlfilter. Set Expires header in HtmlFilter. + + set expires header in htmlfilter. set expires header in htmlfilter. se set + expires header in htmlfilter. set expires header in htmlfilter. set expires + header in htmlfilter. Set Expires header in HtmlFilter. jetty-2.2.4 - 02 August 1999 + better help on jetty.server better help on jetty.server better help on + better help on jetty.server better help on jetty.server better help on jetty.server Better help on Jetty.Server - + fixed bugs in htmlfilter parser and added testharness. fixed bugs in fixed - bugs in htmlfilter parser and added testharness. Fixed bugs in HtmlFilter - parser and added TestHarness. + + fixed bugs in htmlfilter parser and added testharness. fixed bugs in f fixed + bugs in htmlfilter parser and added testharness. fixed bugs in fixed bugs in + htmlfilter parser and added testharness. Fixed bugs in HtmlFilter parser and + added TestHarness. + htmlfilter blanks ifmodifiedsince headers on construction htmlfilter b + htmlfilter blanks ifmodifiedsince headers on construction htmlfilter b htmlfilter blanks ifmodifiedsince headers on construction HtmlFilter blanks IfModifiedSince headers on construction + httprequests may be passed to httpfilter constructors. httprequests ma + httprequests may be passed to httpfilter constructors. httprequests ma httprequests may be passed to httpfilter constructors. HttpRequests may be passed to HttpFilter constructors. - + improved cfg rcs script. improved cfg rcs script. improved cfg rcs script. + + improved cfg rcs script. improved cfg rcs script. improved cfg rcs scr + improved cfg rcs script. improved cfg rcs script. improved cfg rcs script. Improved cfg RCS script. + threadedserver can use subclasses of thread. threadedserver can use + threadedserver can use subclasses of thread. threadedserver can use threadedserver can use subclasses of thread. ThreadedServer can use subclasses of Thread. jetty-2.2.3 - 27 July 1999 + added stop call to httpserver, used by exit servlet. added stop call t added - stop call to httpserver, used by exit servlet. Added stop call to - HttpServer, used by Exit Servlet. + stop call to httpserver, used by exit servlet. added stop call t added stop + call to httpserver, used by exit servlet. Added stop call to HttpServer, + used by Exit Servlet. + filehandler defaults to allowing directory access. filehandler default + filehandler defaults to allowing directory access. filehandler default filehandler defaults to allowing directory access. FileHandler defaults to allowing directory access. - + fixed parser bug in htmlfilter fixed parser bug in htmlfilter fixed parser - bug in htmlfilter Fixed parser bug in HtmlFilter - + improved performance of com.mortbay.html.heading improved performance + + fixed parser bug in htmlfilter fixed parser bug in htmlfilter fixed pa fixed + parser bug in htmlfilter fixed parser bug in htmlfilter fixed parser bug in + htmlfilter Fixed parser bug in HtmlFilter + + improved performance of com.mortbay.html.heading improved performance + improved performance of com.mortbay.html.heading improved performance improved performance of com.mortbay.html.heading Improved performance of com.mortbay.HTML.Heading + jdbc tests modified to use cloudscape as db. jdbc tests modified to us jdbc - tests modified to use cloudscape as db. JDBC tests modified to use - cloudscape as DB. + tests modified to use cloudscape as db. jdbc tests modified to us jdbc tests + modified to use cloudscape as db. JDBC tests modified to use cloudscape as + DB. + made setinitialize public in servletholder made setinitialize public i made + setinitialize public in servletholder made setinitialize public i made setinitialize public in servletholder Made setInitialize public in ServletHolder + simplified jdbc connection handling so that it works with java1.2 - al + simplified jdbc connection handling so that it works with java1.2 - al simplified jdbc connection handling so that it works with java1.2 - al Simplified JDBC connection handling so that it works with Java1.2 - albeit less efficiently. jetty-2.2.2 - 22 July 1999 + file handler passes through not allowed options for non existant files file + handler passes through not allowed options for non existant files file handler passes through not allowed options for non existant files File handler passes through not allowed options for non existant files. - + fixed bug in com.mortbay.util.io with thread routines. fixed bug in fixed - bug in com.mortbay.util.io with thread routines. Fixed bug in - com.mortbay.Util.IO with thread routines. + + fixed bug in com.mortbay.util.io with thread routines. fixed bug in fi fixed + bug in com.mortbay.util.io with thread routines. fixed bug in fixed bug in + com.mortbay.util.io with thread routines. Fixed bug in com.mortbay.Util.IO + with thread routines. + fixed bug in htmlfilter that prevented single char buffers from being fixed - bug in htmlfilter that prevented single char buffers from being Fixed bug in + bug in htmlfilter that prevented single char buffers from being fixed bug + in htmlfilter that prevented single char buffers from being Fixed bug in HtmlFilter that prevented single char buffers from being written. + fixed bug with classpath in filejarservletloader after attempt to load fixed - bug with classpath in filejarservletloader after attempt to load Fixed bug - with CLASSPATH in FileJarServletLoader after attempt to load from a jar. + bug with classpath in filejarservletloader after attempt to load fixed bug + with classpath in filejarservletloader after attempt to load Fixed bug with + CLASSPATH in FileJarServletLoader after attempt to load from a jar. + implemented getresourceasstream in filejarservletloader implemented + implemented getresourceasstream in filejarservletloader implemented implemented getresourceasstream in filejarservletloader Implemented getResourceAsStream in FileJarServletLoader - + improved com.mortbay.base.log handling of different jvms improved improved + + improved com.mortbay.base.log handling of different jvms improved impr + improved com.mortbay.base.log handling of different jvms improved improved com.mortbay.base.log handling of different jvms Improved com.mortbay.Base.Log handling of different JVMs - + minor fixes to readme minor fixes to readme minor fixes to readme Minor - fixes to README + + minor fixes to readme minor fixes to readme minor fixes to readme mino minor + fixes to readme minor fixes to readme minor fixes to readme Minor fixes to + README + moved more test harnesses out of classes. moved more test harnesses ou moved - more test harnesses out of classes. Moved more test harnesses out of - classes. + more test harnesses out of classes. moved more test harnesses ou moved more + test harnesses out of classes. Moved more test harnesses out of classes. + notfoundhandler can repond with sc_method_not_allowed. notfoundhandler + notfoundhandler can repond with sc_method_not_allowed. notfoundhandler notfoundhandler can repond with sc_method_not_allowed. NotFoundHandler can repond with SC_METHOD_NOT_ALLOWED. jetty-2.2.1 - 18 July 1999 + added optional resourcebase property to httpconfiguration. this is use added + optional resourcebase property to httpconfiguration. this is use added optional resourcebase property to httpconfiguration. this is use Added optional resourceBase property to HttpConfiguration. This is used as a URL prefix in the getResource API and was suggested by the JSERV and Tomcat implementors. - + added terseexceptionhandler added terseexceptionhandler added + + added terseexceptionhandler added terseexceptionhandler added added + terseexceptionhandler added terseexceptionhandler added terseexceptionhandler Added TerseExceptionHandler - + comma separate header fields. comma separate header fields. comma separate - header fields. Comma separate header fields. + + comma separate header fields. comma separate header fields. comma sepa comma + separate header fields. comma separate header fields. comma separate header + fields. Comma separate header fields. + decoupled exceptionhandler configuration from handler stacks. old conf + decoupled exceptionhandler configuration from handler stacks. old conf decoupled exceptionhandler configuration from handler stacks. old conf Decoupled ExceptionHandler configuration from Handler stacks. Old config style will produce warning and Default behavior. See new config file format for changes. - + handle continuation lines in httpheader. handle continuation lines in handle + + handle continuation lines in httpheader. handle continuation lines in + handle continuation lines in httpheader. handle continuation lines in handle continuation lines in httpheader. Handle continuation lines in HttpHeader. + htmlfilter resets last-modified and content-length headers. htmlfilter + htmlfilter resets last-modified and content-length headers. htmlfilter htmlfilter resets last-modified and content-length headers. HtmlFilter resets last-modified and content-length headers. + ignore ioexception in threadedserver.run() when closing. ignore ioexce + ignore ioexception in threadedserver.run() when closing. ignore ioexce ignore ioexception in threadedserver.run() when closing. Ignore IOException in ThreadedServer.run() when closing. - + implemented com.mortbay.util.io as a threadpool implemented implemented + + implemented com.mortbay.util.io as a threadpool implemented implemente + implemented com.mortbay.util.io as a threadpool implemented implemented com.mortbay.util.io as a threadpool Implemented com.mortbay.Util.IO as a ThreadPool - + less verbose debug in propertytree less verbose debug in propertytree less + + less verbose debug in propertytree less verbose debug in propertytree less + verbose debug in propertytree less verbose debug in propertytree less verbose debug in propertytree Less verbose debug in PropertyTree + limit maximum line length in httpinputstream. limit maximum line lengt limit + maximum line length in httpinputstream. limit maximum line lengt limit maximum line length in httpinputstream. Limit maximum line length in HttpInputStream. + protect against duplicate single valued headers. protect against dupli + protect against duplicate single valued headers. protect against dupli protect against duplicate single valued headers. Protect against duplicate single valued headers. + response with sc_bad_request rather than close in more circumstances + response with sc_bad_request rather than close in more circumstances response with sc_bad_request rather than close in more circumstances Response with SC_BAD_REQUEST rather than close in more circumstances jetty-2.2.0 - 01 July 1999 - + added protekt ssl httplistener added protekt ssl httplistener added protekt - ssl httplistener Added Protekt SSL HttpListener - + exit servlet improved (a little). exit servlet improved (a little). exit - servlet improved (a little). Exit servlet improved (a little). + + added protekt ssl httplistener added protekt ssl httplistener added pr added + protekt ssl httplistener added protekt ssl httplistener added protekt ssl + httplistener Added Protekt SSL HttpListener + + exit servlet improved (a little). exit servlet improved (a little). ex exit + servlet improved (a little). exit servlet improved (a little). exit servlet + improved (a little). Exit servlet improved (a little). + fixed some of the javadoc formatting. fixed some of the javadoc format fixed - some of the javadoc formatting. Fixed some of the javadoc formatting. + some of the javadoc formatting. fixed some of the javadoc format fixed some + of the javadoc formatting. Fixed some of the javadoc formatting. + improved feature description page. improved feature description page. + improved feature description page. improved feature description page. improved feature description page. Improved feature description page. + moved gnujsp and protekt listener to a contrib hierarchy. moved gnujsp moved + gnujsp and protekt listener to a contrib hierarchy. moved gnujsp moved gnujsp and protekt listener to a contrib hierarchy. Moved GNUJSP and Protekt listener to a contrib hierarchy. + threadedserver.stop() closes socket before interrupting threads. + threadedserver.stop() closes socket before interrupting threads. threadedserver.stop() closes socket before interrupting threads. ThreadedServer.stop() closes socket before interrupting threads. jetty-2.2.Beta4 - 29 June 1999 + added comments to configuration files. added comments to configuration added + comments to configuration files. added comments to configuration added comments to configuration files. Added comments to configuration files. + added getglobalproperty to jetty.server and used this to configure def added + getglobalproperty to jetty.server and used this to configure def added getglobalproperty to jetty.server and used this to configure def Added getGlobalProperty to Jetty.Server and used this to configure default page type. + added jettyminimaldemo.prp as an example of an abbreviated configurati added + jettyminimaldemo.prp as an example of an abbreviated configurati added jettyminimaldemo.prp as an example of an abbreviated configurati Added JettyMinimalDemo.prp as an example of an abbreviated configuration. + added property handling to servlethandler to read jrun servlet configu added + property handling to servlethandler to read jrun servlet configu added property handling to servlethandler to read jrun servlet configu Added property handling to ServletHandler to read JRUN servlet configuration files. + altered meaning of * in propertytree to assist in abbreviated configur + altered meaning of * in propertytree to assist in abbreviated configur altered meaning of * in propertytree to assist in abbreviated configur Altered meaning of * in PropertyTree to assist in abbreviated configuration files. + expanded mime.prp file expanded mime.prp file expanded mime.prp file + expanded mime.prp file expanded mime.prp file expanded mime.prp file Expanded Mime.prp file + filehandler flushes files from cache in delete method. filehandler flu + filehandler flushes files from cache in delete method. filehandler flu filehandler flushes files from cache in delete method. FileHandler flushes files from cache in DELETE method. + made serversocket and accept call generic in threadedserver for ssl ma made + serversocket and accept call generic in threadedserver for ssl ma made serversocket and accept call generic in threadedserver for ssl Made ServerSocket and accept call generic in ThreadedServer for SSL listeners. - + options "allowdir" added to filehandler. options "allowdir" added to options + + options "allowdir" added to filehandler. options "allowdir" added to o + options "allowdir" added to filehandler. options "allowdir" added to options "allowdir" added to filehandler. Options "allowDir" added to FileHandler. + restructured com.mortbay.jetty.server for better clarity and documenta + restructured com.mortbay.jetty.server for better clarity and documenta restructured com.mortbay.jetty.server for better clarity and documenta Restructured com.mortbay.Jetty.Server for better clarity and documentation. + threadedserver.stop() now waits until all threads are stopped. + threadedserver.stop() now waits until all threads are stopped. threadedserver.stop() now waits until all threads are stopped. ThreadedServer.stop() now waits until all threads are stopped. - + updated readme.txt updated readme.txt updated readme.txt Updated README.txt + + updated readme.txt updated readme.txt updated readme.txt updated readm + updated readme.txt updated readme.txt updated readme.txt Updated README.txt jetty-2.2.Beta3 - 22 June 1999 - + added alternate constructors to html.include for inputstream. added added + + added alternate constructors to html.include for inputstream. added ad added + alternate constructors to html.include for inputstream. added added alternate constructors to html.include for inputstream. Added alternate constructors to HTML.Include for InputStream. - + added file cache to filehandler added file cache to filehandler added file - cache to filehandler Added file cache to FileHandler - + applied contributed patch of spelling and typo corrections applied applied + + added file cache to filehandler added file cache to filehandler added added + file cache to filehandler added file cache to filehandler added file cache + to filehandler Added file cache to FileHandler + + applied contributed patch of spelling and typo corrections applied app + applied contributed patch of spelling and typo corrections applied applied contributed patch of spelling and typo corrections Applied contributed patch of spelling and typo corrections - + fixed bug in httpresponse flush. fixed bug in httpresponse flush. fixed bug - in httpresponse flush. Fixed bug in HttpResponse flush. + + fixed bug in httpresponse flush. fixed bug in httpresponse flush. fixe fixed + bug in httpresponse flush. fixed bug in httpresponse flush. fixed bug in + httpresponse flush. Fixed bug in HttpResponse flush. + fixed file and socket leaks in include and embed tags. fixed file and fixed - file and socket leaks in include and embed tags. Fixed file and socket leaks - in Include and Embed tags. + file and socket leaks in include and embed tags. fixed file and fixed file + and socket leaks in include and embed tags. Fixed file and socket leaks in + Include and Embed tags. + implemented efficient version of servletcontext.getresourceasstream() + implemented efficient version of servletcontext.getresourceasstream() implemented efficient version of servletcontext.getresourceasstream() Implemented efficient version of ServletContext.getResourceAsStream() that does not open a new socket connection (as does getResource()). - + improved block.write. improved block.write. improved block.write. Improved + + improved block.write. improved block.write. improved block.write. impr + improved block.write. improved block.write. improved block.write. Improved Block.write. + lookandfeelservlet uses getresourceasstream to get the file to wrap. t + lookandfeelservlet uses getresourceasstream to get the file to wrap. t lookandfeelservlet uses getresourceasstream to get the file to wrap. t LookAndFeelServlet uses getResourceAsStream to get the file to wrap. This allows it to benefit from any caching done and to wrap arbitrary content (not just files). - + ran dos2unix on all text files ran dos2unix on all text files ran dos2unix - on all text files Ran dos2unix on all text files + + ran dos2unix on all text files ran dos2unix on all text files ran dos2 ran + dos2unix on all text files ran dos2unix on all text files ran dos2unix on + all text files Ran dos2unix on all text files + re-implemented threadedserver to improve and balance performance. + re-implemented threadedserver to improve and balance performance. re-implemented threadedserver to improve and balance performance. Re-implemented ThreadedServer to improve and balance performance. + restructure demo so that lookandfeel content comes from simple handler + restructure demo so that lookandfeel content comes from simple handler restructure demo so that lookandfeel content comes from simple handler Restructure demo so that LookAndFeel content comes from simple handler stack. + server.shutdown() clears configuration so that server may be restarted + server.shutdown() clears configuration so that server may be restarted server.shutdown() clears configuration so that server may be restarted Server.shutdown() clears configuration so that server may be restarted in same virtual machine. jetty-2.2.Beta2 - 12 June 1999 + added all write methods to httpoutputstream$switchoutputstream added a added - all write methods to httpoutputstream$switchoutputstream Added all write - methods to HttpOutputStream$SwitchOutputStream + all write methods to httpoutputstream$switchoutputstream added a added all + write methods to httpoutputstream$switchoutputstream Added all write methods + to HttpOutputStream$SwitchOutputStream + added com.mortbay.jetty.server.shutdown() for gentler shutdown of serv added + com.mortbay.jetty.server.shutdown() for gentler shutdown of serv added com.mortbay.jetty.server.shutdown() for gentler shutdown of serv Added com.mortbay.Jetty.Server.shutdown() for gentler shutdown of server. Called from Exit servlet + handle path info of a dynamic loaded servlets and correctly set the s + handle path info of a dynamic loaded servlets and correctly set the s handle path info of a dynamic loaded servlets and correctly set the s Handle path info of a dynamic loaded servlets and correctly set the servlet path. + httprequest.getparameternames() no longer alters the order returned by + httprequest.getparameternames() no longer alters the order returned by httprequest.getparameternames() no longer alters the order returned by HttpRequest.getParameterNames() no longer alters the order returned by getQueryString(). + standardized date format in persistent cookies. standardized date form + standardized date format in persistent cookies. standardized date form standardized date format in persistent cookies. Standardized date format in persistent cookies. jetty-2.2.Beta1 - 07 June 1999 - + allow configuration of minlistenerthreads, maxlistenerthreads, allow allow + + allow configuration of minlistenerthreads, maxlistenerthreads, allow a allow + configuration of minlistenerthreads, maxlistenerthreads, allow allow configuration of minlistenerthreads, maxlistenerthreads, Allow configuration of MinListenerThreads, MaxListenerThreads, MaxListenerThreadIdleMs + close files after use to avoid "file leak" under heavy load. close fil close - files after use to avoid "file leak" under heavy load. Close files after use - to avoid "file leak" under heavy load. + files after use to avoid "file leak" under heavy load. close fil close files + after use to avoid "file leak" under heavy load. Close files after use to + avoid "file leak" under heavy load. + defined abstract servletloader, derivations of which can be specified + defined abstract servletloader, derivations of which can be specified defined abstract servletloader, derivations of which can be specified Defined abstract ServletLoader, derivations of which can be specified in HttpConfiguration properties. + destroy requests and responses to help garbage collector. destroy requ + destroy requests and responses to help garbage collector. destroy requ destroy requests and responses to help garbage collector. Destroy requests and responses to help garbage collector. - + don't warn about ioexceptions unless debug is on. don't warn about don't - warn about ioexceptions unless debug is on. Don't warn about IOExceptions - unless Debug is on. + + don't warn about ioexceptions unless debug is on. don't warn about don don't + warn about ioexceptions unless debug is on. don't warn about don't warn + about ioexceptions unless debug is on. Don't warn about IOExceptions unless + Debug is on. + fixed cache in filejarservletloader fixed cache in filejarservletloade fixed - cache in filejarservletloader Fixed cache in FileJarServletLoader + cache in filejarservletloader fixed cache in filejarservletloade fixed cache + in filejarservletloader Fixed cache in FileJarServletLoader + fixed incorrect version numbers in a few places. fixed incorrect versi fixed + incorrect version numbers in a few places. fixed incorrect versi fixed incorrect version numbers in a few places. Fixed incorrect version numbers in a few places. + fixed missing copyright messages from some contributions fixed missing fixed + missing copyright messages from some contributions fixed missing fixed missing copyright messages from some contributions Fixed missing copyright messages from some contributions + htmlfilter optimized for being called by a buffered writer. htmlfilter + htmlfilter optimized for being called by a buffered writer. htmlfilter htmlfilter optimized for being called by a buffered writer. HtmlFilter optimized for being called by a buffered writer. + implemented all httpserver attribute methods by mapping to the impleme + implemented all httpserver attribute methods by mapping to the impleme implemented all httpserver attribute methods by mapping to the Implemented all HttpServer attribute methods by mapping to the HttpConfiguration properties. Dynamic reconfiguration is NOT supported by these methods (but we are thinking about it). - + improved threadpool synchronization and added minthreads. improved improved + + improved threadpool synchronization and added minthreads. improved imp + improved threadpool synchronization and added minthreads. improved improved threadpool synchronization and added minthreads. Improved ThreadPool synchronization and added minThreads. - + included gnujsp 0.9.9 included gnujsp 0.9.9 included gnujsp 0.9.9 Included + + included gnujsp 0.9.9 included gnujsp 0.9.9 included gnujsp 0.9.9 incl + included gnujsp 0.9.9 included gnujsp 0.9.9 included gnujsp 0.9.9 Included GNUJSP 0.9.9 + limit the job queue only grow to the max number of threads. limit the limit - the job queue only grow to the max number of threads. Limit the job queue - only grow to the max number of threads. + the job queue only grow to the max number of threads. limit the limit the + job queue only grow to the max number of threads. Limit the job queue only + grow to the max number of threads. + optional use of datecache in log file format optional use of datecache + optional use of datecache in log file format optional use of datecache optional use of datecache in log file format Optional use of DateCache in log file format + restructure threadedserver to reduce object creation. restructure + restructure threadedserver to reduce object creation. restructure restructure threadedserver to reduce object creation. Restructure ThreadedServer to reduce object creation. jetty-2.2.Beta0 - 31 May 1999 + added "initialize" attribute to servlet configuration to allow servlet added + "initialize" attribute to servlet configuration to allow servlet added "initialize" attribute to servlet configuration to allow servlet Added "Initialize" attribute to servlet configuration to allow servlet to be initialized when loaded. + added httpresponse.requesthandled() method to avoid bug with servlet d added + httpresponse.requesthandled() method to avoid bug with servlet d added httpresponse.requesthandled() method to avoid bug with servlet d Added HttpResponse.requestHandled() method to avoid bug with servlet doHead method. + added page.rewind() method to allow a page to be written multiple time added + page.rewind() method to allow a page to be written multiple time added page.rewind() method to allow a page to be written multiple time Added Page.rewind() method to allow a page to be written multiple times + handle malformed % characters in urls. handle malformed % characters i + handle malformed % characters in urls. handle malformed % characters i handle malformed % characters in urls. Handle malformed % characters in URLs. + httprequest.getcookies returns empty array rather than null for no coo + httprequest.getcookies returns empty array rather than null for no coo httprequest.getcookies returns empty array rather than null for no coo HttpRequest.getCookies returns empty array rather than null for no cookies. + included and improved version of threadpool for significant performanc + included and improved version of threadpool for significant performanc included and improved version of threadpool for significant performanc Included and improved version of ThreadPool for significant performance improvement under high load. - + included contributed com.mortbay.jetty.stresstester class included included + + included contributed com.mortbay.jetty.stresstester class included inc + included contributed com.mortbay.jetty.stresstester class included included contributed com.mortbay.jetty.stresstester class Included contributed com.mortbay.Jetty.StressTester class + loghandler changed to support only a single outfile and optional appen + loghandler changed to support only a single outfile and optional appen loghandler changed to support only a single outfile and optional appen LogHandler changed to support only a single outfile and optional append. - + removed support for stf removed support for stf removed support for stf + + removed support for stf removed support for stf removed support for st + removed support for stf removed support for stf removed support for stf Removed support for STF + servlet loader handles jar files with different files separator. servl + servlet loader handles jar files with different files separator. servl servlet loader handles jar files with different files separator. Servlet loader handles jar files with different files separator. + threadedserver gently shuts down. threadedserver gently shuts down. + threadedserver gently shuts down. threadedserver gently shuts down. threadedserver gently shuts down. ThreadedServer gently shuts down. + token effort to keep test files out of the jar token effort to keep te token + effort to keep test files out of the jar token effort to keep te token effort to keep test files out of the jar Token effort to keep test files out of the jar jetty-2.2.Alpha1 - 07 May 1999 + call destroy on old servlets when reloading. call destroy on old servl call + destroy on old servlets when reloading. call destroy on old servl call destroy on old servlets when reloading. Call destroy on old servlets when reloading. + dynamic servlets can have autoreload configured dynamic servlets can h + dynamic servlets can have autoreload configured dynamic servlets can h dynamic servlets can have autoreload configured Dynamic servlets can have autoReload configured - + fixed bug in sessiondump fixed bug in sessiondump fixed bug in sessiondump - Fixed bug in SessionDump + + fixed bug in sessiondump fixed bug in sessiondump fixed bug in session fixed + bug in sessiondump fixed bug in sessiondump fixed bug in sessiondump Fixed + bug in SessionDump + made capitalization of config file more consistent(ish) made capitaliz made + capitalization of config file more consistent(ish) made capitaliz made capitalization of config file more consistent(ish) Made capitalization of config file more consistent(ish) + servletholder can auto reload servlets servletholder can auto reload + servletholder can auto reload servlets servletholder can auto reload servletholder can auto reload servlets ServletHolder can auto reload servlets - + wait for requests to complete before reloading. wait for requests to wait - for requests to complete before reloading. Wait for requests to complete - before reloading. + + wait for requests to complete before reloading. wait for requests to w wait + for requests to complete before reloading. wait for requests to wait for + requests to complete before reloading. Wait for requests to complete before + reloading. jetty-2.2.Alpha0 - 06 May 1999 + added reload method to servletholder, but no way to call it yet. added added + reload method to servletholder, but no way to call it yet. added added reload method to servletholder, but no way to call it yet. Added reload method to ServletHolder, but no way to call it yet. + added servletloader implementation if classloader. added servletloader added + servletloader implementation if classloader. added servletloader added servletloader implementation if classloader. Added ServletLoader implementation if ClassLoader. + changed options for fileserver changed options for fileserver changed + changed options for fileserver changed options for fileserver changed options for fileserver Changed options for FileServer - + dynamic loading of servlets. dynamic loading of servlets. dynamic loading of + + dynamic loading of servlets. dynamic loading of servlets. dynamic load + dynamic loading of servlets. dynamic loading of servlets. dynamic loading of servlets. Dynamic loading of servlets. - + fixed date overflow in cookies fixed date overflow in cookies fixed date - overflow in cookies Fixed date overflow in Cookies + + fixed date overflow in cookies fixed date overflow in cookies fixed da fixed + date overflow in cookies fixed date overflow in cookies fixed date overflow + in cookies Fixed date overflow in Cookies + httphandlers given setproperties method to configure via properties. + httphandlers given setproperties method to configure via properties. httphandlers given setproperties method to configure via properties. HttpHandlers given setProperties method to configure via Properties. + httplistener class can be configured httplistener class can be configu + httplistener class can be configured httplistener class can be configu httplistener class can be configured HttpListener class can be configured + httpresponse.senderror avoids illegalstateexception httpresponse.sende + httpresponse.senderror avoids illegalstateexception httpresponse.sende httpresponse.senderror avoids illegalstateexception HttpResponse.sendError avoids IllegalStateException - + implemented servletserver implemented servletserver implemented - servletserver Implemented ServletServer + + implemented servletserver implemented servletserver implemented implemented + servletserver implemented servletserver implemented servletserver + Implemented ServletServer + improved propertytree implementation improved propertytree implementat + improved propertytree implementation improved propertytree implementat improved propertytree implementation Improved PropertyTree implementation - + improved sessiondump servlet improved sessiondump servlet improved - sessiondump servlet Improved SessionDump servlet - + mime suffix mapping can be configured. mime suffix mapping can be mime - suffix mapping can be configured. Mime suffix mapping can be configured. + + improved sessiondump servlet improved sessiondump servlet improved improved + sessiondump servlet improved sessiondump servlet improved sessiondump + servlet Improved SessionDump servlet + + mime suffix mapping can be configured. mime suffix mapping can be mime mime + suffix mapping can be configured. mime suffix mapping can be mime suffix + mapping can be configured. Mime suffix mapping can be configured. + new server class using propertytree for configuration new server class new + server class using propertytree for configuration new server class new server class using propertytree for configuration New Server class using PropertyTree for configuration + old jetty.server class renamed to jetty.server21 old jetty.server clas old + jetty.server class renamed to jetty.server21 old jetty.server clas old jetty.server class renamed to jetty.server21 Old Jetty.Server class renamed to Jetty.Server21 + removed historic api from sessions removed historic api from sessions + removed historic api from sessions removed historic api from sessions removed historic api from sessions Removed historic API from sessions - + removed simpleservletserver removed simpleservletserver removed - simpleservletserver Removed SimpleServletServer + + removed simpleservletserver removed simpleservletserver removed removed + simpleservletserver removed simpleservletserver removed simpleservletserver + Removed SimpleServletServer jetty-2.1.7 - 22 April 1999 + fixed showstopper bug with getreader and getwriter in requests and fix fixed + showstopper bug with getreader and getwriter in requests and fix fixed showstopper bug with getreader and getwriter in requests and Fixed showstopper bug with getReader and getWriter in requests and responses. + httpfilter uses package interface to get httpoutputstream httpfilter u + httpfilter uses package interface to get httpoutputstream httpfilter u httpfilter uses package interface to get httpoutputstream HttpFilter uses package interface to get HttpOutputStream jetty-2.1.6 - 21 April 1999 + added additional date formats for httpheader.getdateheader added addit added + additional date formats for httpheader.getdateheader added addit added additional date formats for httpheader.getdateheader Added additional date formats for HttpHeader.getDateHeader + new simpler version of propertytree new simpler version of propertytre new + simpler version of propertytree new simpler version of propertytre new simpler version of propertytree New simpler version of PropertyTree + reduced initial size of most hashtables to reduce default memory overh + reduced initial size of most hashtables to reduce default memory overh reduced initial size of most hashtables to reduce default memory overh Reduced initial size of most hashtables to reduce default memory overheads. - + return eof from httpinputstream that has a content length. return eof - return eof from httpinputstream that has a content length. Return EOF from + + return eof from httpinputstream that has a content length. return eof return + eof from httpinputstream that has a content length. return eof return eof + from httpinputstream that has a content length. Return EOF from HttpInputStream that has a content length. - + throw illegalstateexception as required from gets of throw throw + + throw illegalstateexception as required from gets of throw throw throw + illegalstateexception as required from gets of throw throw illegalstateexception as required from gets of Throw IllegalStateException as required from gets of input/output/reader/writer in requests/responses. - + updated propertytreeeditor updated propertytreeeditor updated - propertytreeeditor Updated PropertyTreeEditor + + updated propertytreeeditor updated propertytreeeditor updated updated + propertytreeeditor updated propertytreeeditor updated propertytreeeditor + Updated PropertyTreeEditor jetty-2.1.5 - 15 April 1999 - + added settype methods to com.mortbay.ftp.ftp added settype methods to added + + added settype methods to com.mortbay.ftp.ftp added settype methods to added + settype methods to com.mortbay.ftp.ftp added settype methods to added settype methods to com.mortbay.ftp.ftp Added setType methods to com.mortbay.FTP.Ftp - + fixed alignment bug in tableform fixed alignment bug in tableform fixed - alignment bug in tableform Fixed alignment bug in TableForm + + fixed alignment bug in tableform fixed alignment bug in tableform fixe fixed + alignment bug in tableform fixed alignment bug in tableform fixed alignment + bug in tableform Fixed alignment bug in TableForm + fixed bug in servletdispatch for null pathinfo fixed bug in servletdis fixed - bug in servletdispatch for null pathinfo Fixed bug in ServletDispatch for - null pathInfo - + fixed bugs with invalid sessions fixed bugs with invalid sessions fixed bugs - with invalid sessions Fixed bugs with invalid sessions + bug in servletdispatch for null pathinfo fixed bug in servletdis fixed bug + in servletdispatch for null pathinfo Fixed bug in ServletDispatch for null + pathInfo + + fixed bugs with invalid sessions fixed bugs with invalid sessions fixe fixed + bugs with invalid sessions fixed bugs with invalid sessions fixed bugs with + invalid sessions Fixed bugs with invalid sessions + form parameters protected against multiple decodes when redirected. fo form + parameters protected against multiple decodes when redirected. fo form parameters protected against multiple decodes when redirected. Form parameters protected against multiple decodes when redirected. + htmlfilter now expands to the url encoded session if requi + htmlfilter now expands to the url encoded session if requi htmlfilter now expands to the url encoded session if requi HtmlFilter now expands to the URL encoded session if required. + implemented httprequest.getreader() implemented httprequest.getreader( + implemented httprequest.getreader() implemented httprequest.getreader( implemented httprequest.getreader() Implemented HttpRequest.getReader() + instrumented most of the demo to support url session encoding. instrum + instrumented most of the demo to support url session encoding. instrum instrumented most of the demo to support url session encoding. Instrumented most of the demo to support URL session encoding. + moved sessionhandler to front of stacks moved sessionhandler to front moved + sessionhandler to front of stacks moved sessionhandler to front moved sessionhandler to front of stacks Moved SessionHandler to front of stacks + page factory requires response for session encoding page factory requi page + factory requires response for session encoding page factory requi page factory requires response for session encoding Page factory requires response for session encoding + reduced session memory overhead of sessions reduced session memory ove + reduced session memory overhead of sessions reduced session memory ove reduced session memory overhead of sessions Reduced session memory overhead of sessions + removed rfcs from package removed rfcs from package removed rfcs from + removed rfcs from package removed rfcs from package removed rfcs from package Removed RFCs from package + servlet log has been diverted to com.mortbay.base.log.event() thus deb + servlet log has been diverted to com.mortbay.base.log.event() thus deb servlet log has been diverted to com.mortbay.base.log.event() thus deb Servlet log has been diverted to com.mortbay.Base.Log.event() Thus debug does not need to be turned on to see servlet logs. + session url encoding fixed for relative urls. session url encoding fix + session url encoding fixed for relative urls. session url encoding fix session url encoding fixed for relative urls. Session URL encoding fixed for relative URLs. jetty-2.1.4 - 26 March 1999 - + fixed bug in getrealpath fixed bug in getrealpath fixed bug in getrealpath - fixed bug in getRealPath + + fixed bug in getrealpath fixed bug in getrealpath fixed bug in getreal fixed + bug in getrealpath fixed bug in getrealpath fixed bug in getrealpath fixed + bug in getRealPath + fixed problem compiling pathmap under some jdks. fixed problem compili fixed + problem compiling pathmap under some jdks. fixed problem compili fixed problem compiling pathmap under some jdks. Fixed problem compiling PathMap under some JDKs. + getpathtranslated now call getrealpath with pathinfo (as per spec). + getpathtranslated now call getrealpath with pathinfo (as per spec). getpathtranslated now call getrealpath with pathinfo (as per spec). getPathTranslated now call getRealPath with pathInfo (as per spec). + httprequest attributes implemented. httprequest attributes implemented + httprequest attributes implemented. httprequest attributes implemented httprequest attributes implemented. HttpRequest attributes implemented. + pathinfo returns null for zero length pathinfo (as per spec). sorry if + pathinfo returns null for zero length pathinfo (as per spec). sorry if pathinfo returns null for zero length pathinfo (as per spec). sorry if pathInfo returns null for zero length pathInfo (as per spec). Sorry if this breaks your servlets - it is a pain! + reduced html dependence in http package to allow minimal configuration + reduced html dependence in http package to allow minimal configuration reduced html dependence in http package to allow minimal configuration Reduced HTML dependence in HTTP package to allow minimal configuration + session max idle time implemented. session max idle time implemented. + session max idle time implemented. session max idle time implemented. session max idle time implemented. Session max idle time implemented. + tightened license agreement so that binary distributions are required + tightened license agreement so that binary distributions are required tightened license agreement so that binary distributions are required Tightened license agreement so that binary distributions are required to include the license file. jetty-2.1.3 - 19 March 1999 + added support for suffixes to pathmap added support for suffixes to pa added + support for suffixes to pathmap added support for suffixes to pa added support for suffixes to pathmap Added support for suffixes to PathMap - + included gnujsp implementation of java server pages included gnujsp included + + included gnujsp implementation of java server pages included gnujsp in + included gnujsp implementation of java server pages included gnujsp included gnujsp implementation of java server pages Included GNUJSP implementation of Java Server Pages - + use java2 javadoc use java2 javadoc use java2 javadoc Use Java2 javadoc + + use java2 javadoc use java2 javadoc use java2 javadoc use java2 javado use + java2 javadoc use java2 javadoc use java2 javadoc Use Java2 javadoc jetty-2.1.2 - 09 March 1999 - + api documentation for jsdk 2.1.1 api documentation for jsdk 2.1.1 api + + api documentation for jsdk 2.1.1 api documentation for jsdk 2.1.1 api api + documentation for jsdk 2.1.1 api documentation for jsdk 2.1.1 api documentation for jsdk 2.1.1 API documentation for JSDK 2.1.1 + cascading style sheet html element added. cascading style sheet html e + cascading style sheet html element added. cascading style sheet html e cascading style sheet html element added. Cascading style sheet HTML element added. + converted most servlets to httpservlets using do methods. converted mo + converted most servlets to httpservlets using do methods. converted mo converted most servlets to httpservlets using do methods. Converted most servlets to HttpServlets using do Methods. - + fixed trailing / bug in filehandler (again!). fixed trailing / bug in fixed + + fixed trailing / bug in filehandler (again!). fixed trailing / bug in fixed + trailing / bug in filehandler (again!). fixed trailing / bug in fixed trailing / bug in filehandler (again!). Fixed trailing / bug in FileHandler (again!). - + jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 JSDK 2.1.1 + + jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 jsdk 2.1.1 + JSDK 2.1.1 jetty-2.1.1 - 05 March 1999 + com.mortbay.base.datecache class added and used to speed date handling + com.mortbay.base.datecache class added and used to speed date handling com.mortbay.base.datecache class added and used to speed date handling com.mortbay.Base.DateCache class added and used to speed date handling. + fast char buffer handling in httpinputstream fast char buffer handling fast - char buffer handling in httpinputstream Fast char buffer handling in + char buffer handling in httpinputstream fast char buffer handling fast char + buffer handling in httpinputstream Fast char buffer handling in HttpInputStream + faster version of httpheader.read() faster version of httpheader.read( + faster version of httpheader.read() faster version of httpheader.read( faster version of httpheader.read() Faster version of HttpHeader.read() + faster version of httpinputstream.readline(). faster version of faster + faster version of httpinputstream.readline(). faster version of faster version of httpinputstream.readline(). Faster version of HttpInputStream.readLine(). - + faster version of httprequest faster version of httprequest faster version + + faster version of httprequest faster version of httprequest faster ver + faster version of httprequest faster version of httprequest faster version of httprequest Faster version of HttpRequest + handle '.' in configured paths (temp fix until propertytrees) handle ' + handle '.' in configured paths (temp fix until propertytrees) handle ' handle '.' in configured paths (temp fix until propertytrees) Handle '.' in configured paths (temp fix until PropertyTrees) + reduced number of calls to getremotehost for optimization reduced numb + reduced number of calls to getremotehost for optimization reduced numb reduced number of calls to getremotehost for optimization Reduced number of calls to getRemoteHost for optimization - + size all stringbuffers size all stringbuffers size all stringbuffers Size - all StringBuffers + + size all stringbuffers size all stringbuffers size all stringbuffers s size + all stringbuffers size all stringbuffers size all stringbuffers Size all + StringBuffers jetty-2.1.0 - 22 February 1999 - + deprecated com.mortbay.util.stf deprecated com.mortbay.util.stf deprecated + + deprecated com.mortbay.util.stf deprecated com.mortbay.util.stf deprec + deprecated com.mortbay.util.stf deprecated com.mortbay.util.stf deprecated com.mortbay.util.stf Deprecated com.mortbay.Util.STF - + getservlet methods return null. getservlet methods return null. getservlet + + getservlet methods return null. getservlet methods return null. getser + getservlet methods return null. getservlet methods return null. getservlet methods return null. getServlet methods return null. - + image/jpg -> image/jpeg image/jpg -> image/jpeg image/jpg -> image/jpeg + + image/jpg -> image/jpeg image/jpg -> image/jpeg image/jpg -> image/jpe + image/jpg -> image/jpeg image/jpg -> image/jpeg image/jpg -> image/jpeg image/jpg -> image/jpeg + propertytrees (see new demo page) propertytrees (see new demo page) + propertytrees (see new demo page) propertytrees (see new demo page) propertytrees (see new demo page) PropertyTrees (see new Demo page) + servletdispatch (see new demo page) servletdispatch (see new demo page + servletdispatch (see new demo page) servletdispatch (see new demo page servletdispatch (see new demo page) ServletDispatch (see new Demo page) - + session url encoding session url encoding session url encoding Session URL + + session url encoding session url encoding session url encoding session + session url encoding session url encoding session url encoding Session URL Encoding jetty-2.1.B1 - 13 February 1999 - + added video/quicktime to default mime types. added video/quicktime to added + + added video/quicktime to default mime types. added video/quicktime to added + video/quicktime to default mime types. added video/quicktime to added video/quicktime to default mime types. Added video/quicktime to default MIME types. - + fixed bug with if-modified-since in filehandler fixed bug with fixed bug - with if-modified-since in filehandler Fixed bug with if-modified-since in + + fixed bug with if-modified-since in filehandler fixed bug with fixed b fixed + bug with if-modified-since in filehandler fixed bug with fixed bug with + if-modified-since in filehandler Fixed bug with if-modified-since in FileHandler - + fixed bug with multipartrequest. fixed bug with multipartrequest. fixed bug - with multipartrequest. Fixed bug with MultipartRequest. + + fixed bug with multipartrequest. fixed bug with multipartrequest. fixe fixed + bug with multipartrequest. fixed bug with multipartrequest. fixed bug with + multipartrequest. Fixed bug with MultipartRequest. + implemented getresource and getresourceasstream (not tested!). impleme + implemented getresource and getresourceasstream (not tested!). impleme implemented getresource and getresourceasstream (not tested!). Implemented getResource and getResourceAsStream (NOT Tested!). + implemented handler translations and getrealpath. implemented handler + implemented handler translations and getrealpath. implemented handler implemented handler translations and getrealpath. Implemented Handler translations and getRealPath. + implemented requestdispatcher (not tested!). implemented requestdispat + implemented requestdispatcher (not tested!). implemented requestdispat implemented requestdispatcher (not tested!). Implemented RequestDispatcher (NOT Tested!). - + improved handling of file.separator in filehandler. improved handling + + improved handling of file.separator in filehandler. improved handling + improved handling of file.separator in filehandler. improved handling improved handling of file.separator in filehandler. Improved handling of File.separator in FileHandler. - + replace package com.mortbay.util.gateway with class replace package replace + + replace package com.mortbay.util.gateway with class replace package re + replace package com.mortbay.util.gateway with class replace package replace package com.mortbay.util.gateway with class Replace package com.mortbay.Util.Gateway with class com.mortbay.Util.InetGateway - + updated defaultexceptionhandler. updated defaultexceptionhandler. updated + + updated defaultexceptionhandler. updated defaultexceptionhandler. upda + updated defaultexceptionhandler. updated defaultexceptionhandler. updated defaultexceptionhandler. Updated DefaultExceptionHandler. - + updated inetaddrport. updated inetaddrport. updated inetaddrport. Updated + + updated inetaddrport. updated inetaddrport. updated inetaddrport. upda + updated inetaddrport. updated inetaddrport. updated inetaddrport. Updated InetAddrPort. - + updated uri. updated uri. updated uri. Updated URI. + + updated uri. updated uri. updated uri. updated uri. updated uri. updated + uri. updated uri. Updated URI. jetty-2.1.B0 - 30 January 1999 + added plug gateway classes com.mortbay.util.gateway added plug gateway added - plug gateway classes com.mortbay.util.gateway Added plug gateway classes + plug gateway classes com.mortbay.util.gateway added plug gateway added plug + gateway classes com.mortbay.util.gateway Added plug gateway classes com.mortbay.Util.Gateway + added support for put, move, delete in filehandler added support for p added + support for put, move, delete in filehandler added support for p added support for put, move, delete in filehandler Added support for PUT, MOVE, DELETE in FileHandler + filehandler now sets content length. filehandler now sets content leng + filehandler now sets content length. filehandler now sets content leng filehandler now sets content length. FileHandler now sets content length. + fixed command line bug with simpleservletconfig fixed command line bug fixed + command line bug with simpleservletconfig fixed command line bug fixed command line bug with simpleservletconfig Fixed command line bug with SimpleServletConfig + minor changes to support ms j++ and its non standard language extensio minor + changes to support ms j++ and its non standard language extensio minor changes to support ms j++ and its non standard language extensio Minor changes to support MS J++ and its non standard language extensions - MMMmmm should have left it unchanged! + uses jsdk2.1 api, but not all methods implemented. uses jsdk2.1 api, b uses + jsdk2.1 api, but not all methods implemented. uses jsdk2.1 api, b uses jsdk2.1 api, but not all methods implemented. Uses JSDK2.1 API, but not all methods implemented. jetty-2.0.5 - 15 December 1998 - + added getheadernoparams added getheadernoparams added getheadernoparams - added getHeaderNoParams - + temp fix to getcharacterencoding temp fix to getcharacterencoding temp fix - to getcharacterencoding Temp fix to getCharacterEncoding + + added getheadernoparams added getheadernoparams added getheadernoparam added + getheadernoparams added getheadernoparams added getheadernoparams added + getHeaderNoParams + + temp fix to getcharacterencoding temp fix to getcharacterencoding temp temp + fix to getcharacterencoding temp fix to getcharacterencoding temp fix to + getcharacterencoding Temp fix to getCharacterEncoding jetty-2.0.4 - 10 December 1998 - + implement getcharacterencoding implement getcharacterencoding implement + + implement getcharacterencoding implement getcharacterencoding implemen + implement getcharacterencoding implement getcharacterencoding implement getcharacterencoding Implement getCharacterEncoding + improved default makefile behaviour improved default makefile behaviou + improved default makefile behaviour improved default makefile behaviou improved default makefile behaviour Improved default Makefile behaviour - + improved error code returns improved error code returns improved error code + + improved error code returns improved error code returns improved error + improved error code returns improved error code returns improved error code returns Improved error code returns + portability issues solved for apple's portability issues solved for ap + portability issues solved for apple's portability issues solved for ap portability issues solved for apple's Portability issues solved for Apple's + removed mortbay_home support from makefiles removed mortbay_home suppo + removed mortbay_home support from makefiles removed mortbay_home suppo removed mortbay_home support from makefiles Removed MORTBAY_HOME support from Makefiles + use real release of jsdk2.0 (rather than beta). use real release of js use - real release of jsdk2.0 (rather than beta). Use real release of JSDK2.0 - (rather than beta). + real release of jsdk2.0 (rather than beta). use real release of js use real + release of jsdk2.0 (rather than beta). Use real release of JSDK2.0 (rather + than beta). jetty-2.0.3 - 13 November 1998 + fix bug with index files for jetty.server. previously servers configur fix - bug with index files for jetty.server. previously servers configur Fix bug - with index files for Jetty.Server. Previously servers configured with + bug with index files for jetty.server. previously servers configur fix bug + with index files for jetty.server. previously servers configur Fix bug with + index files for Jetty.Server. Previously servers configured with com.mortbay.Jetty.Server would not handle index.html files. Need to make this configurable in the prp file. + fixed errors in readme file: com.mortbay.jetty.server was called fixed fixed + errors in readme file: com.mortbay.jetty.server was called fixed fixed errors in readme file: com.mortbay.jetty.server was called Fixed errors in README file: com.mortbay.Jetty.Server was called com.mortbay.HTTP.Server + limit threads in threadedserver and low priority listener option great limit + threads in threadedserver and low priority listener option great limit threads in threadedserver and low priority listener option great Limit threads in ThreadedServer and low priority listener option greatly improve performance under worse case loads. jetty-2.0.2 - 01 November 1998 + add thread pool to threaded server for significant performance improve add + thread pool to threaded server for significant performance improve add thread pool to threaded server for significant performance improve Add thread pool to threaded server for significant performance improvement. - + buffer files during configuration buffer files during configuration buffer + + buffer files during configuration buffer files during configuration bu + buffer files during configuration buffer files during configuration buffer files during configuration Buffer files during configuration - + buffer http response headers. buffer http response headers. buffer http + + buffer http response headers. buffer http response headers. buffer htt + buffer http response headers. buffer http response headers. buffer http response headers. Buffer HTTP Response headers. + use jetty_home rather than mortbay_home for build environment use jett use + jetty_home rather than mortbay_home for build environment use jett use jetty_home rather than mortbay_home for build environment Use JETTY_HOME rather than MORTBAY_HOME for build environment jetty-2.0.1 - 27 October 1998 + released under an open source license. released under an open source + released under an open source license. released under an open source released under an open source license. Released under an Open Source license. jetty-2.0.0 - 25 October 1998 - + added multipart/form-data demo. added multipart/form-data demo. added + + added multipart/form-data demo. added multipart/form-data demo. added added + multipart/form-data demo. added multipart/form-data demo. added multipart/form-data demo. Added multipart/form-data demo. + fixed code.formatobject handling of null objects. fixed code.formatobj fixed + code.formatobject handling of null objects. fixed code.formatobj fixed code.formatobject handling of null objects. Fixed Code.formatObject handling of null objects. - + removed chat demo (too many netscape dependencies). removed chat demo + + removed chat demo (too many netscape dependencies). removed chat demo + removed chat demo (too many netscape dependencies). removed chat demo removed chat demo (too many netscape dependencies). Removed Chat demo (too many netscape dependencies). + removed exceptional case from filehandler redirect. removed exceptiona + removed exceptional case from filehandler redirect. removed exceptiona removed exceptional case from filehandler redirect. Removed exceptional case from FileHandler redirect. jetty-2.0.Beta3 - 29 September 1998 - + added com.mortbay.http.multipartrequest to handle file uploads added added + + added com.mortbay.http.multipartrequest to handle file uploads added a added + com.mortbay.http.multipartrequest to handle file uploads added added com.mortbay.http.multipartrequest to handle file uploads Added com.mortbay.HTTP.MultiPartRequest to handle file uploads - + added com.mortbay.jetty.server (see readme.jetty) added added + + added com.mortbay.jetty.server (see readme.jetty) added added added + com.mortbay.jetty.server (see readme.jetty) added added com.mortbay.jetty.server (see readme.jetty) Added com.mortbay.Jetty.Server (see README.Jetty) + demo converted to an instance of com.mortbay.jetty.server demo convert demo + converted to an instance of com.mortbay.jetty.server demo convert demo converted to an instance of com.mortbay.jetty.server Demo converted to an instance of com.mortbay.Jetty.Server - + fixed log handler again. fixed log handler again. fixed log handler again. - Fixed Log Handler again. - + ignore exception from httplistener ignore exception from httplistener ignore + + fixed log handler again. fixed log handler again. fixed log handler ag fixed + log handler again. fixed log handler again. fixed log handler again. Fixed + Log Handler again. + + ignore exception from httplistener ignore exception from httplistener + ignore exception from httplistener ignore exception from httplistener ignore exception from httplistener Ignore exception from HttpListener + properly implemented multiple listening addresses properly implemented + properly implemented multiple listening addresses properly implemented properly implemented multiple listening addresses Properly implemented multiple listening addresses + send 301 for directories without trailing / in filehandler send 301 fo send - 301 for directories without trailing / in filehandler Send 301 for - directories without trailing / in FileHandler + 301 for directories without trailing / in filehandler send 301 fo send 301 + for directories without trailing / in filehandler Send 301 for directories + without trailing / in FileHandler jetty-2.0Beta2 - 01 July 1998 - + fixed log handler for http/1.1 fixed log handler for http/1.1 fixed log - handler for http/1.1 Fixed Log Handler for HTTP/1.1 - + slight improvement in readmees slight improvement in readmees slight - improvement in readmees Slight improvement in READMEEs + + fixed log handler for http/1.1 fixed log handler for http/1.1 fixed lo fixed + log handler for http/1.1 fixed log handler for http/1.1 fixed log handler + for http/1.1 Fixed Log Handler for HTTP/1.1 + + slight improvement in readmees slight improvement in readmees slight slight + improvement in readmees slight improvement in readmees slight improvement in + readmees Slight improvement in READMEEs jetty-2.0Beta1 - 01 June 1998 + fixed bug with calls to service during initialization of servlet fixed fixed - bug with calls to service during initialization of servlet Fixed bug with - calls to service during initialization of servlet + bug with calls to service during initialization of servlet fixed fixed bug + with calls to service during initialization of servlet Fixed bug with calls + to service during initialization of servlet + handle full urls in http requests (to some extent) handle full urls in + handle full urls in http requests (to some extent) handle full urls in handle full urls in http requests (to some extent) Handle full URLs in HTTP requests (to some extent) + improved performance of code.debug() calls, significantly in the case + improved performance of code.debug() calls, significantly in the case improved performance of code.debug() calls, significantly in the case Improved performance of Code.debug() calls, significantly in the case of non matching debug patterns. + improved performance with special asciitolowercase improved performanc + improved performance with special asciitolowercase improved performanc improved performance with special asciitolowercase Improved performance with special asciiToLowerCase - + provided addsection on com.mortbay.html.page provided addsection on provided + + provided addsection on com.mortbay.html.page provided addsection on pr + provided addsection on com.mortbay.html.page provided addsection on provided addsection on com.mortbay.html.page Provided addSection on com.mortbay.HTML.Page - + provided reset on com.mortbay.html.composite. provided reset on provided + + provided reset on com.mortbay.html.composite. provided reset on provid + provided reset on com.mortbay.html.composite. provided reset on provided reset on com.mortbay.html.composite. Provided reset on com.mortbay.HTML.Composite. + proxy demo in different server instance proxy demo in different server proxy - demo in different server instance Proxy demo in different server instance + demo in different server instance proxy demo in different server proxy demo + in different server instance Proxy demo in different server instance + warn if msie used for multi part mime. warn if msie used for multi par warn - if msie used for multi part mime. Warn if MSIE used for multi part MIME. + if msie used for multi part mime. warn if msie used for multi par warn if + msie used for multi part mime. Warn if MSIE used for multi part MIME. jetty-2.0Alpha2 - 01 May 1998 - + added date format to log added date format to log added date format to log - Added date format to Log - + added timezone to log added timezone to log added timezone to log Added - timezone to Log - + handle params in getintheader and getdateheader handle params in handle + + added date format to log added date format to log added date format to added + date format to log added date format to log added date format to log Added + date format to Log + + added timezone to log added timezone to log added timezone to log adde added + timezone to log added timezone to log added timezone to log Added timezone + to Log + + handle params in getintheader and getdateheader handle params in handl + handle params in getintheader and getdateheader handle params in handle params in getintheader and getdateheader Handle params in getIntHeader and getDateHeader + handle single threaded servlets with servlet pool handle single thread + handle single threaded servlets with servlet pool handle single thread handle single threaded servlets with servlet pool Handle Single Threaded servlets with servlet pool - + jdk1.2 javax.servlet api jdk1.2 javax.servlet api jdk1.2 javax.servlet api + + jdk1.2 javax.servlet api jdk1.2 javax.servlet api jdk1.2 javax.servlet + jdk1.2 javax.servlet api jdk1.2 javax.servlet api jdk1.2 javax.servlet api JDK1.2 javax.servlet API + removed httprequest.getbytecontent removed httprequest.getbytecontent + removed httprequest.getbytecontent removed httprequest.getbytecontent removed httprequest.getbytecontent Removed HttpRequest.getByteContent - + use javax.servlet.http.cookie use javax.servlet.http.cookie use + + use javax.servlet.http.cookie use javax.servlet.http.cookie use use + javax.servlet.http.cookie use javax.servlet.http.cookie use javax.servlet.http.cookie Use javax.servlet.http.Cookie - + use javax.servlet.http.httpsession use javax.servlet.http.httpsession use + + use javax.servlet.http.httpsession use javax.servlet.http.httpsession use + javax.servlet.http.httpsession use javax.servlet.http.httpsession use javax.servlet.http.httpsession Use javax.servlet.http.HttpSession - + use javax.servlet.http.httputils.parsepostdata use use + + use javax.servlet.http.httputils.parsepostdata use use use + javax.servlet.http.httputils.parsepostdata use use javax.servlet.http.httputils.parsepostdata Use javax.servlet.http.HttpUtils.parsePostData jetty-1.3.5 - 01 May 1998 - + added date format to log added date format to log added date format to log - Added date format to Log - + correct handling of multiple parameters correct handling of multiple correct + + added date format to log added date format to log added date format to added + date format to log added date format to log added date format to log Added + date format to Log + + correct handling of multiple parameters correct handling of multiple c + correct handling of multiple parameters correct handling of multiple correct handling of multiple parameters Correct handling of multiple parameters - + debug triggers added to com.mortbay.base.code debug triggers added to debug + + debug triggers added to com.mortbay.base.code debug triggers added to debug + triggers added to com.mortbay.base.code debug triggers added to debug triggers added to com.mortbay.base.code Debug triggers added to com.mortbay.Base.Code - + fixed socket inet bug in ftp fixed socket inet bug in ftp fixed socket inet - bug in ftp Fixed socket inet bug in FTP + + fixed socket inet bug in ftp fixed socket inet bug in ftp fixed socket fixed + socket inet bug in ftp fixed socket inet bug in ftp fixed socket inet bug in + ftp Fixed socket inet bug in FTP jetty-2.0Alpha1 - 08 April 1998 - + accept chunked data accept chunked data accept chunked data accept chunked + + accept chunked data accept chunked data accept chunked data accept chu + accept chunked data accept chunked data accept chunked data accept chunked data - + add http/1.1 date: header add http/1.1 date: header add http/1.1 date: - header Add HTTP/1.1 Date: header + + add http/1.1 date: header add http/1.1 date: header add http/1.1 date: add + http/1.1 date: header add http/1.1 date: header add http/1.1 date: header + Add HTTP/1.1 Date: header + correct formatting of date http headers correct formatting of date htt + correct formatting of date http headers correct formatting of date htt correct formatting of date http headers Correct formatting of Date HTTP headers - + debug triggers added to com.mortbay.base.code debug triggers added to debug + + debug triggers added to com.mortbay.base.code debug triggers added to debug + triggers added to com.mortbay.base.code debug triggers added to debug triggers added to com.mortbay.base.code Debug triggers added to com.mortbay.Base.Code + fixed forward bug with no port number fixed forward bug with no port n fixed + forward bug with no port number fixed forward bug with no port n fixed forward bug with no port number Fixed forward bug with no port number + handle extra spaces in http headers handle extra spaces in http header + handle extra spaces in http headers handle extra spaces in http header handle extra spaces in http headers handle extra spaces in HTTP headers + handle file requests with if-modified-since: or if-unmodified-since: h + handle file requests with if-modified-since: or if-unmodified-since: h handle file requests with if-modified-since: or if-unmodified-since: Handle file requests with If-Modified-Since: or If-Unmodified-Since: - + handle head properly handle head properly handle head properly Handle HEAD + + handle head properly handle head properly handle head properly handle + handle head properly handle head properly handle head properly Handle HEAD properly - + handle http/1.1 host: header handle http/1.1 host: header handle http/1.1 + + handle http/1.1 host: header handle http/1.1 host: header handle http/ + handle http/1.1 host: header handle http/1.1 host: header handle http/1.1 host: header Handle HTTP/1.1 Host: header + httptests test harness httptests test harness httptests test harness + httptests test harness httptests test harness httptests test harness HttpTests test harness + persistent connections persistent connections persistent connections + persistent connections persistent connections persistent connections persistent connections - + really fixed handling of multiple parameters really fixed handling of really + + really fixed handling of multiple parameters really fixed handling of + really fixed handling of multiple parameters really fixed handling of really fixed handling of multiple parameters Really fixed handling of multiple parameters - + removed httprequestheader class removed httprequestheader class removed + + removed httprequestheader class removed httprequestheader class remove + removed httprequestheader class removed httprequestheader class removed httprequestheader class Removed HttpRequestHeader class + requires host: header for 1.1 requests requires host: header for 1.1 + requires host: header for 1.1 requests requires host: header for 1.1 requires host: header for 1.1 requests Requires Host: header for 1.1 requests + send 100 continue for http/1.1 requests (concerned about push???) send send - 100 continue for http/1.1 requests (concerned about push???) Send 100 - Continue for HTTP/1.1 requests (concerned about push???) - + send connection: close send connection: close send connection: close Send + 100 continue for http/1.1 requests (concerned about push???) send send 100 + continue for http/1.1 requests (concerned about push???) Send 100 Continue + for HTTP/1.1 requests (concerned about push???) + + send connection: close send connection: close send connection: close s send + connection: close send connection: close send connection: close Send Connection: close + sends chunked data for 1.1 responses of unknown length. sends chunked sends + chunked data for 1.1 responses of unknown length. sends chunked sends chunked data for 1.1 responses of unknown length. Sends chunked data for 1.1 responses of unknown length. jetty-1.3.4 - 15 March 1998 + dump servlet enhanced to exercise these changes. dump servlet enhanced dump + servlet enhanced to exercise these changes. dump servlet enhanced dump servlet enhanced to exercise these changes. Dump servlet enhanced to exercise these changes. + fixed handling of multiple parameters in query and form content. fixed fixed + handling of multiple parameters in query and form content. fixed fixed handling of multiple parameters in query and form content. Fixed handling of multiple parameters in query and form content. "?A=1%2C2&A=C%2CD" now returns two values ("1,2" & "C,D") rather than 4. + servlethandler now takes an optional file base directory name which is + servlethandler now takes an optional file base directory name which is servlethandler now takes an optional file base directory name which is ServletHandler now takes an optional file base directory name which is used to set the translated path for pathInfo in servlet requests. jetty-1.3.3 + closed exception window in httplistener.java closed exception window i + closed exception window in httplistener.java closed exception window i closed exception window in httplistener.java Closed exception window in HttpListener.java - + fixed tableform.addbuttonarea bug. fixed tableform.addbuttonarea bug. fixed + + fixed tableform.addbuttonarea bug. fixed tableform.addbuttonarea bug. fixed + tableform.addbuttonarea bug. fixed tableform.addbuttonarea bug. fixed tableform.addbuttonarea bug. Fixed TableForm.addButtonArea bug. + tableform.extendrow() uses existing cell tableform.extendrow() uses ex + tableform.extendrow() uses existing cell tableform.extendrow() uses ex tableform.extendrow() uses existing cell TableForm.extendRow() uses existing cell jetty-1.3.2 + added per table cell composite factories added per table cell composit added - per table cell composite factories Added per Table cell composite factories + per table cell composite factories added per table cell composit added per + table cell composite factories Added per Table cell composite factories + fixed proxy bug with no port number fixed proxy bug with no port numbe fixed - proxy bug with no port number Fixed proxy bug with no port number + proxy bug with no port number fixed proxy bug with no port numbe fixed proxy + bug with no port number Fixed proxy bug with no port number jetty-1.3.1 - + better handling of invocationtargetexception in debug better handling - better handling of invocationtargetexception in debug Better handling of + + better handling of invocationtargetexception in debug better handling better + handling of invocationtargetexception in debug better handling better + handling of invocationtargetexception in debug Better handling of InvocationTargetException in debug + forwardhandler only forwards as http/1.0 (from tobias.miller) forwardh + forwardhandler only forwards as http/1.0 (from tobias.miller) forwardh forwardhandler only forwards as http/1.0 (from tobias.miller) ForwardHandler only forwards as http/1.0 (from Tobias.Miller) - + improved parsing of stack traces improved parsing of stack traces improved + + improved parsing of stack traces improved parsing of stack traces impr + improved parsing of stack traces improved parsing of stack traces improved parsing of stack traces Improved parsing of stack traces - + minor fixes in smtpmail minor fixes in smtpmail minor fixes in smtpmail - Minor fixes in SmtpMail + + minor fixes in smtpmail minor fixes in smtpmail minor fixes in smtpmai minor + fixes in smtpmail minor fixes in smtpmail minor fixes in smtpmail Minor + fixes in SmtpMail + minor release adjustments for tracker minor release adjustments for tr minor + release adjustments for tracker minor release adjustments for tr minor release adjustments for tracker Minor release adjustments for Tracker jetty-1.3.0 - + added dbadaptor to jdbc wrappers added dbadaptor to jdbc wrappers added - dbadaptor to jdbc wrappers Added DbAdaptor to JDBC wrappers - + beta release of tracker beta release of tracker beta release of tracker Beta + + added dbadaptor to jdbc wrappers added dbadaptor to jdbc wrappers adde added + dbadaptor to jdbc wrappers added dbadaptor to jdbc wrappers added dbadaptor + to jdbc wrappers Added DbAdaptor to JDBC wrappers + + beta release of tracker beta release of tracker beta release of tracke beta + release of tracker beta release of tracker beta release of tracker Beta release of Tracker jetty-1.2.0 + alternate look and feel for jetty alternate look and feel for jetty + alternate look and feel for jetty alternate look and feel for jetty alternate look and feel for jetty Alternate look and feel for Jetty - + better debug configuration better debug configuration better debug - configuration Better Debug configuration - + debugservlet debugservlet debugservlet DebugServlet + + better debug configuration better debug configuration better debug better + debug configuration better debug configuration better debug configuration + Better Debug configuration + + debugservlet debugservlet debugservlet debugservlet debugservlet + debugservlet debugservlet DebugServlet + fixed install bug for nested classes fixed install bug for nested clas fixed + install bug for nested classes fixed install bug for nested clas fixed install bug for nested classes Fixed install bug for nested classes - + reintroduced stf reintroduced stf reintroduced stf Reintroduced STF + + reintroduced stf reintroduced stf reintroduced stf reintroduced stf + reintroduced stf reintroduced stf reintroduced stf Reintroduced STF jetty-1.1.1 + improved documentation improved documentation improved documentation + improved documentation improved documentation improved documentation Improved documentation jetty-1.1 + improved connection caching in java.mortbay.jdbc improved connection c + improved connection caching in java.mortbay.jdbc improved connection c improved connection caching in java.mortbay.jdbc Improved connection caching in java.mortbay.JDBC - + moved httpcode to com.mortbay.util moved httpcode to com.mortbay.util moved + + moved httpcode to com.mortbay.util moved httpcode to com.mortbay.util moved + httpcode to com.mortbay.util moved httpcode to com.mortbay.util moved httpcode to com.mortbay.util Moved HttpCode to com.mortbay.Util jetty-1.0.1 - + bug fixes bug fixes bug fixes Bug fixes + + bug fixes bug fixes bug fixes bug fixes bug fixes bug fixes bug fixes Bug + fixes jetty-1.0 + first release in com.mortbay package structure first release in com.mo first + release in com.mortbay package structure first release in com.mo first release in com.mortbay package structure First release in com.mortbay package structure + included util, jdbc, html, http, jetty included util, jdbc, html, http + included util, jdbc, html, http, jetty included util, jdbc, html, http included util, jdbc, html, http, jetty Included Util, JDBC, HTML, HTTP, Jetty diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 77cd1a5d1d5..dc295b72ca7 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index f53ae54f931..2f9e2262ba4 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index ed59d4d4a5d..b728694bdf1 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index f2970614c38..7839f6eb735 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 438de03cb2d..8144fad7347 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index f480c913657..ff35059b3c8 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index db316c75f91..a62594bda30 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 0835e608460..671bb37d5d6 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index ccd28f80d3e..115142a612a 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 5ad8d195091..b3a6f9f64f0 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 088bdaf1519..f095bd84743 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 84bf734b8c6..54ec1f0a3a8 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 67d5a8574d7..7ecfb930536 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index 1fb6b021321..b79d81f84c2 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index f798776056d..26823999053 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index e038bc431c8..cf716ae9125 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index 621ff4593c4..864ac65aad4 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index 618b380388c..18940420c62 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index 17e5efb0023..2e7ceb939ca 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index 59d419468c4..f4c3e3e31ce 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index d43fdcd25fe..445a73dc3f5 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index 6d426c1d300..d7a19ee60ea 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 9e6c84b4eed..9a673c55fea 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 2d8d0f72cf2..e41eecef888 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index e41d71a11e5..ac180bdac94 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 36a7154bcbe..50723bdf821 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 95c8ea6062e..42603658d3c 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index 71f9654e706..0383e159428 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml index f56e8e5d919..6443ceb6561 100644 --- a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 157ffe4856a..09ad68dddeb 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 6a35acddb3f..6e03759bef0 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index da61d34ce71..99e7d16a470 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index e600e12d654..4b1d3e5868e 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index a14c9514966..a0ec1df6ac4 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index ac61e2f87a0..83a58abc01f 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 5f5bc632086..8c4e0fa77f2 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index dea3536a44b..fdb62d14b95 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index 0fd4ae023ed..b4f5f935677 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 7ac426169db..81b47396a04 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 739dc0e5e91..9b52adce938 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index ff0cd8a7a25..4aece2b7c8f 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index 18844347086..e7faac248bf 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index ff59c9f42a6..950d71356aa 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index f63afaef061..71b0ce9785d 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 966ffb3a932..1d58a991095 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 4e1b7e45ee0..d520f9298ef 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 6af92ef093c..9a69a92a4ca 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index cc19e24e4db..ee6c3ee5a36 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-maven-plugin diff --git a/jetty-monitor/pom.xml b/jetty-monitor/pom.xml index e88fdaf12af..bed57c09393 100644 --- a/jetty-monitor/pom.xml +++ b/jetty-monitor/pom.xml @@ -19,7 +19,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-monitor diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index fb33560e7a7..56cf5efcc55 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index 8becb5b0b6f..d4609452908 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index 2376eb52bab..b7985cf6fab 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index a9e09652751..bba7089dff6 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index aa2472250d6..f285c3bec1e 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index f8cc6b8b299..c53d74413fe 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 8802a6ac5c9..00ef97b1584 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 5a6c8cdb69d..68fd79e9ffc 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index 69e2fb2fce0..a759ff7102d 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index 1335078fdd9..f24a04a32b8 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index d95bb35919a..0ee53ede683 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index 8b8478446ab..fc9e70cc1fb 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index 70161263ea5..d914e7ee4cb 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 8cee4f98ea9..89c3879c351 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index e9e1068da9f..1d8349b5697 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 9200294df94..22d05f6915e 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index 466affeeadc..55defa34bdb 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index a804306c22a..70ed8da941d 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index 059e0c32684..6af864c8a1b 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 087d3267f15..9e1d08362cf 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index cc9782dac8a..0aa4687aab0 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index b7de4e16b3d..211f8e5f1bf 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-start diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index ac68ae6196e..3f6715f8fe2 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index bf5fb3941cf..4920f2f0f4f 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 87c8e95a6c4..256cf630c7e 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 75247b8f464..16afd420535 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 79b007471b8..608f7a2f32b 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index 80033281236..9cc96ea11f2 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 5f58acd85de..6a67a1f56d5 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 80e262ae6e1..10e4079268a 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index d5129cc78dc..07e36eb8529 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index d20cadbce43..d986f8cc8b0 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 6f62104a93a..1e4ff9f1e33 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index 3823cdc6f6e..fbf202721f2 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 6f2a1cd3a8e..99053b85ccd 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 25 jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 Jetty :: Project http://www.eclipse.org/jetty pom diff --git a/tests/pom.xml b/tests/pom.xml index 6f9b746af5f..703399c32fe 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 8919a1edb91..7b4bc3f3f18 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index 5c059152885..f94406d337e 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index 8246c78029e..dd0ab6d9a98 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index bbb60ec6f8e..0deb2b2f681 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 7b12ae54ce0..13b7acfccbe 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index a61a2eb872b..1d49dc57089 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 37015c72e0c..2e0760ce4f4 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index 200acb9ec26..0cd8fdb3101 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 7545e51a7ea..7eda6859ff9 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml index 13e9927af06..9d2b121d511 100644 --- a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-gcloud-memcached-sessions Jetty Tests :: Sessions :: GCloud with Memcached diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index 7d6c221a2df..ddc64bdcb0c 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index 910ef552458..cb28f4fc0c1 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index c050758583e..0e52a0cb837 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index b9adac56824..33c3d74f829 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 21b0b292ca0..95cbddfe9cd 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 8595d463677..cd11febbd40 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 8dc60d21df0..36413f2409c 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 5902f17cefe..241de39ee34 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index c91afeda7a4..f67a05e1e25 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 6c11927cd0f..d8ea43ebf1c 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index a223b230b76..7e7b92dcd67 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index a9a60042c24..2475a7ac5e3 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index b4ecfb70b6e..c04cb0640b0 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 59213709d7a..70376d23957 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index bb775ba1f10..05bba6f6411 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index c2246677d14..2d21eca3171 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 9de46c9d54d..9f20c1e5bab 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14-SNAPSHOT + 9.3.14.v20161028 test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From 2c385118289c13c5d1fdeeec6fa62e448dcd78b3 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 28 Oct 2016 13:01:34 -0700 Subject: [PATCH 058/109] Updating to version 9.3.15-SNAPSHOT --- VERSION.txt | 2 ++ aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-cdi/cdi-core/pom.xml | 2 +- jetty-cdi/cdi-full-servlet/pom.xml | 2 +- jetty-cdi/cdi-servlet/pom.xml | 2 +- jetty-cdi/cdi-websocket/pom.xml | 2 +- jetty-cdi/pom.xml | 2 +- jetty-cdi/test-cdi-webapp/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml | 2 +- jetty-gcloud/jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- jetty-http2/http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- jetty-monitor/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- jetty-websocket/javax-websocket-client-impl/pom.xml | 2 +- jetty-websocket/javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- tests/test-sessions/test-gcloud-memcached-sessions/pom.xml | 2 +- tests/test-sessions/test-gcloud-sessions/pom.xml | 2 +- tests/test-sessions/test-hash-sessions/pom.xml | 2 +- tests/test-sessions/test-infinispan-sessions/pom.xml | 2 +- tests/test-sessions/test-jdbc-sessions/pom.xml | 2 +- tests/test-sessions/test-mongodb-sessions/pom.xml | 2 +- tests/test-sessions/test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- tests/test-webapps/test-mock-resources/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-servlet-spec/test-container-initializer/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml | 2 +- tests/test-webapps/test-webapp-rfc2616/pom.xml | 2 +- 113 files changed, 114 insertions(+), 112 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index a819e334827..dae2d66cd26 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,3 +1,5 @@ +jetty-9.3.15-SNAPSHOT + jetty-9.3.14.v20161028 - 28 October 2016 + 292 NPE in SslConnectionFactory newConnection + 295 Ensure Jetty Client use of Deflater / Inflater calls .end() to avoid diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index dc295b72ca7..d815f18f010 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 2f9e2262ba4..b78d13272e9 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index b728694bdf1..d1687dbd9ea 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 7839f6eb735..10f34238063 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 8144fad7347..47d7782831b 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index ff35059b3c8..0f6b698f7eb 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index a62594bda30..0a39fed317d 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 671bb37d5d6..452383c4b3b 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index 115142a612a..d163e116b84 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index b3a6f9f64f0..77ac5199e9e 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index f095bd84743..79342b3434c 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 54ec1f0a3a8..58881082fb4 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 7ecfb930536..f8480748ae8 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index b79d81f84c2..8ee8a85bb05 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-ant diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index 26823999053..548bae8087f 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index cf716ae9125..8ce54173736 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index 864ac65aad4..dfa204f848b 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index 18940420c62..2bbf799c20d 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index 2e7ceb939ca..53d3873677b 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index f4c3e3e31ce..bdb32811544 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 445a73dc3f5..2f50fe3bbe1 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index d7a19ee60ea..49d081ebd09 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 9a673c55fea..e4eb431c4ad 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index e41eecef888..c36577d1e75 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT jetty-distribution Jetty :: Distribution Assemblies diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index ac180bdac94..e054226bb79 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 50723bdf821..961df3b60c0 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 42603658d3c..728399920d3 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index 0383e159428..b4b4dbfd239 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml index 6443ceb6561..d2d40c4632e 100644 --- a/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-memcached-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 09ad68dddeb..e675a6f4090 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 6e03759bef0..502739651b9 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 99e7d16a470..de54d45cbd9 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index 4b1d3e5868e..b28e812cc47 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index a0ec1df6ac4..18a7fdc8064 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 83a58abc01f..bed1087fade 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 8c4e0fa77f2..be8ad1a7152 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index fdb62d14b95..115e3583dd3 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index b4f5f935677..66e1a688abc 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 81b47396a04..a9eee1064ea 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 9b52adce938..b0ec8220479 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 4aece2b7c8f..31effe043db 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index e7faac248bf..b704e02e2ea 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 950d71356aa..1f488a72c73 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index 71b0ce9785d..54a14056e1f 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 1d58a991095..da61a32af79 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index d520f9298ef..6bacf557794 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 9a69a92a4ca..658152290f5 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index ee6c3ee5a36..09526481f3e 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-maven-plugin diff --git a/jetty-monitor/pom.xml b/jetty-monitor/pom.xml index bed57c09393..782e902f9ca 100644 --- a/jetty-monitor/pom.xml +++ b/jetty-monitor/pom.xml @@ -19,7 +19,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-monitor diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 56cf5efcc55..de99593d0c9 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index d4609452908..ca4167d0ce0 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index b7985cf6fab..6777b74f2b5 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index bba7089dff6..9d086274111 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index f285c3bec1e..b44c0b277e1 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index c53d74413fe..7c7cd12c321 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 00ef97b1584..c29219fc1ee 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-project diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 68fd79e9ffc..f5b60eddb22 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index a759ff7102d..4df137edfb9 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index f24a04a32b8..382b07a100f 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 0ee53ede683..f7cfcdaa7b8 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index fc9e70cc1fb..878efef9326 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index d914e7ee4cb..ee32e926ae1 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 89c3879c351..ae78226cb53 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 1d8349b5697..6049c24e9d4 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 22d05f6915e..7f40f9b56a5 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index 55defa34bdb..1ec2a6f051a 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index 70ed8da941d..2441cb8e4e1 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index 6af864c8a1b..cb5d509b447 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 9e1d08362cf..6360af0cbd5 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index 0aa4687aab0..5b4084de84d 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 211f8e5f1bf..b9958ee8469 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-start diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index 3f6715f8fe2..b612f2f3b49 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index 4920f2f0f4f..85832569f14 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 256cf630c7e..b63433e956b 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 16afd420535..81243091e65 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 608f7a2f32b..ebbdc6bc310 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index 9cc96ea11f2..acc2c0fa0f7 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index 6a67a1f56d5..0d37e9ec159 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 10e4079268a..9698b413b88 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index 07e36eb8529..82ae84bb782 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index d986f8cc8b0..7645e65d7f4 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 1e4ff9f1e33..a2e0ff038b0 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index fbf202721f2..dc9fdc5d151 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 99053b85ccd..4a6aaf268c2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 25 jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT Jetty :: Project http://www.eclipse.org/jetty pom diff --git a/tests/pom.xml b/tests/pom.xml index 703399c32fe..5ae3bce4938 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty jetty-project - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 7b4bc3f3f18..926cfd1dab3 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index f94406d337e..991d5ce1aad 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index dd0ab6d9a98..b516c7612b1 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index 0deb2b2f681..ffd3ecb6b67 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 13b7acfccbe..78d89a2d1e0 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 1d49dc57089..66b9c014d7c 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 2e0760ce4f4..f15a9b7953f 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index 0cd8fdb3101..2a298bc3978 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 7eda6859ff9..34db1a83031 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml index 9d2b121d511..3fc12797d86 100644 --- a/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-memcached-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-gcloud-memcached-sessions Jetty Tests :: Sessions :: GCloud with Memcached diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index ddc64bdcb0c..982cef4510b 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index cb28f4fc0c1..a996372b8db 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 0e52a0cb837..ebf1c759bb3 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 33c3d74f829..7eac2180307 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 95cbddfe9cd..52ac108c15f 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index cd11febbd40..5f5835fe762 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 36413f2409c..ec71dabba8d 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests tests-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 241de39ee34..31be658807e 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index f67a05e1e25..4e281769cb2 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index d8ea43ebf1c..ce5566fb8c0 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index 7e7b92dcd67..537a00d0f03 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index 2475a7ac5e3..79bc4f8aae2 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index c04cb0640b0..c6ca2fccdd9 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 70376d23957..91c013aa440 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 05bba6f6411..8bdf9700855 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index 2d21eca3171..a4a9dab716f 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar org.eclipse.jetty.tests diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 9f20c1e5bab..8a3c542580a 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -21,7 +21,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.3.14.v20161028 + 9.3.15-SNAPSHOT test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 From 5aebf6c46cf052e81fd2534ca2d660f60dda2c18 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 31 Oct 2016 11:34:19 -0700 Subject: [PATCH 059/109] Windows test case fix --- .../test/resources/usecases/barebones.alreadyEnabled.assert.txt | 2 +- .../resources/usecases/empty.addToStartCreateStartd.assert.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jetty-start/src/test/resources/usecases/barebones.alreadyEnabled.assert.txt b/jetty-start/src/test/resources/usecases/barebones.alreadyEnabled.assert.txt index a122fc3419d..450ae4f3cef 100644 --- a/jetty-start/src/test/resources/usecases/barebones.alreadyEnabled.assert.txt +++ b/jetty-start/src/test/resources/usecases/barebones.alreadyEnabled.assert.txt @@ -14,4 +14,4 @@ PROP|main.prop=value0 EXISTS|maindir/ EXISTS|start.ini -OUTPUT|INFO : main already enabled by \[\$\{jetty.base}/start.ini] +OUTPUT|INFO : main already enabled by \[\$\{jetty.base}[\\/]start.ini\] diff --git a/jetty-start/src/test/resources/usecases/empty.addToStartCreateStartd.assert.txt b/jetty-start/src/test/resources/usecases/empty.addToStartCreateStartd.assert.txt index 1f52c89edba..1919711ff0d 100644 --- a/jetty-start/src/test/resources/usecases/empty.addToStartCreateStartd.assert.txt +++ b/jetty-start/src/test/resources/usecases/empty.addToStartCreateStartd.assert.txt @@ -23,4 +23,4 @@ EXISTS|start.d/extra.ini EXISTS|start.d/optional.ini # Output Assertions [regex!] (order is irrelevant) -OUTPUT|MKDIR : \$\{jetty.base\}/maindir \ No newline at end of file +OUTPUT|MKDIR : \$\{jetty.base\}[\\/]maindir From ca882c8deebc354d4de59d9a3ab4ffc4e8c40b79 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 2 Nov 2016 15:40:59 +1100 Subject: [PATCH 060/109] Issue #240 No error if no parts because input stream already consumed. --- .../jetty/servlets/MultiPartFilter.java | 5 +- .../jetty/servlets/MultipartFilterTest.java | 72 +++++++++++++++++++ .../util/MultiPartInputStreamParser.java | 29 +++++--- .../jetty/util/MultiPartInputStreamTest.java | 46 ++++++++++++ 4 files changed, 141 insertions(+), 11 deletions(-) diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java index d68e016d704..6232a1f9dd7 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java @@ -149,7 +149,6 @@ public class MultiPartFilter implements Filter return; } - InputStream in = new BufferedInputStream(request.getInputStream()); String content_type=srequest.getContentType(); //Get current parameters so we can merge into them @@ -164,12 +163,12 @@ public class MultiPartFilter implements Filter } MultipartConfigElement config = new MultipartConfigElement(tempdir.getCanonicalPath(), _maxFileSize, _maxRequestSize, _fileOutputBuffer); - MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(in, content_type, config, tempdir); + MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(request.getInputStream(), content_type, config, tempdir); mpis.setDeleteOnExit(_deleteFiles); mpis.setWriteFilesWithFilenames(_writeFilesWithFilenames); request.setAttribute(MULTIPART, mpis); try - { + { Collection parts = mpis.getParts(); if (parts != null) { diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java index 41bb58e0d0b..c5c744893fc 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java @@ -31,6 +31,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.nio.charset.StandardCharsets; @@ -38,7 +39,13 @@ import java.util.EnumSet; import java.util.Map; import javax.servlet.DispatcherType; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; +import javax.servlet.ServletInputStream; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -46,10 +53,12 @@ import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.MimeTypes; import org.eclipse.jetty.servlet.FilterHolder; +import org.eclipse.jetty.servlet.FilterMapping; import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.servlet.ServletTester; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.MultiPartInputStreamParser; +import org.eclipse.jetty.util.ReadLineInputStream; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.log.StacklessLogging; @@ -64,6 +73,33 @@ public class MultipartFilterTest private ServletTester tester; FilterHolder multipartFilter; + public static class ReadAllFilter implements Filter + { + + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException + { + ServletInputStream is = request.getInputStream(); + ReadLineInputStream rlis = new ReadLineInputStream(request.getInputStream()); + String line = ""; + while (line != null) + { + line = rlis.readLine(); + } + chain.doFilter(request, response); + } + + @Override + public void destroy() + { + } + } + public static class NullServlet extends HttpServlet { @@ -705,6 +741,42 @@ public class MultipartFilterTest assertTrue(response.getContent().indexOf("Missing content")>=0); } } + + + @Test + public void testBodyAlreadyConsumed() + throws Exception + { + tester.addServlet(NullServlet.class,"/null"); + + FilterHolder holder = new FilterHolder(); + holder.setName("reader"); + holder.setFilter(new ReadAllFilter()); + tester.getContext().getServletHandler().addFilter(holder); + FilterMapping mapping = new FilterMapping(); + mapping.setFilterName("reader"); + mapping.setPathSpec("/*"); + tester.getContext().getServletHandler().prependFilterMapping(mapping); + String boundary="XyXyXy"; + // generated and parsed test + HttpTester.Request request = HttpTester.newRequest(); + HttpTester.Response response; + + request.setMethod("POST"); + request.setVersion("HTTP/1.0"); + request.setHeader("Host","tester"); + request.setURI("/context/null"); + request.setHeader("Content-Type","multipart/form-data; boundary="+boundary); + request.setContent("How now brown cow"); + + try(StacklessLogging stackless = new StacklessLogging(ServletHandler.class)) + { + response = HttpTester.parseResponse(tester.getResponses(request.generate())); + assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + } + } + + @Test public void testWhitespaceBodyWithCRLF() diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java b/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java index cecf895461c..f3a26808b8e 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java @@ -38,8 +38,10 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Locale; +import java.util.Map; import javax.servlet.MultipartConfigElement; +import javax.servlet.ServletInputStream; import javax.servlet.http.Part; import org.eclipse.jetty.util.log.Log; @@ -56,6 +58,7 @@ public class MultiPartInputStreamParser { private static final Logger LOG = Log.getLogger(MultiPartInputStreamParser.class); public static final MultipartConfigElement __DEFAULT_MULTIPART_CONFIG = new MultipartConfigElement(System.getProperty("java.io.tmpdir")); + public static final MultiMap EMPTY_MAP = new MultiMap(Collections.emptyMap()); protected InputStream _in; protected MultipartConfigElement _config; protected String _contentType; @@ -353,15 +356,24 @@ public class MultiPartInputStreamParser */ public MultiPartInputStreamParser (InputStream in, String contentType, MultipartConfigElement config, File contextTmpDir) { - _in = new ReadLineInputStream(in); - _contentType = contentType; - _config = config; - _contextTmpDir = contextTmpDir; - if (_contextTmpDir == null) - _contextTmpDir = new File (System.getProperty("java.io.tmpdir")); + _contentType = contentType; + _config = config; + _contextTmpDir = contextTmpDir; + if (_contextTmpDir == null) + _contextTmpDir = new File (System.getProperty("java.io.tmpdir")); - if (_config == null) - _config = new MultipartConfigElement(_contextTmpDir.getAbsolutePath()); + if (_config == null) + _config = new MultipartConfigElement(_contextTmpDir.getAbsolutePath()); + + if (in instanceof ServletInputStream) + { + if (((ServletInputStream)in).isFinished()) + { + _parts = EMPTY_MAP; + return; + } + } + _in = new ReadLineInputStream(in); } /** @@ -477,6 +489,7 @@ public class MultiPartInputStreamParser if (_parts != null || _err != null) return; + //initialize long total = 0; //keep running total of size of bytes read from input and throw an exception if exceeds MultipartConfigElement._maxRequestSize _parts = new MultiMap<>(); diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java index 5496450243f..0ae86bf46a1 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java @@ -38,7 +38,9 @@ import java.io.InputStream; import java.util.Collection; import javax.servlet.MultipartConfigElement; +import javax.servlet.ReadListener; import javax.servlet.ServletException; +import javax.servlet.ServletInputStream; import javax.servlet.http.Part; import org.eclipse.jetty.util.MultiPartInputStreamParser.MultiPart; @@ -237,6 +239,50 @@ public class MultiPartInputStreamTest } } + + @Test + public void testBodyAlreadyConsumed() + throws Exception + { + ServletInputStream is = new ServletInputStream() { + + @Override + public boolean isFinished() + { + return true; + } + + @Override + public boolean isReady() + { + return false; + } + + @Override + public void setReadListener(ReadListener readListener) + { + } + + @Override + public int read() throws IOException + { + return 0; + } + + }; + + MultipartConfigElement config = new MultipartConfigElement(_dirname, 1024, 3072, 50); + MultiPartInputStreamParser mpis = new MultiPartInputStreamParser(is, + _contentType, + config, + _tmpDir); + mpis.setDeleteOnExit(true); + Collection parts = mpis.getParts(); + assertEquals(0, parts.size()); + } + + + @Test public void testWhitespaceBodyWithCRLF() throws Exception From 8461cc07b3e64e6f9e56d58a2a8f955bd734240f Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 2 Nov 2016 17:32:55 +1100 Subject: [PATCH 061/109] Issue #1050 --- .../eclipse/jetty/servlet/FilterHolder.java | 54 +++++---- .../org/eclipse/jetty/servlet/Holder.java | 1 + .../eclipse/jetty/servlet/ServletHolder.java | 4 +- .../jetty/servlet/FilterHolderTest.java | 103 ++++++++++++++++++ 4 files changed, 136 insertions(+), 26 deletions(-) create mode 100644 jetty-servlet/src/test/java/org/eclipse/jetty/servlet/FilterHolderTest.java diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java index 179e66de478..00af7a4b3ee 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java @@ -109,32 +109,37 @@ public class FilterHolder extends Holder @Override public void initialize() throws Exception { - super.initialize(); - - if (_filter==null) + if (!_initialized) { - try - { - ServletContext context=_servletHandler.getServletContext(); - _filter=(context instanceof ServletContextHandler.Context) - ?((ServletContextHandler.Context)context).createFilter(getHeldClass()) - :getHeldClass().newInstance(); - } - catch (ServletException se) - { - Throwable cause = se.getRootCause(); - if (cause instanceof InstantiationException) - throw (InstantiationException)cause; - if (cause instanceof IllegalAccessException) - throw (IllegalAccessException)cause; - throw se; - } - } + super.initialize(); - _config=new Config(); - if (LOG.isDebugEnabled()) - LOG.debug("Filter.init {}",_filter); - _filter.init(_config); + if (_filter==null) + { + try + { + ServletContext context=_servletHandler.getServletContext(); + _filter=(context instanceof ServletContextHandler.Context) + ?((ServletContextHandler.Context)context).createFilter(getHeldClass()) + :getHeldClass().newInstance(); + } + catch (ServletException se) + { + Throwable cause = se.getRootCause(); + if (cause instanceof InstantiationException) + throw (InstantiationException)cause; + if (cause instanceof IllegalAccessException) + throw (IllegalAccessException)cause; + throw se; + } + } + + _config=new Config(); + if (LOG.isDebugEnabled()) + LOG.debug("Filter.init {}",_filter); + _filter.init(_config); + } + + _initialized = true; } @@ -158,6 +163,7 @@ public class FilterHolder extends Holder _filter=null; _config=null; + _initialized = false; super.doStop(); } diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Holder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Holder.java index 2f6cfe00dc0..90583c2f405 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Holder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Holder.java @@ -53,6 +53,7 @@ public class Holder extends BaseHolder protected String _displayName; protected boolean _asyncSupported; protected String _name; + protected boolean _initialized = false; /* ---------------------------------------------------------------- */ diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java index a652deed507..b455b792bcd 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java @@ -73,7 +73,6 @@ public class ServletHolder extends Holder implements UserIdentity.Scope private static final Logger LOG = Log.getLogger(ServletHolder.class); private int _initOrder = -1; private boolean _initOnStartup=false; - private boolean _initialized = false; private Map _roleMap; private String _forcedPath; private String _runAsRole; @@ -410,7 +409,8 @@ public class ServletHolder extends Holder implements UserIdentity.Scope public void initialize () throws Exception { - if(!_initialized){ + if(!_initialized) + { super.initialize(); if (_extInstance || _initOnStartup) { diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/FilterHolderTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/FilterHolderTest.java new file mode 100644 index 00000000000..ca720071064 --- /dev/null +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/FilterHolderTest.java @@ -0,0 +1,103 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + + +package org.eclipse.jetty.servlet; + +import static org.junit.Assert.*; + +import java.io.IOException; +import java.util.concurrent.atomic.AtomicInteger; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +import org.eclipse.jetty.util.log.StacklessLogging; +import org.junit.Test; + +/** + * FilterHolderTest + * + * + */ +public class FilterHolderTest +{ + + @Test + public void testInitialize() + throws Exception + { + ServletHandler handler = new ServletHandler(); + + final AtomicInteger counter = new AtomicInteger(0); + Filter filter = new Filter () + { + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + counter.incrementAndGet(); + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException + { + } + + @Override + public void destroy() + { + } + + }; + + FilterHolder fh = new FilterHolder(); + fh.setServletHandler(handler); + + fh.setName("xx"); + fh.setFilter(filter); + + try (StacklessLogging stackless = new StacklessLogging(FilterHolder.class)) + { + fh.initialize(); + fail("Not started"); + } + catch (Exception e) + { + //expected + } + + fh.start(); + fh.initialize(); + assertEquals(1, counter.get()); + + fh.initialize(); + assertEquals(1, counter.get()); + + fh.stop(); + assertEquals(1, counter.get()); + fh.start(); + assertEquals(1, counter.get()); + fh.initialize(); + assertEquals(2, counter.get()); + } + +} From b9fad97d0e58bc1dbebe760a72992050c8ca29c3 Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Wed, 2 Nov 2016 13:08:56 -0400 Subject: [PATCH 062/109] Issue #1041 - Document removal of ConcurrentArrayQueue as described in #966. Signed-off-by: WalkerWatch --- .../asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc index c0a899a1894..69c095ae576 100644 --- a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc @@ -24,6 +24,10 @@ https://wiki.debian.org/LSBInitScripts[LSB tags]. You can safely replace Jetty 9.3's `jetty.sh` with 9.4's. +==== Removed Classes + +`ConcurrentArrayQueue` was removed from use in Jetty 9.3 and the class has been removed entirely as part of Jetty 9.4. + ==== Module Changes in Jetty 9.4 [cols="1,1", options="header"] From 2b5bea3ab0bda741a3059a99a48bf98f83a80a6c Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Wed, 2 Nov 2016 13:34:19 -0400 Subject: [PATCH 063/109] Issue #1026 - Added documentation. Signed-off-by: WalkerWatch --- .../configuring/connectors/configuring-connectors.adoc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/configuring/connectors/configuring-connectors.adoc b/jetty-documentation/src/main/asciidoc/configuring/connectors/configuring-connectors.adoc index 55642c8e228..5b1551b59bd 100644 --- a/jetty-documentation/src/main/asciidoc/configuring/connectors/configuring-connectors.adoc +++ b/jetty-documentation/src/main/asciidoc/configuring/connectors/configuring-connectors.adoc @@ -131,8 +131,8 @@ Jetty attempts to gently close all TCP/IP connections with proper half close sem [[jetty-connectors-http-configuration]] ==== HTTP Configuration -The link:{JDURL}/org/eclipse/jetty/server/HttpConfiguration.html[HttpConfiguration] class holds the configuration for link:{JDURL}/org/eclipse/jetty/server/HttpChannel.html[`HTTPChannel`]s, which you can create 1:1 with each HTTP connection or 1:n on a multiplexed HTTP/2 connection. -Thus a `HTTPConfiguration` object is injected into both the HTTP and HTTP/2 connection factories. +The link:{JDURL}/org/eclipse/jetty/server/HttpConfiguration.html[`HttpConfiguration`] class holds the configuration for link:{JDURL}/org/eclipse/jetty/server/HttpChannel.html[`HttpChannel`]s, which you can create 1:1 with each HTTP connection or 1:n on a multiplexed HTTP/2 connection. +Thus a `HttpConfiguration` object is injected into both the HTTP and HTTP/2 connection factories. To avoid duplicate configuration, the standard Jetty distribution creates the common `HttpConfiguration` instance in link:{SRCDIR}/jetty-server/src/main/config/etc/jetty.xml[`jetty.xml`], which is a `Ref` element then used in link:{SRCDIR}/jetty-server/src/main/config/etc/jetty-http.xml[`jetty-http.xml`], link:{SRCDIR}/jetty-server/src/main/config/etc/jetty-https.xml[`jetty-https.xml`] and in link:{SRCDIR}/jetty-http2/http2-server/src/main/config/etc/jetty-http2.xml[`jetty-http2.xml`]. A typical configuration of link:{JDURL}/org/eclipse/jetty/server/HttpConfiguration.html[HttpConfiguration] is: @@ -171,6 +171,9 @@ This example HttpConfiguration may be used by reference to the ID "`httpConfig`" ---- +This same `httpConfig` is referenced by the link:{JDURL}/org/eclipse/jetty/server/handler/SecuredRedirectHandler.html[`SecuredRedirectHandler`] when redirecting secure requests. +Please note that if your `httpConfig` does not include a `secureScheme` or `securePort` or there is no `HttpConfiguration` present these types of secured requests will be returned a `403` error. + For SSL based connectors (in `jetty-https.xml` and `jetty-http2.xml`), the common "`httpConfig`" instance is used as the basis to create an SSL specific configuration with ID "`sslHttpConfig`": [source, xml, subs="{sub-order}"] From c665106fc57955a8f87abf8cc54114d174267cca Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 2 Nov 2016 11:28:56 -0700 Subject: [PATCH 064/109] Issue #1057 - Improve WebSocketUpgradeFilter performance + Tests for WebSocket upgrade now evaluates the request from least common feature to most common feature, so as minimize the testing of the request object on every request --- .../server/WebSocketServerFactory.java | 32 +++--- .../server/WebSocketUpgradeFilter.java | 102 ++++++++++-------- 2 files changed, 73 insertions(+), 61 deletions(-) diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java index 6eb97ffcc2a..5f0b498d6f3 100644 --- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java +++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java @@ -188,7 +188,7 @@ public class WebSocketServerFactory extends ContainerLifeCycle implements WebSoc catch (URISyntaxException e) { throw new IOException("Unable to accept websocket due to mangled URI", e); - } + } finally { Thread.currentThread().setContextClassLoader(old); @@ -340,13 +340,22 @@ public class WebSocketServerFactory extends ContainerLifeCycle implements WebSoc @Override public boolean isUpgradeRequest(HttpServletRequest request, HttpServletResponse response) { - if (!"GET".equalsIgnoreCase(request.getMethod())) + // Tests sorted by least common to most common. + + String upgrade = request.getHeader("Upgrade"); + if (upgrade == null) { - // not a "GET" request (not a websocket upgrade) + // no "Upgrade: websocket" header present. return false; } - - String connection = request.getHeader("connection"); + + if (!"websocket".equalsIgnoreCase(upgrade)) + { + // Not a websocket upgrade + return false; + } + + String connection = request.getHeader("Connection"); if (connection == null) { // no "Connection: upgrade" header present. @@ -370,17 +379,10 @@ public class WebSocketServerFactory extends ContainerLifeCycle implements WebSoc { return false; } - - String upgrade = request.getHeader("Upgrade"); - if (upgrade == null) + + if (!"GET".equalsIgnoreCase(request.getMethod())) { - // no "Upgrade: websocket" header present. - return false; - } - - if (!"websocket".equalsIgnoreCase(upgrade)) - { - LOG.debug("Not a 'Upgrade: WebSocket' (was [Upgrade: " + upgrade + "])"); + // not a "GET" request (not a websocket upgrade) return false; } diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java index 453062ce046..d6fd7b024b9 100644 --- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java +++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java @@ -20,6 +20,7 @@ package org.eclipse.jetty.websocket.server; import java.io.IOException; import java.util.EnumSet; + import javax.servlet.DispatcherType; import javax.servlet.Filter; import javax.servlet.FilterChain; @@ -160,17 +161,19 @@ public class WebSocketUpgradeFilter extends ContainerLifeCycle implements Filter chain.doFilter(request,response); return; } - - if (LOG.isDebugEnabled()) + + try { - LOG.debug(".doFilter({}) - {}",fname,chain); - } - - if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) - { - HttpServletRequest httpreq = (HttpServletRequest)request; - HttpServletResponse httpresp = (HttpServletResponse)response; - + HttpServletRequest httpreq = (HttpServletRequest) request; + HttpServletResponse httpresp = (HttpServletResponse) response; + + if (!factory.isUpgradeRequest(httpreq, httpresp)) + { + // Not an upgrade request, skip it + chain.doFilter(request, response); + return; + } + // Since this is a filter, we need to be smart about determining the target path String contextPath = httpreq.getContextPath(); String target = httpreq.getRequestURI(); @@ -178,45 +181,52 @@ public class WebSocketUpgradeFilter extends ContainerLifeCycle implements Filter { target = target.substring(contextPath.length()); } - - if (factory.isUpgradeRequest(httpreq,httpresp)) + + MappedResource resource = pathmap.getMatch(target); + if (resource == null) { - LOG.debug("target = [{}]",target); - - MappedResource resource = pathmap.getMatch(target); - if (resource == null) + if (LOG.isDebugEnabled()) { - if (LOG.isDebugEnabled()) - { - LOG.debug("WebSocket Upgrade on {} has no associated endpoint",target); - LOG.debug("PathMappings: {}",pathmap.dump()); - } - // no match. - chain.doFilter(request,response); - return; - } - LOG.debug("WebSocket Upgrade detected on {} for endpoint {}",target,resource); - - WebSocketCreator creator = resource.getResource(); - - // Store PathSpec resource mapping as request attribute - httpreq.setAttribute(PathSpec.class.getName(),resource.getPathSpec()); - - // We have an upgrade request - if (factory.acceptWebSocket(creator,httpreq,httpresp)) - { - // We have a socket instance created - return; - } - - // If we reach this point, it means we had an incoming request to upgrade - // but it was either not a proper websocket upgrade, or it was possibly rejected - // due to incoming request constraints (controlled by WebSocketCreator) - if (response.isCommitted()) - { - // not much we can do at this point. - return; + LOG.debug("WebSocket Upgrade on {} has no associated endpoint", target); + LOG.debug("PathMappings: {}", pathmap.dump()); } + // no match. + chain.doFilter(request, response); + return; + } + + if(LOG.isDebugEnabled()) + { + LOG.debug("WebSocket Upgrade detected on {} for endpoint {}", target, resource); + } + + WebSocketCreator creator = resource.getResource(); + + // Store PathSpec resource mapping as request attribute + httpreq.setAttribute(PathSpec.class.getName(), resource.getPathSpec()); + + // We have an upgrade request + if (factory.acceptWebSocket(creator, httpreq, httpresp)) + { + // We have a socket instance created + return; + } + + // If we reach this point, it means we had an incoming request to upgrade + // but it was either not a proper websocket upgrade, or it was possibly rejected + // due to incoming request constraints (controlled by WebSocketCreator) + if (response.isCommitted()) + { + // not much we can do at this point. + return; + } + } + catch (ClassCastException e) + { + // We are in some kind of funky non-http environment. + if (LOG.isDebugEnabled()) + { + LOG.debug("Not a HttpServletRequest, skipping WebSocketUpgradeFilter"); } } From f330f19653b810eddbc4b90615966fa5d0eeb06a Mon Sep 17 00:00:00 2001 From: WalkerWatch Date: Wed, 2 Nov 2016 14:54:37 -0400 Subject: [PATCH 065/109] OSGi doc formatting cleanup. Signed-off-by: WalkerWatch --- .../asciidoc/development/frameworks/osgi.adoc | 791 ++++++------------ 1 file changed, 261 insertions(+), 530 deletions(-) diff --git a/jetty-documentation/src/main/asciidoc/development/frameworks/osgi.adoc b/jetty-documentation/src/main/asciidoc/development/frameworks/osgi.adoc index 3c57ca7fde8..b4e6adb6100 100644 --- a/jetty-documentation/src/main/asciidoc/development/frameworks/osgi.adoc +++ b/jetty-documentation/src/main/asciidoc/development/frameworks/osgi.adoc @@ -19,19 +19,16 @@ ==== Introduction -The Jetty OSGi infrastructure provides a Jetty container inside an OSGi -container. Traditional JavaEE webapps can be deployed, in addition to -Jetty ContextHandlers, along with OSGi web bundles. In addition, the -infrastructure also supports the OSGi HttpService interface. +The Jetty OSGi infrastructure provides a Jetty container inside an OSGi container. +Traditional JavaEE webapps can be deployed, in addition to Jetty `ContextHandlers`, along with OSGi web bundles. +In addition, the infrastructure also supports the OSGi `HttpService` interface. ==== General Setup -All of the Jetty jars contain manifest entries appropriate to ensure -that they can be deployed into an OSGi container as bundles. You will -need to install some jetty jars into your OSGi container. You can always -find the jetty jars either in the maven central repository, or you can -download a distribution of jetty. Here's the absolute minimal set of -jetty jars: +All of the Jetty jars contain manifest entries appropriate to ensure that they can be deployed into an OSGi container as bundles. +You will need to install some jetty jars into your OSGi container. +You can always find the Jetty jars either in the Maven Central repository, or you can link:https://www.eclipse.org/jetty/download.html[download] a distribution of Jetty. +Here's the absolute minimal set of Jetty jars: .Bundle Name Mapping [cols=",",options="header",] @@ -51,61 +48,47 @@ jetty jars: ____ [NOTE] - -We recommend that you also deploy the -link:#osgi-annotations[annotation-related] jars also, as increasingly -the Servlet Specification relies on annotations for functionality. +We recommend that you also deploy the link:#osgi-annotations[annotation-related] jars also, as the Servlet Specification increasingly relies on annotations for functionality. ____ -You will also need the**OSGi Event Management service** and the **OSGi -Configuration Management service**. If your OSGi container does not -automatically make these available, you will need to add them in a way -appropriate to your container. +You will also need the **OSGi Event Management service** and the **OSGi Configuration Management service**. +If your OSGi container does not automatically make these available, you will need to add them in a way appropriate to your container. ==== The Jetty OSGi Container ===== The jetty-osgi-boot jar -Now that you have the basic set of Jetty jars installed, you can install -the -http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot/[jetty-osgi-boot.jar] -bundle, downloadable from the maven central repo -http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot/[here.] +Now that you have the basic set of Jetty jars installed, you can install the http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot/[jetty-osgi-boot.jar] bundle, downloadable from the maven central repo http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot/[here.] -This bundle will instantiate and make available the Jetty OSGi container -when it is started. If this bundle is not auto-started upon installation -into your OSGi container, you should start it manually using a command -appropriate for your container. +This bundle will instantiate and make available the Jetty OSGi container when it is started. +If this bundle is not auto-started upon installation into your OSGi container, you should start it manually using a command appropriate for your container. [[customize-jetty-container]] ===== Customizing the Jetty Container -Before going ahead with the install, you may want to customize the Jetty -container. In general this is done by a combination of System properties -and the usual jetty xml configuration files. The way you define the -System properties will depend on which OSGi container you are using, so -ensure that you are familiar with how to set them for your environment. -In the following examples, we will assume that the OSGi container allows -us to set System properties as simple name=value pairs. +Before going ahead with the install, you may want to customize the Jetty container. +In general this is done by a combination of System properties and the usual Jetty xml configuration files. +The way you define the System properties will depend on which OSGi container you are using, so ensure that you are familiar with how to set them for your environment. +In the following examples, we will assume that the OSGi container allows us to set System properties as simple `name=value` pairs. The available System properties are: jetty.http.port:: - If not specified, this defaults to the usual jetty port of 8080. +If not specified, this defaults to the usual jetty port of 8080. jetty.home:: - Either this property _or_ the *jetty.home.bundle* _must_ be specified. - This property should point to a file system location that has an - `etc/` directory containing xml files to configure the Jetty container - on startup. For example: - + +Either this property _or_ the *jetty.home.bundle* _must_ be specified. +This property should point to a file system location that has an `etc/` directory containing xml files to configure the Jetty container on startup. +For example: ++ [source, plain, subs="{sub-order}"] ---- jetty.home=/opt/custom/jetty - + ---- - + - Where `/opt/custom/jetty` contains: - + + ++ +Where `/opt/custom/jetty` contains: ++ [source, plain, subs="{sub-order}"] ---- @@ -113,27 +96,23 @@ etc/jetty.xml etc/jetty-selector.xml etc/jetty-deployer.xml etc/jetty-special.xml - - ---- + jetty.home.bundle:: - Either this property _or_ the *jetty.home* property must be specified. - This property should specify the symbolic name of a bundle which - contains a directory called `jettyhome/`. The` - jettyhome/` directory should have a subdirectory called - `etc/` that contains the xml files to be applied to Jetty on startup. - The jetty-osgi-boot.jar contains a` - jettyhome/` directory with a default set of xml - configuration files. Here's how you would specify it: - + +Either this property _or_ the *jetty.home* property must be specified. +This property should specify the symbolic name of a bundle which contains a directory called `jettyhome/`. +The `jettyhome/` directory should have a subdirectory called `etc/` that contains the xml files to be applied to Jetty on startup. +The jetty-osgi-boot.jar contains a `jettyhome/` directory with a default set of xml configuration files. +Here's how you would specify it: ++ [source, plain, subs="{sub-order}"] ---- jetty.home.bundle=org.eclipse.jetty.osgi.boot ---- - + - Here's a partial listing of that jar that shows you the names of the - xml files contained within it: - + + ++ +Here's a partial listing of that jar that shows you the names of the xml files contained within it: ++ [source, plain, subs="{sub-order}"] ---- META-INF/MANIFEST.MF @@ -141,81 +120,59 @@ jettyhome/etc/jetty.xml jettyhome/etc/jetty-deployer.xml jettyhome/etc/jetty-http.xml ---- + jetty.etc.config.urls:: - This specifies the paths of the xml files that are to be used. If not - specified, they default to: - + +This specifies the paths of the xml files that are to be used. +If not specified, they default to: ++ [source, plain, subs="{sub-order}"] ---- etc/jetty.xml,etc/jetty-http.xml,etc/jetty-deployer.xml ---- - + - Note that the paths can either be relative or absolute, or a mixture. - If the path is relative, it is resolved against either *jetty.home* or - **jetty.home.bundle**, whichever was specified. You can use this - ability to mix and match jetty configuration files to add - functionality, such as adding in a https connector. Here's an example - of adding a https connector, using the relevant files from the - jetty-distribution: - + + ++ +Note that the paths can either be relative or absolute, or a mixture. +If the path is relative, it is resolved against either *jetty.home* or **jetty.home.bundle**, whichever was specified. +You can use this ability to mix and match jetty configuration files to add functionality, such as adding in a https connector. +Here's an example of adding a HTTPS connector, using the relevant files from the jetty-distribution: ++ .... etc/jetty.xml, etc/jetty-http.xml, /opt/jetty/etc/jetty-ssl.xml, /opt/jetty/etc/jetty-https.xml, etc/jetty-deployer.xml .... - + - Note that regardless of whether you set the *jetty.home* or - *jetty.home.bundle* property, when Jetty executes the configuration - files, it will set an appropriate value for *jetty.home* so that - references in xml files to will work. Be - careful, however, if you are mixing and matching relative and absolute - configuration file paths: the value of *jetty.home* is determined from - the resolved location of the _relative_ files only. ++ + +Note that regardless of whether you set the *jetty.home* or *jetty.home.bundle* property, when Jetty executes the configuration files, it will set an appropriate value for *jetty.home* so that references in xml files to `` will work. +Be careful, however, if you are mixing and matching relative and absolute configuration file paths: the value of *jetty.home* is determined from the resolved location of the _relative_ files only. ===== The Jetty Container as an OSGi Service -You can now go ahead and deploy the jetty-osgi-boot.jar into your OSGi -container. A Jetty Server instance will be created, the xml config files -applied to it, and then published as an OSGi service. Normally, you will -not need to interact with this service instance, however you can -retrieve a reference to it using the usual OSGi API: +You can now go ahead and deploy the jetty-osgi-boot.jar into your OSGi container. +A Jetty server instance will be created, the xml config files applied to it, and then published as an OSGi service. +Normally, you will not need to interact with this service instance, however you can retrieve a reference to it using the usual OSGi API: [source, java, subs="{sub-order}"] ---- - org.osgi.framework.BundleContext bc; org.osgi.framework.ServiceReference ref = bc.getServiceReference("org.eclipse.jetty.server.Server"); - - ---- -The Server service has a couple of properties associated with it that -you can retrieve using the -org.osgi.framework.ServiceReference.getProperty(String) method: +The Server service has a couple of properties associated with it that you can retrieve using the `org.osgi.framework.ServiceReference.getProperty(String)` method: managedServerName:: - The Jetty Server instance created by the jetty-osgi-boot.jar will be - called "defaultJettyServer" +The Jetty Server instance created by the jetty-osgi-boot.jar will be called "defaultJettyServer" jetty.etc.config.urls:: - The list of xml files resolved from either *jetty.home* - or**jetty.home.bundle**/jettyhome +The list of xml files resolved from either *jetty.home* or **jetty.home.bundle**/jettyhome ===== Adding More Jetty Servers -As we have seen in the previous section, the jetty-osgi-boot code will -create an org.eclipse.jetty.server.Server instance, apply the xml -configuration files specified by *jetty.etc.config.urls* System property -to it, and then register it as an OSGi Service. The name associated with -this default instance is "defaultJettyServer". +As we have seen in the previous section, the jetty-osgi-boot code will create an `org.eclipse.jetty.server.Server` instance, apply the xml configuration files specified by *jetty.etc.config.urls* System property to it, and then register it as an OSGi Service. +The name associated with this default instance is `defaultJettyServer`. -You can create other Server instances, register them as OSGi Services, -and the jetty-osgi-boot code will notice them, and configure them so -that they can deploy ContextHandlers and webapp bundles. When you deploy -webapps or ContextHandlers as bundles or Services (see sections below) -you can target them to be deployed to a particular server instance via +You can create other Server instances, register them as OSGi Services, and the jetty-osgi-boot code will notice them, and configure them so that they can deploy `ContextHandlers` and webapp bundles. +When you deploy webapps or `ContextHandlers` as bundles or Services (see sections below) you can target them to be deployed to a particular server instance via the Server's name. -Here's an example of how to create a new Server instance and register it -with OSGi so that the jetty-osgi-boot code will find it and configure it -so it can be a deployment target: +Here's an example of how to create a new Server instance and register it with OSGi so that the jetty-osgi-boot code will find it and configure it so it can be a deployment target: [source, java, subs="{sub-order}"] ---- @@ -224,7 +181,7 @@ public class Activator implements BundleActivator public void start(BundleContext context) throws Exception { - + Server server = new Server(); //do any setup on Server in here String serverName = "fooServer"; @@ -234,17 +191,14 @@ public class Activator implements BundleActivator serverProps.put("jetty.http.port", "9999"); //let Jetty apply some configuration files to the Server instance serverProps.put("jetty.etc.config.urls", "file:/opt/jetty/etc/jetty.xml,file:/opt/jetty/etc/jetty-selector.xml,file:/opt/jetty/etc/jetty-deployer.xml"); - //register as an OSGi Service for Jetty to find + //register as an OSGi Service for Jetty to find context.registerService(Server.class.getName(), server, serverProps); - + } } ---- -Now that we have created a new Server called "fooServer", we can deploy -webapps and ContextHandlers as Bundles or Services to it (see below for -more information on this). Here's an example of deploying a webapp as a -Service and targetting it to the "fooServer" Server we created above: +Now that we have created a new Server called "fooServer", we can deploy webapps and `ContextHandlers` as Bundles or Services to it (see below for more information on this). Here's an example of deploying a webapp as a Service and targeting it to the "fooServer" Server we created above: [source, java, subs="{sub-order}"] ---- @@ -253,7 +207,7 @@ public class Activator implements BundleActivator public void start(BundleContext context) throws Exception { - + //Create a webapp context as a Service and target it at the "fooServer" Server instance WebAppContext webapp = new WebAppContext(); Dictionary props = new Hashtable(); @@ -267,125 +221,93 @@ public class Activator implements BundleActivator ==== Deploying Bundles as Webapps -The Jetty OSGi container listens for the installation of bundles, and -will automatically attempt to deploy any that appear to be webapps. +The Jetty OSGi container listens for the installation of bundles, and will automatically attempt to deploy any that appear to be webapps. -Any of the following criteria are sufficient for Jetty to deploy the -bundle as a webapp: +Any of the following criteria are sufficient for Jetty to deploy the bundle as a webapp: Bundle contains a WEB-INF/web.xml file:: - If the bundle contains a web descriptor, then it is automatically - deployed. This is an easy way to deploy classic JavaEE webapps. -Bundle MANIFEST contains Jetty-WarFolderPath (for releases prior to -jetty-9.3) or Jetty-WarResourcePath:: - This is the location within the bundle of the webapp resources. - Typically this would be used if the bundle is not a pure webapp, but - rather the webapp is a component of the bundle. Here's an example of a - bundle where the resources of the webapp are not located at the root - of the bundle, but rather inside the subdirectory `web/` : - + - `MANIFEST`: - + +If the bundle contains a web descriptor, then it is automatically deployed. +This is an easy way to deploy classic JavaEE webapps. +Bundle MANIFEST contains Jetty-WarFolderPath (for releases prior tojetty-9.3) or Jetty-WarResourcePath:: +This is the location within the bundle of the webapp resources. +Typically this would be used if the bundle is not a pure webapp, but rather the webapp is a component of the bundle. +Here's an example of a bundle where the resources of the webapp are not located at the root of the bundle, but rather inside the subdirectory `web/` : ++ +`MANIFEST`: ++ [source, plain, subs="{sub-order}"] ---- - Bundle-Name: Web Jetty-WarResourcePath: web Import-Package: javax.servlet;version="3.1", javax.servlet.resources;version="3.1" Bundle-SymbolicName: com.acme.sample.web - - ---- - + - Bundle contents: - + + ++ +Bundle contents: ++ [source, plain, subs="{sub-order}"] ---- - META-INF/MANIFEST.MF web/index.html web/foo.html web/WEB-INF/web.xml com/acme/sample/web/MyStuff.class com/acme/sample/web/MyOtherStuff.class - - ---- Bundle MANIFEST contains Web-ContextPath:: - This header can be used in conjunction with either of the two - preceding headers to control the context path to which the webapp is - deployed, or alone to identify that the bundle's contents should be - published as a webapp. This header is part of the RFC-66 specification - for using webapps with OSGi. Here's an eample based on the previous - one where we use the Web-ContextPath header to set its deployment - context path to be "/sample" : - + - `MANIFEST`: - + +This header can be used in conjunction with either of the two preceding headers to control the context path to which the webapp is deployed, or alone to identify that the bundle's contents should be published as a webapp. +This header is part of the RFC-66 specification for using webapps with OSGi. +Here's an example based on the previous one where we use the `Web-ContextPath` header to set its deployment context path to be "/sample" : + ++ +`MANIFEST`: ++ [source, plain, subs="{sub-order}"] ---- - Bundle-Name: Web Jetty-WarResourcePath: web Web-ContextPath: /sample Import-Package: javax.servlet;version="3.1", javax.servlet.resources;version="3.1" Bundle-SymbolicName: com.acme.sample.web - - ---- You can also define extra headers in your bundle MANIFEST that help customize the web app to be deployed: Jetty-defaultWebXmlFilePath:: - The location of a webdefault.xml file to apply to the webapp. The - location can be either absolute (either absolute path or file: url), - or relative (in which case it is interpreted as relative to the bundle - root). Defaults to the webdefault.xml file built into the Jetty OSGi - container. +The location of a `webdefault.xml` file to apply to the webapp. +The location can be either absolute (either absolute path or file: url), or relative (in which case it is interpreted as relative to the bundle root). +Defaults to the `webdefault.xml` file built into the Jetty OSGi container. Jetty-WebXmlFilePath:: - The location of the web.xml file. The location can be either absolute - (either absolute path or file: url), or relative (in which case it is - interpreted as relative to the bundle root). Defaults to - WEB-INF/web.xml +The location of the `web.xml` file. +The location can be either absolute (either absolute path or file: url), or relative (in which case it is interpreted as relative to the bundle root). +Defaults to `WEB-INF/web.xml` Jetty-extraClassPath:: - A classpath of additional items to add to the webapp's classloader. +A classpath of additional items to add to the webapp's classloader. Jetty-bundleInstall:: - The path to the base folder that overrides the computed bundle - installation - mostly useful for those OSGi frameworks that unpack - bundles by default. +The path to the base folder that overrides the computed bundle installation - mostly useful for those OSGi frameworks that unpack bundles by default. Require-TldBundle:: - A comma separated list of bundle symbolic names of bundles containing - TLDs that this webapp depends upon. +A comma separated list of bundle symbolic names of bundles containing TLDs that this webapp depends upon. managedServerName:: - The name of the Server instance to which to deploy this webapp bundle. - If not specified, defaults to the default Server instance called - "defaultJettyServer". +The name of the Server instance to which to deploy this webapp bundle. +If not specified, defaults to the default Server instance called "defaultJettyServer". Jetty-WarFragmentResourcePath:: - The path within a fragment hosted by the web-bundle that contains - static resources for the webapp. The path is appended to the base - resource for the webapp (see Jetty-WarResourcePath). +The path within a fragment hosted by the web-bundle that contains static resources for the webapp. +The path is appended to the base resource for the webapp (see Jetty-WarResourcePath). Jetty-WarPrependFragmentResourcePath:: - The path within a fragment hosted by the web-bundle that contains - static resources for the webapp.The path is prepended to the base - resource for the webapp (see Jetty-WarResourcePath). +The path within a fragment hosted by the web-bundle that contains static resources for the webapp. +The path is prepended to the base resource for the webapp (see Jetty-WarResourcePath). Jetty-ContextFilePath:: - A comma separated list of paths within the webapp bundle to Jetty - context files that will be applied to the webapp. Alternatively you - may include a single Jetty context file called - "jetty-webapp-context.xml" in the webapp bundle's META-INF directory - and it will be automatically applied to the webapp. +A comma separated list of paths within the webapp bundle to Jetty context files that will be applied to the webapp. +Alternatively you may include a single Jetty context file called `jetty-webapp-context.xml` in the webapp bundle's META-INF directory and it will be automatically applied to the webapp. ===== Determining the Context Path for a Webapp Bundle -As we have seen in the previous section, if the bundle `MANIFEST` -contains the RFC-66 header **Web-ContextPath**, Jetty will use that as -the context path. If the MANIFEST does not contain that header, then -Jetty will concoct a context path based on the last element of the -bundle's location (by calling Bundle.getLocation()) after stripping off -any file extensions. +As we have seen in the previous section, if the bundle `MANIFEST` contains the RFC-66 header **Web-ContextPath**, Jetty will use that as the context path. +If the `MANIFEST` does not contain that header, then Jetty will concoct a context path based on the last element of the bundle's location (by calling `Bundle.getLocation()`) after stripping off any file extensions. For example, suppose we have a bundle whose location is: @@ -403,15 +325,13 @@ The corresponding synthesized context path would be: ===== Extra Properties Available for Webapp Bundles -You can further customize your webapp by including a jetty context xml -file that is applied to the webapp. This xml file must be placed in -`META-INF` of the bundle, and must be called `jetty-webapp-context.xml`. +You can further customize your webapp by including a Jetty context xml file that is applied to the webapp. +This xml file must be placed in `META-INF` of the bundle, and must be called `jetty-webapp-context.xml`. Here's an example of a webapp bundle listing containing such a file: [source, plain, subs="{sub-order}"] ---- - META-INF/MANIFEST.MF META-INF/jetty-webapp-context.xml web/index.html @@ -419,14 +339,12 @@ web/foo.html web/WEB-INF/web.xml com/acme/sample/web/MyStuff.class com/acme/sample/web/MyOtherStuff.class - - ---- -Here's an example of the contents of a META-INF/jetty-webapp-context.xml -file: +Here's an example of the contents of a `META-INF/jetty-webapp-context.xml` file: -.... +[source, xml, subs="{sub-order}"] +---- @@ -434,100 +352,77 @@ file: META-INF/webdefault.xml -.... +---- As you can see, it is a normal context xml file used to set up a webapp. -There are, however, some additional useful properties that can be -referenced +There are, however, some additional useful properties that can be referenced Server:: - This is a reference to the Jetty org.eclipse.jetty.server.Server - instance to which the webapp being configured in the context xml file - will be deployed. +This is a reference to the Jetty `org.eclipse.jetty.server.Server` instance to which the webapp being configured in the context xml file will be deployed. bundle.root:: - This is a reference to the org.eclipse.jetty.util.resource.Resource - that represents the location of the Bundle. Note that this could be - either a directory in the file system if the OSGi container - automatically unpacks bundles, or it may be a jar:file: url if the - bundle remains packed. +This is a reference to the `org.eclipse.jetty.util.resource.Resource` that represents the location of the Bundle. +Note that this could be either a directory in the file system if the OSGi container automatically unpacks bundles, or it may be a jar:file: url if the bundle remains packed. ==== Deploying Bundles as Jetty ContextHandlers -In addition to deploying webapps, the Jetty OSGi container listens for -the installation of bundles that are not heavyweight webapps, but rather -use the flexible Jetty-specific concept of ContextHandlers. +In addition to deploying webapps, the Jetty OSGi container listens for the installation of bundles that are not heavyweight webapps, but rather use the flexible Jetty-specific concept of `ContextHandlers`. -The following is the criteria used to decide if a bundle can be deployed -as a ContextHandler: +The following is the criteria used to decide if a bundle can be deployed as a `ContextHandler`: Bundle MANIFEST contains Jetty-ContextFilePath:: - A comma separated list of names of context files - each one of which - represents a ContextHandler that should be deployed by Jetty. The - context files can be inside the bundle, external to the bundle - somewhere on the file system, or external to the bundle in the - *jetty.home* directory. - + - A context file that is inside the bundle: - + +A comma separated list of names of context files - each one of which represents a ContextHandler that should be deployed by Jetty. +The context files can be inside the bundle, external to the bundle somewhere on the file system, or external to the bundle in the *jetty.home* directory. ++ +A context file that is inside the bundle: ++ [source, plain, subs="{sub-order}"] ---- Jetty-ContextFilePath: ./a/b/c/d/foo.xml ---- - + - A context file that is on the file system: - + ++ +A context file that is on the file system: ++ [source, plain, subs="{sub-order}"] ---- Jetty-ContextFilePath: /opt/app/contexts/foo.xml ---- - + - A context file that is relative to jetty.home: - + ++ +A context file that is relative to jetty.home: ++ [source, plain, subs="{sub-order}"] ---- Jetty-ContextFilePath: contexts/foo.xml ---- - + - A number of different context files: - + ++ +A number of different context files: ++ [source, plain, subs="{sub-order}"] ---- Jetty-ContextFilePath: ./a/b/c/d/foo.xml,/opt/app/contexts/foo.xml,contexts/foo.xml ---- -Other MANIFEST properties that can be used to configure the deployment -of the ContextHandler: +Other `MANIFEST` properties that can be used to configure the deployment of the `ContextHandler`: managedServerName:: - The name of the Server instance to which to deploy this webapp bundle. - If not specified, defaults to the default Server instance called - "defaultJettyServer". +The name of the Server instance to which to deploy this webapp bundle. +If not specified, defaults to the default Server instance called "defaultJettyServer". ===== Determining the Context Path for a ContextHandler Bundle -Usually, the context path for the ContextHandler will be set by the -context xml file. However, you can override any path set in the context -xml file by using the *Web-ContextPath* header in the `MANIFEST`. +Usually, the context path for the ContextHandler will be set by the context xml file. +However, you can override any path set in the context xml file by using the *Web-ContextPath* header in the `MANIFEST`. ===== Extra Properties Available for Context Xml Files -Before the Jetty OSGi container applies a context xml file found in a -Jetty-ContextFilePath MANIFEST header, it sets a few useful properties -that can be referred to within the xml file: +Before the Jetty OSGi container applies a context xml file found in a *Jetty-ContextFilePath* `MANIFEST` header, it sets a few useful propertiesthat can be referred to within the xml file: Server:: - This is a reference to the Jetty org.eclipse.jetty.server.Server - instance to which the ContextHandler being configured in the context - xml file will be deployed. +This is a reference to the Jetty `org.eclipse.jetty.server.Server` instance to which the `ContextHandler` being configured in the context xml file will be deployed. bundle.root:: - This is a reference to the org.eclipse.jetty.util.resource.Resource - that represents the location of the Bundle (obtained by calling - Bundle.getLocation()). Note that this could be either a directory in - the file system if the OSGi container automatically unpacks bundles, - or it may be a jar:file: url if the bundle remains packed. +This is a reference to the `org.eclipse.jetty.util.resource.Resource` that represents the location of the Bundle (obtained by calling `Bundle.getLocation()`). +Note that this could be either a directory in the file system if the OSGi container automatically unpacks bundles, or it may be a jar:file: url if the bundle remains packed. -Here's an example of a context xml file that makes use of these -properties: +Here's an example of a context xml file that makes use of these properties: [source, xml, subs="{sub-order}"] ---- @@ -537,34 +432,24 @@ include::{SRCDIR}/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml[] [[services-as-webapps]] ==== Deploying Services as Webapps -In addition to listening for bundles whose format or `MANIFEST` entries -define a webapp or ContextHandler for to be deployed, the Jetty OSGi -container also listens for the registration of OSGi services that are -instances of org.eclipse.jetty.webapp.WebAppContext. So you may -programmatically create a WebAppContext, register it as a service, and -have Jetty pick it up and deploy it. +In addition to listening for bundles whose format or `MANIFEST` entries define a webapp or `ContextHandler` for to be deployed, the Jetty OSGi container also listens for the registration of OSGi services that are instances of `org.eclipse.jetty.webapp.WebAppContext`. +So you may programmatically create a `WebAppContext`, register it as a service, and have Jetty pick it up and deploy it. -Here's an example of doing that with a simple bundle that serves static -content, and an org.osgi.framework.BundleActivator that instantiates the -WebAppContext: +Here's an example of doing that with a simple bundle that serves static content, and an `org.osgi.framework.BundleActivator` that instantiates the `WebAppContext`: The bundle contents: [source, plain, subs="{sub-order}"] ---- - META-INF/MANIFEST.MF index.html com/acme/osgi/Activator.class - - ---- The `MANIFEST.MF`: [source, plain, subs="{sub-order}"] ---- - Bundle-Classpath: . Bundle-Name: Jetty OSGi Test WebApp DynamicImport-Package: org.eclipse.jetty.*;version="[9.0,10.0)" @@ -579,15 +464,12 @@ Import-Package: org.eclipse.jetty.server.handler;version="[9.0,10)", org.osgi.util.tracker;version= "1.3.0", org.xml.sax,org.xml.sax.helpers Bundle-SymbolicName: com.acme.testwebapp - - ---- The Activator code: [source, java, subs="{sub-order}"] ---- - public void start(BundleContext context) throws Exception { WebAppContext webapp = new WebAppContext(); @@ -596,86 +478,60 @@ public void start(BundleContext context) throws Exception props.put("contextPath","/acme"); context.registerService(ContextHandler.class.getName(),webapp,props); } - - ---- -The above setup is sufficient for Jetty to recognize and deploy the -WebAppContext at /acme. +The above setup is sufficient for Jetty to recognize and deploy the `WebAppContext` at /acme. -As the example shows, you can use OSGi Service properties in order to -communicate extra configuration information to Jetty: +As the example shows, you can use OSGi Service properties in order to communicate extra configuration information to Jetty: -Jetty-WarFolderPath (for releases prior to 9.3) or -Jetty-WarResourcePath:: - The location within the bundle of the root of the static resources for - the webapp +Jetty-WarFolderPath (for releases prior to 9.3) or Jetty-WarResourcePath:: +The location within the bundle of the root of the static resources for the webapp Web-ContextPath:: - The context path at which to deploy the webapp. +The context path at which to deploy the webapp. Jetty-defaultWebXmlFilePath:: - The location within the bundle of a webdefault.xml file to apply to - the webapp. Defaults to that of the Jetty OSGi container. +The location within the bundle of a `webdefault.xml` file to apply to the webapp. +Defaults to that of the Jetty OSGi container. Jetty-WebXmlFilePath:: - The location within the bundle of the web.xml file. Defaults to - WEB-INF/web.xml +The location within the bundle of the `web.xml` file. +Defaults to `WEB-INF/web.xml` Jetty-extraClassPath:: - A classpath of additional items to add to the webapp's classloader. +A classpath of additional items to add to the webapp's classloader. Jetty-bundleInstall:: - The path to the base folder that overrides the computed bundle - installation - mostly useful for those OSGi frameworks that unpack - bundles by default. +The path to the base folder that overrides the computed bundle installation - mostly useful for those OSGi frameworks that unpack bundles by default. Require-TldBundle:: - A comma separated list of bundle symbolic names of bundles containing - TLDs that this webapp depends upon. +A comma separated list of bundle symbolic names of bundles containing TLDs that this webapp depends upon. managedServerName:: - The name of the Server instance to which to deploy this webapp. If not - specified, defaults to the default Server instance called - "defaultJettyServer". +The name of the Server instance to which to deploy this webapp. +If not specified, defaults to the default Server instance called "defaultJettyServer". Jetty-WarFragmentResourcePath:: - The path within a fragment hosted by the web-bundle that contains - static resources for the webapp. The path is appended to the base - resource for the webapp (see Jetty-WarResourcePath). +The path within a fragment hosted by the web-bundle that contains static resources for the webapp. +The path is appended to the base resource for the webapp (see Jetty-WarResourcePath). Jetty-WarPrependFragmentResourcePath:: - The path within a fragment hosted by the web-bundle that contains - static resources for the webapp.The path is prepended to the base - resource for the webapp (see Jetty-WarResourcePath). +The path within a fragment hosted by the web-bundle that contains static resources for the webapp. +The path is prepended to the base resource for the webapp (see Jetty-WarResourcePath). ==== Deploying Services as ContextHandlers -Similarly to WebAppContexts, the Jetty OSGi container can detect the -registration of an OSGi Service that represents a ContextHandler and -ensure that it is deployed. The ContextHandler can either be fully -configured before it is registered as an OSGi service - in which case -the Jetty OSGi container will merely deploy it - or the ContextHandler -can be partially configured, with the Jetty OSGi container completing -the configuration via a context xml file and properties associated with -the Service. +Similarly to WebApp`Contexts, the Jetty OSGi container can detect the registration of an OSGi Service that represents a `ContextHandler` and ensure that it is deployed. +The `ContextHandler` can either be fully configured before it is registered as an OSGi service - in which case the Jetty OSGi container will merely deploy it - or the `ContextHandler` can be partially configured, with the Jetty OSGi container completing the configuration via a context xml file and properties associated with the Service. -Here's an example of doing that with a simple bundle that serves static -content with an org.osgi.framework.BundleActivator that instantiates a -ContextHandler and registers it as an OSGi Service, passing in -properties that define a context xml file and context path for Jetty to -apply upon deployment: +Here's an example of doing that with a simple bundle that serves static content with an `org.osgi.framework.BundleActivator` that instantiates a `ContextHandler` and registers it as an OSGi Service, passing in properties that define a context xml file and context path for Jetty to apply upon deployment: The bundle contents: [source, plain, subs="{sub-order}"] ---- - META-INF/MANIFEST.MF static/index.html acme.xml com/acme/osgi/Activator.class com/acme/osgi/Activator$1.class - - ---- The `MANIFEST`: [source, plain, subs="{sub-order}"] ---- - Bundle-Classpath: . Bundle-Name: Jetty OSGi Test Context DynamicImport-Package: org.eclipse.jetty.*;version="[9.0,10.0)" @@ -691,15 +547,12 @@ Import-Package: javax.servlet;version="2.6.0", org.osgi.util.tracker;version="1.3.0", org.xml.sax,org.xml.sax.helpers Bundle-SymbolicName: com.acme.testcontext - - ---- The Activator code: [source, java, subs="{sub-order}"] ---- - public void start(final BundleContext context) throws Exception { ContextHandler ch = new ContextHandler(); @@ -714,17 +567,15 @@ public void start(final BundleContext context) throws Exception @Override public void contextDestroyed(ServletContextEvent sce) { - System.err.println("Context is destroyed!"); + System.err.println("Context is destroyed!"); } - + }); Dictionary props = new Hashtable(); props.put("Web-ContextPath","/acme"); props.put("Jetty-ContextFilePath", "acme.xml"); context.registerService(ContextHandler.class.getName(),ch,props); } - - ---- The contents of the `acme.xml` context file: @@ -737,64 +588,43 @@ include::{SRCDIR}/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml[] You may also use the following OSGi Service properties: managedServerName:: - The name of the Server instance to which to deploy this webapp. If not - specified, defaults to the default Server instance called - "defaultJettyServer". +The name of the Server instance to which to deploy this webapp. +If not specified, defaults to the default Server instance called "defaultJettyServer". ===== Extra Properties Available for Context Xml Files -Before the Jetty OSGi container applies a context xml file found in a -Jetty-ContextFilePath property, it sets a few useful properties that can -be referred to within the xml file: +Before the Jetty OSGi container applies a context xml file found in a `Jetty-ContextFilePath` property, it sets a few useful properties that can be referred to within the xml file: Server:: - This is a reference to the Jetty org.eclipse.jetty.server.Server - instance to which the ContextHandler being configured in the context - xml file will be deployed. +This is a reference to the Jetty `org.eclipse.jetty.server.Server` instance to which the `ContextHandler` being configured in the context xml file will be deployed. bundle.root:: - This is a reference to the org.eclipse.jetty.util.resource.Resource - that represents the location of the Bundle publishing the - ContextHandler as a Service(obtained by calling Bundle.getLocation()). - Note that this could be either a directory in the file system if the - OSGi container automatically unpacks bundles, or it may be a jar:file: - url if the bundle remains packed. +This is a reference to the `org.eclipse.jetty.util.resource.Resource` that represents the location of the Bundle publishing the `ContextHandler` as a Service (obtained by calling `Bundle.getLocation()`). +Note that this could be either a directory in the file system if the OSGi container automatically unpacks bundles, or it may be a jar:file: url if the bundle remains packed. -In the example above, you can see both of these properties being used in -the context xml file. +In the example above, you can see both of these properties being used in the context xml file. ==== Support for the OSGi Service Platform Enterprise Specification -The Jetty OSGi container implements several aspects of the Enterprise -Specification v4.2 for the WebAppContexts and ContextHandlers that it -deploys from either bundles or OSGi services as outlined in foregoing -sections. +The Jetty OSGi container implements several aspects of the Enterprise Specification v4.2 for the `WebAppContexts` and `ContextHandlers` that it deploys from either bundles or OSGi services as outlined in foregoing sections. ===== Context Attributes -For each WebAppContext or ContextHandler, the following context -attribute is set, as required by section__128.6.1 Bundle Context__ pg -427: +For each `WebAppContext` or `ContextHandler`, the following context attribute is set, as required by section __128.6.1 Bundle Context__ page 427: osgi-bundleContext:: - The value of this attribute is the BundleContext representing the - Bundle associated with the WebAppContext or ContextHandler. +The value of this attribute is the `BundleContext` representing the Bundle associated with the `WebAppContext` or `ContextHandler`. ===== Service Attributes -As required by the specification section _128.3.4 Publishing the Servlet -Context_ pg 421, each WebAppContext and ContextHandler deployed by the -Jetty OSGi container is also published as an OSGi service (unless it has -been already - see sections 1.6 and 1.7). The following properties are -associated with these services: +As required by the specification section _128.3.4 Publishing the Servlet Context_ page 421, each `WebAppContext` and `ContextHandler` deployed by the Jetty OSGi container is also published as an OSGi service (unless it has been already - see sections 1.6 and 1.7). +The following properties are associated with these services: osgi.web.symbolicname:: - The symbolic name of the Bundle associated with the WebAppContext or - ContextHandler +The symbolic name of the Bundle associated with the `WebAppContext` or `ContextHandler` osgi.web.version:: - The Bundle-Version header from the Bundle associated with the - WebAppContext or ContextHandler +The Bundle-Version header from the Bundle associated with the `WebAppContext` or `ContextHandler` osgi.web.contextpath:: - The context path of the WebAppContext or ContextHandler +The context path of the `WebAppContext` or `ContextHandler` ===== OSGi Events @@ -802,32 +632,23 @@ As required by the specification section _128.5 Events_ pg 426, the following OSGi Event Admin events will be posted: org/osgi/service/web/DEPLOYING:: - The Jetty OSGi container is about to deploy a WebAppContext or - ContextHandler +The Jetty OSGi container is about to deploy a `WebAppContext` or `ContextHandler` org/osgi/service/web/DEPLOYED:: - The Jetty OSGi container has finished deploying a WebAppContext or - ContextHandler and it is in service +The Jetty OSGi container has finished deploying a `WebAppContext` or `ContextHandler` and it is in service org/osgi/service/web/UNDEPLOYING:: - The Jetty OSGi container is about to undeploy a WebAppContext or - ContextHandler +The Jetty OSGi container is about to undeploy a `WebAppContext` or `ContextHandler` org/osgi/service/web/UNDEPLOYED:: - The Jetty OSGi container has finished undeploying a WebAppContext or - ContextHandler and it is no longer in service +The Jetty OSGi container has finished undeploying a `WebAppContext` or `ContextHandler` and it is no longer in service org/osgi/service/web/FAILED:: - The Jetty OSGi container failed to deploy a WebAppContext or - ContextHandler +The Jetty OSGi container failed to deploy a `WebAppContext` or `ContextHandler` ==== Using JSPs ===== Setup -In order to use JSPs with your webapps and bundles you will need to -install the JSP and JSTL jars and their dependencies into your OSGi -container. Some you will find in the Jetty distribution, whereas others -you will need to download from -http://central.maven.org/maven2/org/eclipse/jetty/orbit/[Maven central]. -Here is the list of recommended jars (NOTE the version numbers may -change in future): +In order to use JSPs with your webapps and bundles you will need to install the JSP and JSTL jars and their dependencies into your OSGi container. +Some you will find in the Jetty distribution, whereas others you will need to download from http://central.maven.org/maven2/org/eclipse/jetty/orbit/[Maven central]. +Here is the list of recommended jars (NOTE the version numbers may change in future): .Jars Required for JSP [cols=",,",options="header",] @@ -855,22 +676,14 @@ central] ____ [NOTE] -1. As of jetty-9.2.3 the jetty-osgi-boot-jsp bundle changed to using -Apache Jasper as the JSP implementation. Prior to this the Glassfish -Jasper implementation was used, which had a different set of -dependencies - pay careful attention to the jars listed both at the top -of this page and in this section, as deployment of other jars can cause -incomplete or incorrect package resolution in the OSGi container. -2. The order of deployment is important. Deploy these bundles in the -order shown or you may experience strange failures in the compilation of -jsps. This can be hard to diagnose but is almost always caused by the -ServletContainerInitializer in the org.eclipse.jetty.apache-jsp bundle -for the jsp container not being invoked due to incorrect startup of the -annotation jars. +1. As of Jetty 9.2.3 the jetty-osgi-boot-jsp bundle changed to using Apache Jasper as the JSP implementation. +Prior to this the Glassfish Jasper implementation was used, which had a different set of dependencies - pay careful attention to the jars listed both at the top of this page and in this section, as deployment of other jars can cause incomplete or incorrect package resolution in the OSGi container. +2. The order of deployment is important. +Deploy these bundles in the order shown or you may experience strange failures in the compilation of jsps. +This can be hard to diagnose but is almost always caused by the `ServletContainerInitializer` in the `org.eclipse.jetty.apache-jsp` bundle for the jsp container not being invoked due to incorrect startup of the annotation jars. ____ -For the JSTL library, we recommend the use of the implementation from -Glassfish, as it has fewer dependencies: +For the JSTL library, we recommend the use of the implementation from Glassfish, as it has fewer dependencies: .Jars Required for Glassfish JSTL [cols=",,",options="header",] @@ -885,9 +698,7 @@ Glassfish, as it has fewer dependencies: |org.glassfish.web.javax.servlet.jsp.jstl |Distribution lib/jsp |======================================================================= -However, if you wish, you may use the JSTL implementation from Apache -instead, although you will need to source some dependency jars with -suitable OSGi manifests: +However, if you wish, you may use the JSTL implementation from Apache instead, although you will need to source some dependency jars with suitable OSGi manifests: .Jars Required for Apache JSTL [cols=",,",options="header",] @@ -912,36 +723,24 @@ Orbit] ===== The jetty-osgi-boot-jsp jar -To be able to use JSPs you will need to also install the -http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot-jsp/[jetty-osgi-boot-jsp.jar] -into your OSGi container. This jar can be obtained from maven central -http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot-jsp/[here]. +To be able to use JSPs you will need to also install the http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot-jsp/[jetty-osgi-boot-jsp.jar] into your OSGi container. +This jar can be obtained from maven central http://central.maven.org/maven2/org/eclipse/jetty/osgi/jetty-osgi-boot-jsp/[here]. -This bundle acts as a fragment extension to the jetty-osgi-boot.jar and -adds in support for using JSP. +This bundle acts as a fragment extension to the jetty-osgi-boot.jar and adds in support for using JSP. ====== Using TagLibs -The Jetty JSP OSGi container will make available the JSTL tag library to -all webapps. If you only use this tag library, then your webapp will -work without any further modification. +The Jetty JSP OSGi container will make available the JSTL tag library to all webapps. +If you only use this tag library, then your webapp will work without any further modification. -However, if you make use of other taglibs, you will need to ensure that -they are installed into the OSGi container, and also define some System -properties and/or MANIFEST headers in your webapp. This is necessary -because the classloading regime used by the OSGi container is very -different than that used by JSP containers, and the MANIFEST of a normal -webapp does not contain enough information for the OSGi environment to -allow a JSP container to find and resolve TLDs referenced in the -webapp's .jsp files. +However, if you make use of other taglibs, you will need to ensure that they are installed into the OSGi container, and also define some System properties and/or `MANIFEST` headers in your webapp. +This is necessary because the classloading regime used by the OSGi container is very different than that used by JSP containers, and the `MANIFEST` of a normal webapp does not contain enough information for the OSGi environment to allow a JSP container to find and resolve TLDs referenced in the webapp's .jsp files. -Firstly, lets look at an example of a web bundle's modified MANIFEST -file so you get an idea of what is required. This example is a web -bundle that uses the Spring servlet framework: +Firstly, lets look at an example of a web bundle's modified `MANIFEST` file so you get an idea of what is required. +This example is a web bundle that uses the Spring servlet framework: [source, plain, subs="{sub-order}"] ---- - Bundle-SymbolicName: com.acme.sample Bundle-Name: WebSample Web-ContextPath: taglibs @@ -954,67 +753,41 @@ Import-Package: org.eclipse.virgo.web.dm;version="[3.0.0,4.0.0)",org.s annotation;version="[2.5.6,4.0.0)",org.springframework.web.context;ve rsion="[2.5.6,4.0.0)",org.springframework.web.servlet;version="[2.5.6 ,4.0.0)",org.springframework.web.servlet.view;version="[2.5.6,4.0.0)" - - ---- -The *Require-TldBundle* header tells the Jetty OSGi container that this -bundle contains TLDs that need to be passed over to the JSP container -for processing. The *Import-Bundle* header ensures that the -implementation classes for these TLDs will be available to the webapp on -the OSGi classpath. +The *Require-TldBundle* header tells the Jetty OSGi container that this bundle contains TLDs that need to be passed over to the JSP container for processing. +The *Import-Bundle* header ensures that the implementation classes for these TLDs will be available to the webapp on the OSGi classpath. -The format of the *Require-TldBundle* header is a comma separated list -of one or more symbolic names of bundles containing TLDs. +The format of the *Require-TldBundle* header is a comma separated list of one or more symbolic names of bundles containing TLDs. ====== Container Path Taglibs -Some TLD jars are required to be found on the Jetty OSGi container's -classpath, rather than considered part of the web bundle's classpath. -For example, this is true of JSTL and Java Server Faces. The Jetty OSGi -container takes care of JSTL for you, but you can control which other -jars are considered as part of the container's classpath by using the -System property **org.eclipse.jetty.osgi.tldbundles**: +Some TLD jars are required to be found on the Jetty OSGi container's classpath, rather than considered part of the web bundle's classpath. +For example, this is true of JSTL and Java Server Faces. +The Jetty OSGi container takes care of JSTL for you, but you can control which other jars are considered as part of the container's classpath by using the System property **org.eclipse.jetty.osgi.tldbundles**: org.eclipse.jetty.osgi.tldbundles:: - System property defined on the OSGi environment that is a comma - separated list of symbolic names of bundles containing taglibs that - will be treated as if they are on the container's classpath for web - bundles. For example: - + +System property defined on the OSGi environment that is a comma separated list of symbolic names of bundles containing taglibs that will be treated as if they are on the container's classpath for web bundles. +For example: ++ [source, plain, subs="{sub-order}"] ---- org.eclipse.jetty.osgi.tldbundles=com.acme.special.tags,com.foo.web,org.bar.web.framework ---- - + - You will still need to define the *Import-Bundle* header in the - MANIFEST file for the web bundle to ensure that the TLD bundles are on - the OSGi classpath. ++ +You will still need to define the *Import-Bundle* header in the `MANIFEST` file for the web bundle to ensure that the TLD bundles are on the OSGi classpath. -Alternatively or additionally, you can define a pattern as a context -attribute that will match symbolic bundle names in the OSGi environment -containing TLDs that should be considered as discovered from the -container's classpath. +Alternatively or additionally, you can define a pattern as a context attribute that will match symbolic bundle names in the OSGi environment containing TLDs that should be considered as discovered from the container's classpath. org.eclipse.jetty.server.webapp.containerIncludeBundlePattern:: - This pattern must be specified as a context attribute of the - WebAppContext representing the web bundle. Unless you are deploying - your own WebAppContext (see link:#services-as-webapps[Deploying - Services as Webapps]), you won't have a reference to the WebAppContext - to do this. In that case, it can be specified on the - org.eclipse.jetty.deploy.DeploymentManager, where it will be applied - to _every_ webapp deployed by the Jetty OSGi container. The - jetty-osgi-boot.jar contains the default - jettyhome/etc/jetty-deploy.xml file where the DeploymentManager is - defined. To set the pattern, you will need to provide your own etc - files - see the section on link:#customize-jetty-container[customizing - the jetty container] for how to do this. Here's how the - jetty-deploy.xml file would look if we defined a pattern that matched - all bundle symbolic names ending in "tag" and "web": - + +This pattern must be specified as a context attribute of the `WebAppContext` representing the web bundle. +Unless you are deploying your own `WebAppContext` (see link:#services-as-webapps[Deploying Services as Webapps]), you won't have a reference to the `WebAppContext` to do this. +In that case, it can be specified on the `org.eclipse.jetty.deploy.DeploymentManager`, where it will be applied to _every_ webapp deployed by the Jetty OSGi container. +The `jetty-osgi-boot.jar` contains the default `jettyhome/etc/jetty-deploy.xml` file where the `DeploymentManager` is defined. +To set the pattern, you will need to provide your own etc files - see the section on link:#customize-jetty-container[customizing the jetty container] for how to do this. Here's how the `jetty-deploy.xml` file would look if we defined a pattern that matched all bundle symbolic names ending in "tag" and "web": ++ [source, xml, subs="{sub-order}"] ---- - @@ -1032,20 +805,15 @@ org.eclipse.jetty.server.webapp.containerIncludeBundlePattern:: - - ---- - + - Again, you will still need to define suitable *Import-Bundle* headers - in your web bundle MANIFEST to ensure that bundles matching the - pattern are available on the OSGi class path. ++ +Again, you will still need to define suitable *Import-Bundle* headers in your web bundle `MANIFEST` to ensure that bundles matching the pattern are available on the OSGi class path. [[osgi-annotations]] ==== Using Annotations/ServletContainerInitializers -Annotations are very much part of the Servlet 3.0 and 3.1 -specifications. In order to use them with Jetty in OSGi, you will need -to deploy some extra jars into your OSGi container: +Annotations are very much part of the Servlet 3.0 and 3.1 specifications. +In order to use them with Jetty in OSGi, you will need to deploy some extra jars into your OSGi container: .Jars Required for Annotations [cols=",,",options="header",] @@ -1090,66 +858,41 @@ org.eclipse.jetty.orbit:javax.mail.glassfish-1.4.1.v201005082020.jar)^*^ ____ [IMPORTANT] -If you wish to use JSPs you will need to deploy these annotation-related -jars. +If you wish to use JSPs you will need to deploy these annotation-related jars. ____ ____ [NOTE] -You may be able to deploy later versions or other providers of these -specifications, however these particular versions are known to have -correct manifests and have been tested and known to work with OSGi +You may be able to deploy later versions or other providers of these specifications, however these particular versions are known to have correct manifests and have been tested and known to work with OSGi. ____ -Even if your webapp itself does not not use annotations, you may need to -deploy these jars because your webapp depends on a Jetty module or a 3rd -party library that uses a -http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContainerInitializer.html[javax.servlet.ServletContainerInitializer]. -This interface requires annotation support. It is implemented by -providers of code that extend the capabilities of the container. An -example of this is the Jetty JSR356 Websocket implementation, although -it is being used increasingly commonly in popular libraries like -link:http://projects.spring.io/spring-framework/[Spring], link:https://jersey.java.net/[Jersey] -and JSP containers. +Even if your webapp itself does not not use annotations, you may need to deploy these jars because your webapp depends on a Jetty module or a 3rd party library that uses a http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContainerInitializer.html[javax.servlet.ServletContainerInitializer]. +This interface requires annotation support. +It is implemented by providers of code that extend the capabilities of the container. +An xample of this is the Jetty JSR356 Websocket implementation, although it is being used increasingly commonly in popular libraries like link:http://projects.spring.io/spring-framework/[Spring], link:https://jersey.java.net/[Jersey] and JSP containers. -To find ServletContainerInitializers on the classpath, Jetty uses the -Java -http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html[ServiceLoader] -mechanism. For this to function in OSGi, you will need an OSGi R5 -compatible container, and have support for the -http://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html[Service -Loader Mediator]. Jetty has been tested with -thehttp://aries.apache.org/modules/spi-fly.html[Aries SpiFly]module, -which is the reference implementation of the Service Loader Mediator, -and is listed in the jars above. +To find `ServletContainerInitializers` on the classpath, Jetty uses the Java http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html[`ServiceLoader`] +mechanism. +For this to function in OSGi, you will need an OSGi R5 compatible container, and have support for the http://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html[Service Loader Mediator]. +Jetty has been tested with the http://aries.apache.org/modules/spi-fly.html[Aries SpiFly] module,which is the reference implementation of the Service Loader Mediator, and is listed in the jars above. ==== OSGi Containers ===== Felix -The Jetty OSGi integration has been successfully tested against -http://felix.apache.org/[Felix] 5.0.0. +The Jetty OSGi integration has been successfully tested against http://felix.apache.org/[Felix] 5.0.0. -You will require the following extra Felix services, available as -separately downloadable jars: +You will require the following extra Felix services, available as separately downloadable jars: -* http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html[Felix -Configuration Admin Service] -* http://felix.apache.org/documentation/subprojects/apache-felix-event-admin.html[Felix -Event Admin Service] +* http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html[Felix Configuration Admin Service] +* http://felix.apache.org/documentation/subprojects/apache-felix-event-admin.html[Felix Event Admin Service] -Unfortunately, as of Felix 4.x there is a difficultly with the -resolution of the javax.transaction package. +Unfortunately, as of Felix 4.x there is a difficultly with the resolution of the `javax.transaction` package. A link:http://mail-archives.apache.org/mod_mbox/felix-users/201211.mbox/%3CCAPr=90M+5vYjPqAvyTU+gYHr64y_FosBYELeUYcU_rFEJF3Cxw@mail.gmail.com%3E[description of the problem] and hint to solving it is described [http://mail-archives.apache.org/mod_mbox/felix-users/201211.mbox/%3CCAPr=90M+5vYjPqAvyTU+gYHr64y_FosBYELeUYcU_rFEJF3Cxw@mail.gmail.com%3E[here]]. -The simplest solution for this is to extract the `default.properties` -file from the `felix.jar, change the declaration of the javax.sql and - javax.transaction packages` and set the changed lines as the value -of the `org.osgi.framework.system.packages` property in the -`conf/config.properties` file. +The simplest solution for this is to extract the `default.properties` file from the `felix.jar`, change the declaration of the `javax.sql` and `javax.transaction` packages and set the changed lines as the value of the `org.osgi.framework.system.packages` property in the `conf/config.properties` file. -The `default.properties` file defines the default -`org.osgi.framework.system.packages` property like this: +The `default.properties` file defines the default `org.osgi.framework.system.packages` property like this: [source,properties] ---- @@ -1171,13 +914,9 @@ org.osgi.framework.system.packages=org.osgi.framework; version=1.7.0, \ ${jre-${java.specification.version}} ---- -The last line must be substituted for one of the definitions further -down in the file that is suitable for the jvm you are using. +The last line must be substituted for one of the definitions further down in the file that is suitable for the jvm you are using. -You will take these lines and copy them into the -`conf/config.properties` file, after having replaced the line -$\{jre-$\{java.specification.version}} with all of the lines relevant to -your version of the jvm. +You will take these lines and copy them into the `conf/config.properties` file, after having replaced the line `$\{jre-$\{java.specification.version}}` with all of the lines relevant to your version of the jvm. For example, for a 1.7 jvm, you will find this property definition: @@ -1339,19 +1078,16 @@ jre-1.7=, \ org.xml.sax;version="0.0.0.1_007_JavaSE" ---- -Remove the definition for the `javax.transaction` packages, and remove -the `uses:=` clause for the `javax.sql` packages (but leaving the -`version` clause). Concatenate all the lines together. You'll wind up -with something like this in your `conf/config.properties` file: +Remove the definition for the `javax.transaction` packages, and remove the `uses:=` clause for the `javax.sql` packages (but leaving the `version` clause). Concatenate all the lines together. +You'll wind up with something like this in your `conf/config.properties` file: [source,properties] ---- org.osgi.framework.system.packages=org.osgi.framework;version=1.7.0, org.osgi.framework.hooks.bundle;version=1.1.0, org.osgi.framework.hooks.resolver;version=1.0.0, org.osgi.framework.hooks.service;version=1.1.0, org.osgi.framework.hooks.weaving;version=1.0.0, org.osgi.framework.launch;version=1.1.0, org.osgi.framework.namespace;version=1.0.0, org.osgi.framework.startlevel;version=1.0.0, org.osgi.framework.wiring;version=1.1.0, org.osgi.resource;version=1.0.0, org.osgi.service.packageadmin; version=1.2.0, org.osgi.service.startlevel; version=1.1.0, org.osgi.service.url;version=1.0.0, org.osgi.util.tracker;version=1.5.1 javax.accessibility;uses:="javax.swing.text";version="0.0.0.1_007_JavaSE", javax.activation;version="0.0.0.1_007_JavaSE", javax.activity;version="0.0.0.1_007_JavaSE", javax.annotation.processing;uses:="javax.tools,javax.lang.model,javax.lang.model.element,javax.lang.model.util";version="0.0.0.1_007_JavaSE", javax.annotation;version="0.0.0.1_007_JavaSE", javax.crypto.interfaces;uses:="javax.crypto.spec,javax.crypto";version="0.0.0.1_007_JavaSE", javax.crypto.spec;uses:="javax.crypto";version="0.0.0.1_007_JavaSE", javax.crypto;uses:="javax.crypto.spec";version="0.0.0.1_007_JavaSE", javax.imageio.event;uses:="javax.imageio";version="0.0.0.1_007_JavaSE", javax.imageio.metadata;uses:="org.w3c.dom,javax.imageio";version="0.0.0.1_007_JavaSE", javax.imageio.plugins.bmp;uses:="javax.imageio";version="0.0.0.1_007_JavaSE", javax.imageio.plugins.jpeg;uses:="javax.imageio";version="0.0.0.1_007_JavaSE", javax.imageio.spi;uses:="javax.imageio.stream,javax.imageio,javax.imageio.metadata";version="0.0.0.1_007_JavaSE", javax.imageio.stream;uses:="javax.imageio";version="0.0.0.1_007_JavaSE", javax.imageio;uses:="javax.imageio.metadata,javax.imageio.stream,javax.imageio.spi,javax.imageio.event";version="0.0.0.1_007_JavaSE", javax.jws.soap;version="0.0.0.1_007_JavaSE", javax.jws;version="0.0.0.1_007_JavaSE", javax.lang.model.element;uses:="javax.lang.model.type,javax.lang.model";version="0.0.0.1_007_JavaSE", javax.lang.model.type;uses:="javax.lang.model.element,javax.lang.model";version="0.0.0.1_007_JavaSE", javax.lang.model.util;uses:="javax.lang.model,javax.lang.model.element,javax.annotation.processing,javax.lang.model.type";version="0.0.0.1_007_JavaSE", javax.lang.model;version="0.0.0.1_007_JavaSE", javax.management.loading;uses:="javax.management";version="0.0.0.1_007_JavaSE", javax.management.modelmbean;uses:="javax.management,javax.management.loading";version="0.0.0.1_007_JavaSE", javax.management.monitor;uses:="javax.management";version="0.0.0.1_007_JavaSE", javax.management.openmbean;uses:="javax.management";version="0.0.0.1_007_JavaSE", javax.management.relation;uses:="javax.management";version="0.0.0.1_007_JavaSE", javax.management.remote.rmi;uses:="javax.management.remote,javax.security.auth,javax.management,javax.management.loading,javax.naming,javax.rmi.ssl,org.omg.CORBA,org.omg.CORBA_2_3.portable,org.omg.CORBA.portable,javax.rmi.CORBA,javax.rmi";version="0.0.0.1_007_JavaSE", javax.management.remote;uses:="javax.security.auth,javax.management";version="0.0.0.1_007_JavaSE", javax.management.timer;uses:="javax.management";version="0.0.0.1_007_JavaSE", javax.management;uses:="javax.management.loading,javax.management.openmbean";version="0.0.0.1_007_JavaSE", javax.naming.directory;uses:="javax.naming";version="0.0.0.1_007_JavaSE", javax.naming.event;uses:="javax.naming,javax.naming.directory";version="0.0.0.1_007_JavaSE", javax.naming.ldap;uses:="javax.naming,javax.naming.directory,javax.net.ssl,javax.naming.event";version="0.0.0.1_007_JavaSE", javax.naming.spi;uses:="javax.naming,javax.naming.directory";version="0.0.0.1_007_JavaSE", javax.naming;uses:="javax.naming.spi";version="0.0.0.1_007_JavaSE", javax.net.ssl;uses:="javax.security.cert,javax.security.auth.x500,javax.net";version="0.0.0.1_007_JavaSE", javax.net;version="0.0.0.1_007_JavaSE", javax.print.attribute.standard;uses:="javax.print.attribute";version="0.0.0.1_007_JavaSE", javax.print.attribute;version="0.0.0.1_007_JavaSE", javax.print.event;uses:="javax.print,javax.print.attribute";version="0.0.0.1_007_JavaSE", javax.print;uses:="javax.print.attribute,javax.print.event,javax.print.attribute.standard";version="0.0.0.1_007_JavaSE", javax.rmi.CORBA;uses:="org.omg.CORBA,org.omg.CORBA_2_3.portable,org.omg.CORBA.portable,org.omg.SendingContext";version="0.0.0.1_007_JavaSE", javax.rmi.ssl;uses:="javax.net,javax.net.ssl";version="0.0.0.1_007_JavaSE", javax.rmi;uses:="org.omg.CORBA,javax.rmi.CORBA";version="0.0.0.1_007_JavaSE", javax.script;version="0.0.0.1_007_JavaSE", javax.security.auth.callback;version="0.0.0.1_007_JavaSE", javax.security.auth.kerberos;uses:="javax.security.auth,javax.crypto";version="0.0.0.1_007_JavaSE", javax.security.auth.login;uses:="javax.security.auth,javax.security.auth.callback";version="0.0.0.1_007_JavaSE", javax.security.auth.spi;uses:="javax.security.auth.callback,javax.security.auth.login,javax.security.auth";version="0.0.0.1_007_JavaSE", javax.security.auth.x500;uses:="javax.security.auth";version="0.0.0.1_007_JavaSE", javax.security.auth;version="0.0.0.1_007_JavaSE", javax.security.cert;version="0.0.0.1_007_JavaSE", javax.security.sasl;uses:="javax.security.auth.callback";version="0.0.0.1_007_JavaSE", javax.sound.midi.spi;uses:="javax.sound.midi";version="0.0.0.1_007_JavaSE", javax.sound.midi;uses:="javax.sound.midi.spi";version="0.0.0.1_007_JavaSE", javax.sound.sampled.spi;uses:="javax.sound.sampled";version="0.0.0.1_007_JavaSE", javax.sound.sampled;uses:="javax.sound.sampled.spi";version="0.0.0.1_007_JavaSE", javax.sql.rowset.serial;version="0.0.0.1_007_JavaSE", javax.sql.rowset.spi;version="0.0.0.1_007_JavaSE", javax.sql.rowset;version="0.0.0.1_007_JavaSE", javax.sql;version="0.0.0.1_007_JavaSE", javax.swing.border;uses:="javax.swing";version="0.0.0.1_007_JavaSE", javax.swing.colorchooser;uses:="javax.swing,javax.swing.border,javax.swing.event,javax.swing.text";version="0.0.0.1_007_JavaSE", javax.swing.event;uses:="javax.swing,javax.swing.text,javax.swing.table,javax.swing.tree,javax.swing.undo";version="0.0.0.1_007_JavaSE", javax.swing.filechooser;uses:="javax.swing";version="0.0.0.1_007_JavaSE", javax.swing.plaf.basic;uses:="javax.swing.border,javax.swing,javax.swing.plaf,javax.swing.text,javax.swing.event,javax.swing.colorchooser,javax.accessibility,javax.swing.filechooser,javax.swing.text.html,javax.sound.sampled,javax.swing.table,javax.swing.plaf.synth,javax.swing.tree";version="0.0.0.1_007_JavaSE", javax.swing.plaf.metal;uses:="javax.swing.plaf,javax.swing,javax.swing.border,javax.swing.text,javax.swing.plaf.basic,javax.swing.filechooser,javax.swing.event,javax.swing.tree";version="0.0.0.1_007_JavaSE", javax.swing.plaf.multi;uses:="javax.accessibility,javax.swing,javax.swing.plaf,javax.swing.filechooser,javax.swing.text,javax.swing.tree";version="0.0.0.1_007_JavaSE", javax.swing.plaf.nimbus;uses:="javax.swing,javax.swing.plaf,javax.swing.border,javax.swing.plaf.synth";version="0.0.0.1_007_JavaSE", javax.swing.plaf.synth;uses:="javax.swing,javax.swing.plaf,javax.swing.text,javax.swing.border,javax.swing.plaf.basic,javax.swing.colorchooser,javax.swing.event,javax.xml.parsers,org.xml.sax,org.xml.sax.helpers,javax.swing.table,javax.swing.tree";version="0.0.0.1_007_JavaSE", javax.swing.plaf;uses:="javax.swing,javax.swing.border,javax.accessibility,javax.swing.filechooser,javax.swing.text,javax.swing.tree";version="0.0.0.1_007_JavaSE", javax.swing.table;uses:="javax.swing.event,javax.swing.plaf,javax.swing.border,javax.swing,javax.accessibility";version="0.0.0.1_007_JavaSE", javax.swing.text.html.parser;uses:="javax.swing.text,javax.swing.text.html";version="0.0.0.1_007_JavaSE", javax.swing.text.html;uses:="javax.swing.event,javax.swing.text,javax.accessibility,javax.swing,javax.swing.plaf,javax.swing.border,javax.swing.undo";version="0.0.0.1_007_JavaSE", javax.swing.text.rtf;uses:="javax.swing.text";version="0.0.0.1_007_JavaSE", javax.swing.text;uses:="javax.swing.event,javax.swing.tree,javax.swing.undo,javax.swing,javax.swing.plaf,javax.swing.plaf.basic,javax.print,javax.print.attribute,javax.accessibility,javax.swing.text.html";version="0.0.0.1_007_JavaSE", javax.swing.tree;uses:="javax.swing.event,javax.swing,javax.swing.border,javax.swing.plaf,javax.swing.plaf.basic";version="0.0.0.1_007_JavaSE", javax.swing.undo;uses:="javax.swing,javax.swing.event";version="0.0.0.1_007_JavaSE", javax.swing;uses:="javax.swing.event,javax.accessibility,javax.swing.text,javax.swing.plaf,javax.swing.border,javax.swing.tree,javax.swing.table,javax.swing.colorchooser,javax.swing.plaf.basic,javax.swing.text.html,javax.swing.filechooser,javax.print,javax.print.attribute,javax.swing.plaf.metal";version="0.0.0.1_007_JavaSE", javax.tools;uses:="javax.lang.model.element,javax.annotation.processing,javax.lang.model";version="0.0.0.1_007_JavaSE", javax.xml.bind.annotation.adapters;uses:="javax.xml.bind";version="0.0.0.1_007_JavaSE", javax.xml.bind.annotation;uses:="javax.xml.transform,javax.xml.bind,javax.xml.parsers,javax.xml.transform.dom,org.w3c.dom";version="0.0.0.1_007_JavaSE", javax.xml.bind.attachment;uses:="javax.activation";version="0.0.0.1_007_JavaSE", javax.xml.bind.helpers;uses:="javax.xml.bind.annotation.adapters,javax.xml.transform.dom,org.w3c.dom,org.xml.sax,javax.xml.bind.attachment,javax.xml.stream,javax.xml.transform,javax.xml.transform.stream,javax.xml.validation,javax.xml.transform.sax,javax.xml.bind,javax.xml.parsers";version="0.0.0.1_007_JavaSE", javax.xml.bind.util;uses:="javax.xml.transform.sax,javax.xml.bind,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers";version="0.0.0.1_007_JavaSE", javax.xml.bind;uses:="javax.xml.validation,javax.xml.namespace,javax.xml.datatype,javax.xml.transform,javax.xml.bind.annotation,javax.xml.transform.stream,org.w3c.dom,javax.xml.bind.attachment,javax.xml.stream,javax.xml.bind.annotation.adapters,org.xml.sax";version="0.0.0.1_007_JavaSE", javax.xml.crypto.dom;uses:="javax.xml.crypto,org.w3c.dom";version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.dom;uses:="javax.xml.crypto.dsig,javax.xml.crypto,org.w3c.dom,javax.xml.crypto.dom";version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.keyinfo;uses:="javax.xml.crypto";version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.spec;uses:="javax.xml.crypto";version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig;uses:="javax.xml.crypto,javax.xml.crypto.dsig.spec,javax.xml.crypto.dsig.keyinfo";version="0.0.0.1_007_JavaSE", javax.xml.crypto;uses:="javax.xml.crypto.dsig.keyinfo";version="0.0.0.1_007_JavaSE", javax.xml.datatype;uses:="javax.xml.namespace";version="0.0.0.1_007_JavaSE", javax.xml.namespace;version="0.0.0.1_007_JavaSE", javax.xml.parsers;uses:="javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers";version="0.0.0.1_007_JavaSE", javax.xml.soap;uses:="javax.activation,javax.xml.namespace,org.w3c.dom,javax.xml.transform.dom,javax.xml.transform";version="0.0.0.1_007_JavaSE", javax.xml.stream.events;uses:="javax.xml.namespace,javax.xml.stream";version="0.0.0.1_007_JavaSE", javax.xml.stream.util;uses:="javax.xml.stream,javax.xml.stream.events,javax.xml.namespace";version="0.0.0.1_007_JavaSE", javax.xml.stream;uses:="javax.xml.stream.events,javax.xml.namespace,javax.xml.stream.util,javax.xml.transform";version="0.0.0.1_007_JavaSE", javax.xml.transform.dom;uses:="javax.xml.transform,org.w3c.dom";version="0.0.0.1_007_JavaSE", javax.xml.transform.sax;uses:="org.xml.sax.ext,javax.xml.transform,org.xml.sax,javax.xml.transform.stream";version="0.0.0.1_007_JavaSE", javax.xml.transform.stax;uses:="javax.xml.stream,javax.xml.transform,javax.xml.stream.events";version="0.0.0.1_007_JavaSE", javax.xml.transform.stream;uses:="javax.xml.transform";version="0.0.0.1_007_JavaSE", javax.xml.transform;version="0.0.0.1_007_JavaSE", javax.xml.validation;uses:="org.w3c.dom.ls,javax.xml.transform,javax.xml.transform.stream,org.xml.sax,org.w3c.dom";version="0.0.0.1_007_JavaSE", javax.xml.ws.handler.soap;uses:="javax.xml.ws.handler,javax.xml.namespace,javax.xml.soap,javax.xml.bind";version="0.0.0.1_007_JavaSE", javax.xml.ws.handler;uses:="javax.xml.ws,javax.xml.namespace";version="0.0.0.1_007_JavaSE", javax.xml.ws.http;uses:="javax.xml.ws";version="0.0.0.1_007_JavaSE", javax.xml.ws.soap;uses:="javax.xml.ws.spi,javax.xml.ws,javax.xml.soap";version="0.0.0.1_007_JavaSE", javax.xml.ws.spi.http;version="0.0.0.1_007_JavaSE", javax.xml.ws.spi;uses:="javax.xml.ws,javax.xml.ws.wsaddressing,javax.xml.transform,org.w3c.dom,javax.xml.namespace,javax.xml.ws.handler,javax.xml.bind";version="0.0.0.1_007_JavaSE", javax.xml.ws.wsaddressing;uses:="javax.xml.bind.annotation,javax.xml.namespace,org.w3c.dom,javax.xml.transform,javax.xml.bind,javax.xml.ws,javax.xml.ws.spi";version="0.0.0.1_007_JavaSE", javax.xml.ws;uses:="javax.xml.ws.handler,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.transform,org.w3c.dom,javax.xml.bind.annotation,javax.xml.transform.stream,javax.xml.bind,javax.xml.namespace";version="0.0.0.1_007_JavaSE", javax.xml.xpath;uses:="org.xml.sax,javax.xml.namespace";version="0.0.0.1_007_JavaSE", javax.xml;version="0.0.0.1_007_JavaSE", org.ietf.jgss;version="0.0.0.1_007_JavaSE", org.omg.CORBA.DynAnyPackage;uses:="org.omg.CORBA";version="0.0.0.1_007_JavaSE", org.omg.CORBA.ORBPackage;uses:="org.omg.CORBA";version="0.0.0.1_007_JavaSE", org.omg.CORBA.TypeCodePackage;uses:="org.omg.CORBA";version="0.0.0.1_007_JavaSE", org.omg.CORBA.portable;uses:="org.omg.CORBA,org.omg.CORBA_2_3.portable";version="0.0.0.1_007_JavaSE", org.omg.CORBA;uses:="org.omg.CORBA.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA_2_3.portable,org.omg.CORBA.TypeCodePackage";version="0.0.0.1_007_JavaSE", org.omg.CORBA_2_3.portable;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.CORBA_2_3;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.CosNaming.NamingContextExtPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.CosNaming.NamingContextPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CosNaming";version="0.0.0.1_007_JavaSE", org.omg.CosNaming;uses:="org.omg.CORBA.portable,org.omg.CORBA,org.omg.PortableServer,org.omg.CosNaming.NamingContextPackage,org.omg.CosNaming.NamingContextExtPackage";version="0.0.0.1_007_JavaSE", org.omg.Dynamic;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.DynamicAny.DynAnyFactoryPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.DynamicAny.DynAnyPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.DynamicAny;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage";version="0.0.0.1_007_JavaSE", org.omg.IOP.CodecFactoryPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.IOP.CodecPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.IOP;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage";version="0.0.0.1_007_JavaSE", org.omg.Messaging;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableInterceptor.ORBInitInfoPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableInterceptor;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.IOP,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.CORBA_2_3.portable,org.omg.Dynamic";version="0.0.0.1_007_JavaSE", org.omg.PortableServer.CurrentPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableServer.POAManagerPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableServer.POAPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableServer.ServantLocatorPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.PortableServer.portable;uses:="org.omg.CORBA,org.omg.PortableServer";version="0.0.0.1_007_JavaSE", org.omg.PortableServer;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.CORBA_2_3,org.omg.PortableServer.ServantLocatorPackage";version="0.0.0.1_007_JavaSE", org.omg.SendingContext;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="0.0.0.1_007_JavaSE", org.omg.stub.java.rmi;uses:="javax.rmi.CORBA";version="0.0.0.1_007_JavaSE", org.w3c.dom.bootstrap;uses:="org.w3c.dom";version="0.0.0.1_007_JavaSE", org.w3c.dom.events;uses:="org.w3c.dom,org.w3c.dom.views";version="0.0.0.1_007_JavaSE", org.w3c.dom.ls;uses:="org.w3c.dom,org.w3c.dom.events,org.w3c.dom.traversal";version="0.0.0.1_007_JavaSE", org.w3c.dom;version="0.0.0.1_007_JavaSE", org.xml.sax.ext;uses:="org.xml.sax,org.xml.sax.helpers";version="0.0.0.1_007_JavaSE", org.xml.sax.helpers;uses:="org.xml.sax";version="0.0.0.1_007_JavaSE", org.xml.sax;version="0.0.0.1_007_JavaSE" ---- -You should now be able to start Felix, and deploy all the jars listed on -this page. You should see output similar to this on the console, using -the `felix:lb` command: +You should now be able to start Felix, and deploy all the jars listed on this page. +You should see output similar to this on the console, using the `felix:lb` command: .... ID|State |Level|Name @@ -1397,8 +1133,7 @@ the `felix:lb` command: ===== Eclipse -The jetty OSGi integration has been successfully tested against -https://www.eclipse.org/equinox/[Equinox] Mars RC1. +The Jetty OSGi integration has been successfully tested against https://www.eclipse.org/equinox/[Equinox] Mars RC1. Ensure that these services are present: @@ -1407,16 +1142,12 @@ Ensure that these services are present: ====== Eclipse Update Site -There is a list of Eclipse P2 sites for the jetty releases maintained at -http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/ +There is a list of Eclipse P2 sites for the jetty releases maintained at http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/ -Each P2 repo has one big feature group that defines most of the jetty -jars. *Beware: No 3rd party dependency jars are included, so you will -need to have installed the dependencies listed previously in this -document.* +Each P2 repo has one big feature group that defines most of the Jetty jars. +*Beware: No 3rd party dependency jars are included, so you will need to have installed the dependencies listed previously in this document.* -In addition, as the feature group includes websocket, you will need to -download and have installed the javax.websocket-api jar: +In addition, as the feature group includes websocket, you will need to download and have installed the `javax.websocket-api` jar: .Extra Jars Required for Websocket [cols=",,",options="header",] From f3f31d163c4f04d5c8f1bc2e4ae38f8c88583e77 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 3 Nov 2016 10:55:02 +1100 Subject: [PATCH 066/109] Issue #1050 Add check for duplicate FilterHolder,ServletHolder objects --- .../eclipse/jetty/servlet/ServletHandler.java | 74 +++++++++- .../jetty/servlet/ServletHandlerTest.java | 130 ++++++++++++++++++ 2 files changed, 197 insertions(+), 7 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java index c3026d7b8c1..2b97ceb4efb 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java @@ -1015,7 +1015,11 @@ public class ServletHandler extends ScopedHandler try { - setServlets(ArrayUtil.addToArray(holders, servlet, ServletHolder.class)); + synchronized (this) + { + if (servlet != null && !containsServletHolder(servlet)) + setServlets(ArrayUtil.addToArray(holders, servlet, ServletHolder.class)); + } ServletMapping mapping = new ServletMapping(); mapping.setServletName(servlet.getName()); @@ -1039,7 +1043,14 @@ public class ServletHandler extends ScopedHandler */ public void addServlet(ServletHolder holder) { - setServlets(ArrayUtil.addToArray(getServlets(), holder, ServletHolder.class)); + if (holder == null) + return; + + synchronized (this) + { + if (!containsServletHolder(holder)) + setServlets(ArrayUtil.addToArray(getServlets(), holder, ServletHolder.class)); + } } /* ------------------------------------------------------------ */ @@ -1121,7 +1132,11 @@ public class ServletHandler extends ScopedHandler try { - setFilters(ArrayUtil.addToArray(holders, holder, FilterHolder.class)); + synchronized (this) + { + if (holder != null && !containsFilterHolder(holder)) + setFilters(ArrayUtil.addToArray(holders, holder, FilterHolder.class)); + } FilterMapping mapping = new FilterMapping(); mapping.setFilterName(holder.getName()); @@ -1189,7 +1204,11 @@ public class ServletHandler extends ScopedHandler try { - setFilters(ArrayUtil.addToArray(holders, holder, FilterHolder.class)); + synchronized (this) + { + if (holder != null && !containsFilterHolder(holder)) + setFilters(ArrayUtil.addToArray(holders, holder, FilterHolder.class)); + } FilterMapping mapping = new FilterMapping(); mapping.setFilterName(holder.getName()); @@ -1234,7 +1253,13 @@ public class ServletHandler extends ScopedHandler public void addFilter (FilterHolder filter, FilterMapping filterMapping) { if (filter != null) - setFilters(ArrayUtil.addToArray(getFilters(), filter, FilterHolder.class)); + { + synchronized (this) + { + if (!containsFilterHolder(filter)) + setFilters(ArrayUtil.addToArray(getFilters(), filter, FilterHolder.class)); + } + } if (filterMapping != null) addFilterMapping(filterMapping); } @@ -1246,8 +1271,14 @@ public class ServletHandler extends ScopedHandler */ public void addFilter (FilterHolder filter) { - if (filter != null) - setFilters(ArrayUtil.addToArray(getFilters(), filter, FilterHolder.class)); + if (filter == null) + return; + + synchronized (this) + { + if (!containsFilterHolder(filter)) + setFilters(ArrayUtil.addToArray(getFilters(), filter, FilterHolder.class)); + } } /* ------------------------------------------------------------ */ @@ -1578,7 +1609,36 @@ public class ServletHandler extends ScopedHandler if (getHandler()!=null) nextHandle(URIUtil.addPaths(request.getServletPath(),request.getPathInfo()),baseRequest,request,response); } + + + protected synchronized boolean containsFilterHolder (FilterHolder holder) + { + if (_filters == null) + return false; + boolean found = false; + for (FilterHolder f:_filters) + { + if (f == holder) + found = true; + } + return found; + } + + protected synchronized boolean containsServletHolder (ServletHolder holder) + { + if (_servlets == null) + return false; + boolean found = false; + for (ServletHolder s:_servlets) + { + if (s == holder) + found = true; + } + return found; + } + + /* ------------------------------------------------------------ */ /** * @param filterChainsCached The filterChainsCached to set. diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java index ad87943a89e..608cecb7130 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java @@ -101,6 +101,136 @@ public class ServletHandlerTest } + @Test + public void testAddFilterIgnoresDuplicates() throws Exception + { + + ServletHandler handler = new ServletHandler(); + FilterHolder h = new FilterHolder(); + h.setName("x"); + handler.addFilter(h); + FilterHolder[] holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders[0]==h); + + handler.addFilter(h); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 1); + assertTrue(holders[0] == h); + + FilterHolder h2 = new FilterHolder(); + h2.setName("x"); //not allowed by servlet spec, just here to test object equality + handler.addFilter(h2); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 2); + assertTrue(holders[1] == h2); + } + + @Test + public void testAddFilterIgnoresDuplicates2() throws Exception + { + + ServletHandler handler = new ServletHandler(); + FilterHolder h = new FilterHolder(); + h.setName("x"); + FilterMapping m = new FilterMapping(); + m.setPathSpec("/*"); + m.setFilterHolder(h); + + + handler.addFilter(h,m); + FilterHolder[] holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders[0]==h); + + + FilterMapping m2 = new FilterMapping(); + m2.setPathSpec("/*"); + m2.setFilterHolder(h); + handler.addFilter(h, m2); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 1); + assertTrue(holders[0] == h); + + FilterHolder h2 = new FilterHolder(); + h2.setName("x"); //not allowed by servlet spec, just here to test object equality + FilterMapping m3 = new FilterMapping(); + m3.setPathSpec("/*"); + m3.setFilterHolder(h); + + handler.addFilter(h2, m3); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 2); + assertTrue(holders[1] == h2); + } + + + @Test + public void testAddFilterWithMappingIgnoresDuplicateFilters() throws Exception + { + ServletHandler handler = new ServletHandler(); + FilterHolder h = new FilterHolder(); + h.setName("x"); + + + + handler.addFilterWithMapping(h,"/*", 0); + FilterHolder[] holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders[0]==h); + + handler.addFilterWithMapping(h, "/*", 1); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 1); + assertTrue(holders[0] == h); + + FilterHolder h2 = new FilterHolder(); + h2.setName("x"); //not allowed by servlet spec, just here to test object equality + + handler.addFilterWithMapping(h2, "/*", 0); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 2); + assertTrue(holders[1] == h2); + } + + + @Test + public void testAddFilterWithMappingIngoresDuplicateFilters2 () throws Exception + { + ServletHandler handler = new ServletHandler(); + FilterHolder h = new FilterHolder(); + h.setName("x"); + + + + handler.addFilterWithMapping(h,"/*", EnumSet.allOf(DispatcherType.class)); + FilterHolder[] holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders[0]==h); + + handler.addFilterWithMapping(h, "/x", EnumSet.allOf(DispatcherType.class)); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 1); + assertTrue(holders[0] == h); + + FilterHolder h2 = new FilterHolder(); + h2.setName("x"); //not allowed by servlet spec, just here to test object equality + + handler.addFilterWithMapping(h2, "/*", EnumSet.allOf(DispatcherType.class)); + holders = handler.getFilters(); + assertNotNull(holders); + assertTrue(holders.length == 2); + assertTrue(holders[1] == h2); + } + + @Test public void testDuplicateMappingsForbidden() throws Exception { From 2d6ec3aee24c3fd80f804f0ec7fefcf16999b4fe Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 3 Nov 2016 14:25:30 +1100 Subject: [PATCH 067/109] Remove unnecessary cast to DefaultSessionIdManager in Session.invalidate --- .../src/main/java/org/eclipse/jetty/server/session/Session.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java index 5ffc8ee308d..6fe5997f820 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java @@ -859,7 +859,7 @@ public class Session implements SessionHandler.SessionIf if (result) { //tell id mgr to remove session from all other contexts - ((DefaultSessionIdManager)_handler.getSessionIdManager()).invalidateAll(_sessionData.getId()); + _handler.getSessionIdManager().invalidateAll(_sessionData.getId()); } } catch (Exception e) From 3dc2637d21ba2ef09f666bd9c2628dc274916f85 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 3 Nov 2016 14:51:31 +1100 Subject: [PATCH 068/109] Issue #1063 Accept empty host --- .../src/test/resources/jetty-logging.properties | 3 +++ .../main/java/org/eclipse/jetty/util/HostPort.java | 11 ++++++++--- .../java/org/eclipse/jetty/util/HostPortTest.java | 14 ++++++++------ 3 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 jetty-http/src/test/resources/jetty-logging.properties diff --git a/jetty-http/src/test/resources/jetty-logging.properties b/jetty-http/src/test/resources/jetty-logging.properties new file mode 100644 index 00000000000..adf68c7c337 --- /dev/null +++ b/jetty-http/src/test/resources/jetty-logging.properties @@ -0,0 +1,3 @@ +org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog +#org.eclipse.jetty.LEVEL=DEBUG +#org.eclipse.jetty.server.LEVEL=DEBUG diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/HostPort.java b/jetty-util/src/main/java/org/eclipse/jetty/util/HostPort.java index 62da04b5dfd..9a4a5ea3ae5 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/HostPort.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/HostPort.java @@ -30,11 +30,16 @@ public class HostPort public HostPort(String authority) throws IllegalArgumentException { - if (authority==null || authority.length()==0) + if (authority==null) throw new IllegalArgumentException("No Authority"); try { - if (authority.charAt(0)=='[') + if (authority.isEmpty()) + { + _host=authority; + _port=0; + } + else if (authority.charAt(0)=='[') { // ipv6reference int close=authority.lastIndexOf(']'); @@ -78,7 +83,7 @@ public class HostPort {initCause(ex);} }; } - if(_host.isEmpty()) + if(_host==null) throw new IllegalArgumentException("Bad host"); if(_port<0) throw new IllegalArgumentException("Bad port"); diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/HostPortTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/HostPortTest.java index e1a2b33f905..58342160e2c 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/HostPortTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/HostPortTest.java @@ -37,6 +37,8 @@ public class HostPortTest public static List testCases() { String data[][] = new String[][] { + {"","",null}, + {":80","","80"}, {"host","host",null}, {"host:80","host","80"}, {"10.10.10.1","10.10.10.1",null}, @@ -46,8 +48,6 @@ public class HostPortTest {null,null,null}, {"host:",null,null}, - {"",null,null}, - {":80",null,"80"}, {"127.0.0.1:",null,null}, {"[0::0::0::0::1]:",null,null}, {"host:xxx",null,null}, @@ -76,16 +76,18 @@ public class HostPortTest try { HostPort hostPort = new HostPort(_authority); - assertThat(hostPort.getHost(),is(_expectedHost)); + assertThat(_authority,hostPort.getHost(),is(_expectedHost)); if (_expectedPort==null) - assertThat(hostPort.getPort(),is(0)); + assertThat(_authority,hostPort.getPort(),is(0)); else - assertThat(hostPort.getPort(),is(Integer.valueOf(_expectedPort))); + assertThat(_authority,hostPort.getPort(),is(Integer.valueOf(_expectedPort))); } catch (Exception e) { - assertNull(_expectedHost); + if (_expectedHost!=null) + e.printStackTrace(); + assertNull(_authority,_expectedHost); } } From bbc21e8648db598114d50e1ad0ba64c08400a966 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 3 Nov 2016 15:04:27 +1100 Subject: [PATCH 069/109] Issue #1065 Improved error message on setBufferSize --- .../java/org/eclipse/jetty/server/Response.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java index 2667bbdd36c..56919bee56e 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java @@ -21,12 +21,9 @@ package org.eclipse.jetty.server; import java.io.IOException; import java.io.PrintWriter; import java.nio.channels.IllegalSelectorException; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; -import java.util.Enumeration; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.concurrent.atomic.AtomicInteger; @@ -252,10 +249,7 @@ public class Response implements HttpServletResponse quoteOnlyOrAppend(buf,name,quote_name); buf.append('='); - - // Remember name= part to look for other matching set-cookie - String name_equals=buf.toString(); - + // Append the value boolean quote_value=isQuoteNeededForCookie(value); quoteOnlyOrAppend(buf,value,quote_value); @@ -1134,15 +1128,14 @@ public class Response implements HttpServletResponse _fields.put(_mimeType.getContentTypeField()); } } - } @Override public void setBufferSize(int size) { if (isCommitted() || getContentCount() > 0) - throw new IllegalStateException("cannot set buffer size on committed response"); - if (size <= 0) + throw new IllegalStateException("cannot set buffer size when response is committed or written to"); + if (size < __MIN_BUFFER_SIZE) size = __MIN_BUFFER_SIZE; _out.setBufferSize(size); } From 41d506fe4e5e89f3324c07f4b378c8ec671eba03 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 3 Nov 2016 16:21:24 +1100 Subject: [PATCH 070/109] Issue #1067 --- .../jetty/server/SessionIdManager.java | 13 ++++++ .../session/DefaultSessionIdManager.java | 8 ++++ .../eclipse/jetty/server/session/Session.java | 12 +++--- .../jetty/server/session/SessionHandler.java | 14 +++--- .../jetty/server/session/FileTestServer.java | 2 +- .../gcloud/session/GCloudTestServer.java | 3 +- .../jetty/server/session/HashTestServer.java | 2 +- .../session/InfinispanTestSessionServer.java | 2 +- .../jetty/server/session/JdbcTestServer.java | 2 +- .../sessions/MemcachedTestServer.java | 3 +- .../jetty/nosql/mongodb/MongoTestServer.java | 3 +- .../AbstractLocalSessionScavengingTest.java | 5 +++ .../server/session/TestSessionHandler.java | 43 +++++++++++++++++++ 13 files changed, 94 insertions(+), 18 deletions(-) create mode 100644 tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/TestSessionHandler.java diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/SessionIdManager.java b/jetty-server/src/main/java/org/eclipse/jetty/server/SessionIdManager.java index 2fd4739c18f..43a43e3cfa5 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/SessionIdManager.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/SessionIdManager.java @@ -23,6 +23,7 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.server.session.HouseKeeper; import org.eclipse.jetty.util.component.LifeCycle; /** @@ -114,4 +115,16 @@ public interface SessionIdManager extends LifeCycle * @return the set of session handlers */ public Set getSessionHandlers(); + + + /** + * @param houseKeeper the housekeeper for doing scavenging + */ + public void setSessionHouseKeeper (HouseKeeper houseKeeper); + + /** + * @return the housekeeper for doing scavenging + */ + public HouseKeeper getSessionHouseKeeper(); + } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionIdManager.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionIdManager.java index ef24e4b2e47..01793d2ae41 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionIdManager.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionIdManager.java @@ -120,6 +120,14 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi } + /** + * @return the housekeeper + */ + public HouseKeeper getSessionHouseKeeper() + { + return _houseKeeper; + } + /* ------------------------------------------------------------ */ /** diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java index 6fe5997f820..959a39ba931 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java @@ -86,12 +86,12 @@ public class Session implements SessionHandler.SessionIf protected SessionHandler _handler; //the manager of the session protected String _extendedId; //the _id plus the worker name protected long _requests; - private boolean _idChanged; - private boolean _newSession; - private State _state = State.VALID; //state of the session:valid,invalid or being invalidated - private Locker _lock = new Locker(); //sync lock - private boolean _resident = false; - private SessionInactivityTimeout _sessionInactivityTimer = null; + protected boolean _idChanged; + protected boolean _newSession; + protected State _state = State.VALID; //state of the session:valid,invalid or being invalidated + protected Locker _lock = new Locker(); //sync lock + protected boolean _resident = false; + protected SessionInactivityTimeout _sessionInactivityTimer = null; diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java index 00e648520fe..af7712bc7d9 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java @@ -241,8 +241,8 @@ public class SessionHandler extends ScopedHandler protected final CounterStatistic _sessionsCreatedStats = new CounterStatistic(); public Set _sessionTrackingModes; - private boolean _usingURLs; - private boolean _usingCookies=true; + protected boolean _usingURLs; + protected boolean _usingCookies=true; protected ConcurrentHashSet _candidateSessionIdsForExpiry = new ConcurrentHashSet(); @@ -1317,9 +1317,13 @@ public class SessionHandler extends ScopedHandler //session ids that need to be expired. This is an efficiency measure: as //the expiration involves the SessionDataStore doing a delete, it is //most efficient if it can be done as a bulk operation to eg reduce - //roundtrips to the persistent store. - _candidateSessionIdsForExpiry.add(session.getId()); - if (LOG.isDebugEnabled())LOG.debug("Session {} is candidate for expiry", session.getId()); + //roundtrips to the persistent store. Only do this if the HouseKeeper that + //does the scavenging is configured to actually scavenge + if (_sessionIdManager.getSessionHouseKeeper() != null && _sessionIdManager.getSessionHouseKeeper().getIntervalSec() > 0) + { + _candidateSessionIdsForExpiry.add(session.getId()); + if (LOG.isDebugEnabled())LOG.debug("Session {} is candidate for expiry", session.getId()); + } } else _sessionCache.checkInactiveSession(session); //if inactivity eviction is enabled the session will be deleted from the cache diff --git a/tests/test-sessions/test-file-sessions/src/test/java/org/eclipse/jetty/server/session/FileTestServer.java b/tests/test-sessions/test-file-sessions/src/test/java/org/eclipse/jetty/server/session/FileTestServer.java index 30c13ded244..23269093272 100644 --- a/tests/test-sessions/test-file-sessions/src/test/java/org/eclipse/jetty/server/session/FileTestServer.java +++ b/tests/test-sessions/test-file-sessions/src/test/java/org/eclipse/jetty/server/session/FileTestServer.java @@ -139,7 +139,7 @@ public class FileTestServer extends AbstractTestServer public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); DefaultSessionCache ss = new DefaultSessionCache(handler); handler.setSessionCache(ss); FileSessionDataStore ds = new FileSessionDataStore(); diff --git a/tests/test-sessions/test-gcloud-sessions/src/test/java/org/eclipse/jetty/gcloud/session/GCloudTestServer.java b/tests/test-sessions/test-gcloud-sessions/src/test/java/org/eclipse/jetty/gcloud/session/GCloudTestServer.java index 57367872561..7d279112bcc 100644 --- a/tests/test-sessions/test-gcloud-sessions/src/test/java/org/eclipse/jetty/gcloud/session/GCloudTestServer.java +++ b/tests/test-sessions/test-gcloud-sessions/src/test/java/org/eclipse/jetty/gcloud/session/GCloudTestServer.java @@ -22,6 +22,7 @@ package org.eclipse.jetty.gcloud.session; import org.eclipse.jetty.server.session.AbstractTestServer; import org.eclipse.jetty.server.session.DefaultSessionCache; import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.server.session.TestSessionHandler; /** * GCloudTestServer @@ -51,7 +52,7 @@ public class GCloudTestServer extends AbstractTestServer @Override public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); handler.setSessionIdManager(_sessionIdManager); GCloudSessionDataStore ds = new GCloudSessionDataStore(); ds.setDatastore(GCloudTestSuite.__testSupport.getDatastore()); diff --git a/tests/test-sessions/test-hash-sessions/src/test/java/org/eclipse/jetty/server/session/HashTestServer.java b/tests/test-sessions/test-hash-sessions/src/test/java/org/eclipse/jetty/server/session/HashTestServer.java index 1090bcc56b8..151e3ccff4a 100644 --- a/tests/test-sessions/test-hash-sessions/src/test/java/org/eclipse/jetty/server/session/HashTestServer.java +++ b/tests/test-sessions/test-hash-sessions/src/test/java/org/eclipse/jetty/server/session/HashTestServer.java @@ -34,7 +34,7 @@ public class HashTestServer extends AbstractTestServer public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); DefaultSessionCache ss = new DefaultSessionCache(handler); handler.setSessionCache(ss); ss.setSessionDataStore(new NullSessionDataStore()); diff --git a/tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/InfinispanTestSessionServer.java b/tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/InfinispanTestSessionServer.java index ca705937688..bb6be3f5a88 100644 --- a/tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/InfinispanTestSessionServer.java +++ b/tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/InfinispanTestSessionServer.java @@ -41,7 +41,7 @@ public class InfinispanTestSessionServer extends AbstractTestServer @Override public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); InfinispanSessionDataStore sds = new InfinispanSessionDataStore(); sds.setCache((BasicCache)_config); DefaultSessionCache ss = new DefaultSessionCache(handler); diff --git a/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestServer.java b/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestServer.java index 13cdc12ebdf..39acaad0bb5 100644 --- a/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestServer.java +++ b/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestServer.java @@ -96,7 +96,7 @@ public class JdbcTestServer extends AbstractTestServer @Override public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); DefaultSessionCache sessionStore = new DefaultSessionCache(handler); handler.setSessionCache(sessionStore); JDBCSessionDataStore ds = new JDBCSessionDataStore(); diff --git a/tests/test-sessions/test-memcached-sessions/src/test/java/org/eclipse/jetty/memcached/sessions/MemcachedTestServer.java b/tests/test-sessions/test-memcached-sessions/src/test/java/org/eclipse/jetty/memcached/sessions/MemcachedTestServer.java index fbd6b31f78d..af00dd7aefa 100644 --- a/tests/test-sessions/test-memcached-sessions/src/test/java/org/eclipse/jetty/memcached/sessions/MemcachedTestServer.java +++ b/tests/test-sessions/test-memcached-sessions/src/test/java/org/eclipse/jetty/memcached/sessions/MemcachedTestServer.java @@ -31,6 +31,7 @@ import org.eclipse.jetty.server.session.CachingSessionDataStore; import org.eclipse.jetty.server.session.DefaultSessionCache; import org.eclipse.jetty.server.session.SessionData; import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.server.session.TestSessionHandler; /** * MemcachedTestServer @@ -161,7 +162,7 @@ public class MemcachedTestServer extends AbstractTestServer @Override public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); handler.setSessionIdManager(_sessionIdManager); MockDataStore persistentStore = new MockDataStore(); MemcachedSessionDataMap sdm = new MemcachedSessionDataMap("localhost", "11211"); diff --git a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java index 06a58c0bfbe..73723c61129 100644 --- a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java +++ b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java @@ -24,6 +24,7 @@ import org.eclipse.jetty.server.SessionIdManager; import org.eclipse.jetty.server.session.AbstractTestServer; import org.eclipse.jetty.server.session.DefaultSessionCache; import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.server.session.TestSessionHandler; import com.mongodb.DBCollection; import com.mongodb.Mongo; @@ -74,7 +75,7 @@ public class MongoTestServer extends AbstractTestServer public SessionHandler newSessionHandler() { - SessionHandler handler = new SessionHandler(); + SessionHandler handler = new TestSessionHandler(); try { MongoSessionDataStore ds = new MongoSessionDataStore(); diff --git a/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/AbstractLocalSessionScavengingTest.java b/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/AbstractLocalSessionScavengingTest.java index 6f31f17d870..2a9422e0034 100644 --- a/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/AbstractLocalSessionScavengingTest.java +++ b/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/AbstractLocalSessionScavengingTest.java @@ -122,7 +122,12 @@ public abstract class AbstractLocalSessionScavengingTest extends AbstractTestBas pause(2*inactivePeriod); assertEquals(1, m1.getSessionsCreated()); + + if (m1 instanceof TestSessionHandler) + { + ((TestSessionHandler)m1).assertCandidatesForExpiry(0); + } //check a session removed listener did not get called assertEquals(1, listener.count.getCurrent()); diff --git a/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/TestSessionHandler.java b/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/TestSessionHandler.java new file mode 100644 index 00000000000..d89ea60851b --- /dev/null +++ b/tests/test-sessions/test-sessions-common/src/main/java/org/eclipse/jetty/server/session/TestSessionHandler.java @@ -0,0 +1,43 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + + +package org.eclipse.jetty.server.session; + +import static org.junit.Assert.assertEquals; + + + +/** + * TestSessionHandler + * + * For testing convenience, allows access to some protected fields in SessionHandler + * + */ +public class TestSessionHandler extends SessionHandler +{ + + /** + * @param size the size of the expiry candidates to check + */ + public void assertCandidatesForExpiry (int size) + { + assertEquals(size, _candidateSessionIdsForExpiry.size()); + } + +} From 6781a949b12cc318df281319071941f0254c96c4 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 3 Nov 2016 16:52:29 +1100 Subject: [PATCH 071/109] Issue#1066 Simplify HttpGeneration Reduce the transformations needed on header fields, so they can be more often set directly and no need to split and recombine. The Content-Length field is added IF it is needed for framing or if it was explicitly set The Transfer-Encoding: chunk field is used only as a hint that there is content. Connection fields are used as is, but are checked for close and keep-alive --- .../test/resources/jetty-logging.properties | 6 +- .../client/http/HttpSenderOverHTTPTest.java | 3 +- .../org/eclipse/jetty/http/HttpGenerator.java | 367 +++++++----------- .../java/org/eclipse/jetty/http/MetaData.java | 6 +- .../jetty/http/HttpGeneratorServerTest.java | 137 ++++++- .../org/eclipse/jetty/http/HttpTester.java | 12 +- .../test/resources/jetty-logging.properties | 4 +- .../jetty/proxy/ProxyServletFailureTest.java | 6 +- .../jetty/server/AsyncRequestReadTest.java | 3 +- .../jetty/server/HttpConnectionTest.java | 45 +++ .../server/HttpManyWaysToAsyncCommitTest.java | 3 +- .../server/HttpManyWaysToCommitTest.java | 4 +- .../server/HttpVersionCustomizerTest.java | 5 + .../org/eclipse/jetty/server/RequestTest.java | 3 +- .../jetty/server/ssl/SSLEngineTest.java | 14 +- .../jetty/servlet/AsyncContextTest.java | 43 +- .../servlet/DefaultServletRangesTest.java | 5 - .../jetty/servlet/DefaultServletTest.java | 24 +- .../eclipse/jetty/servlet/DispatcherTest.java | 2 - .../jetty/servlets/MultipartFilterTest.java | 3 - 20 files changed, 398 insertions(+), 297 deletions(-) diff --git a/jetty-cdi/test-cdi-it/src/test/resources/jetty-logging.properties b/jetty-cdi/test-cdi-it/src/test/resources/jetty-logging.properties index a3e0efd35f5..6e5209e3846 100644 --- a/jetty-cdi/test-cdi-it/src/test/resources/jetty-logging.properties +++ b/jetty-cdi/test-cdi-it/src/test/resources/jetty-logging.properties @@ -1,10 +1,10 @@ org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -org.jboss.LEVEL=DEBUG +# org.jboss.LEVEL=DEBUG org.eclipse.jetty.LEVEL=INFO -org.eclipse.jetty.util.DecoratedObjectFactory.LEVEL=DEBUG +# org.eclipse.jetty.util.DecoratedObjectFactory.LEVEL=DEBUG # org.eclipse.jetty.LEVEL=DEBUG -org.eclipse.jetty.websocket.LEVEL=DEBUG +# org.eclipse.jetty.websocket.LEVEL=DEBUG # org.eclipse.jetty.websocket.client.LEVEL=DEBUG diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpSenderOverHTTPTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpSenderOverHTTPTest.java index 301867fa748..d3c12183bca 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpSenderOverHTTPTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpSenderOverHTTPTest.java @@ -36,6 +36,7 @@ import org.eclipse.jetty.io.ByteArrayEndPoint; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.toolchain.test.annotation.Slow; import org.eclipse.jetty.util.Promise; +import org.hamcrest.Matchers; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -258,7 +259,7 @@ public class HttpSenderOverHTTPTest String requestString = endPoint.takeOutputString(); Assert.assertTrue(requestString.startsWith("GET ")); - Assert.assertTrue(requestString.endsWith("\r\n\r\n" + content1 + content2)); + Assert.assertThat(requestString,Matchers.endsWith("\r\n\r\n" + content1 + content2)); Assert.assertTrue(headersLatch.await(5, TimeUnit.SECONDS)); Assert.assertTrue(successLatch.await(5, TimeUnit.SECONDS)); } diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java index 0e5047c1066..65567caae28 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java @@ -18,16 +18,18 @@ package org.eclipse.jetty.http; +import static org.eclipse.jetty.http.HttpStatus.INTERNAL_SERVER_ERROR_500; + import java.io.IOException; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; import org.eclipse.jetty.http.HttpTokens.EndOfContent; +import org.eclipse.jetty.util.ArrayTrie; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.StringUtil; +import org.eclipse.jetty.util.Trie; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -46,11 +48,10 @@ public class HttpGenerator public final static boolean __STRICT=Boolean.getBoolean("org.eclipse.jetty.http.HttpGenerator.STRICT"); private final static byte[] __colon_space = new byte[] {':',' '}; - private final static HttpHeaderValue[] CLOSE = {HttpHeaderValue.CLOSE}; public static final MetaData.Response CONTINUE_100_INFO = new MetaData.Response(HttpVersion.HTTP_1_1,100,null,null,-1); public static final MetaData.Response PROGRESS_102_INFO = new MetaData.Response(HttpVersion.HTTP_1_1,102,null,null,-1); public final static MetaData.Response RESPONSE_500_INFO = - new MetaData.Response(HttpVersion.HTTP_1_1,HttpStatus.INTERNAL_SERVER_ERROR_500,null,new HttpFields(){{put(HttpHeader.CONNECTION,HttpHeaderValue.CLOSE);}},0); + new MetaData.Response(HttpVersion.HTTP_1_1,INTERNAL_SERVER_ERROR_500,null,new HttpFields(){{put(HttpHeader.CONNECTION,HttpHeaderValue.CLOSE);}},0); // states public enum State { START, COMMITTED, COMPLETING, COMPLETING_1XX, END } @@ -63,13 +64,18 @@ public class HttpGenerator private EndOfContent _endOfContent = EndOfContent.UNKNOWN_CONTENT; private long _contentPrepared = 0; - private boolean _noContent = false; + private boolean _noContentResponse = false; private Boolean _persistent = null; private final int _send; private final static int SEND_SERVER = 0x01; private final static int SEND_XPOWEREDBY = 0x02; - private final static Set __assumedContentMethods = new HashSet<>(Arrays.asList(new String[]{HttpMethod.POST.asString(),HttpMethod.PUT.asString()})); + private final static Trie __assumedContentMethods = new ArrayTrie<>(8); + static + { + __assumedContentMethods.put(HttpMethod.POST.asString(),Boolean.TRUE); + __assumedContentMethods.put(HttpMethod.PUT.asString(),Boolean.TRUE); + } /* ------------------------------------------------------------------------------- */ public static void setJettyVersion(String serverVersion) @@ -101,7 +107,7 @@ public class HttpGenerator { _state = State.START; _endOfContent = EndOfContent.UNKNOWN_CONTENT; - _noContent=false; + _noContentResponse=false; _persistent = null; _contentPrepared = 0; _needCRLF = false; @@ -160,7 +166,7 @@ public class HttpGenerator /* ------------------------------------------------------------ */ public boolean isNoContent() { - return _noContent; + return _noContentResponse; } /* ------------------------------------------------------------ */ @@ -227,7 +233,7 @@ public class HttpGenerator generateRequestLine(info,header); if (info.getHttpVersion()==HttpVersion.HTTP_0_9) - throw new BadMessageException(500,"HTTP/0.9 not supported"); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"HTTP/0.9 not supported"); generateHeaders(info,header,content,last); @@ -252,10 +258,17 @@ public class HttpGenerator return Result.FLUSH; } + catch(BadMessageException e) + { + throw e; + } + catch(BufferOverflowException e) + { + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"Request header too large",e); + } catch(Exception e) { - String message= (e instanceof BufferOverflowException)?"Request header too large":e.getMessage(); - throw new BadMessageException(500,message,e); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,e.getMessage(),e); } finally { @@ -344,7 +357,7 @@ public class HttpGenerator return Result.NEED_INFO; HttpVersion version=info.getHttpVersion(); if (version==null) - throw new BadMessageException(500,"No version"); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"No version"); switch(version) { case HTTP_1_0: @@ -381,7 +394,7 @@ public class HttpGenerator int status=info.getStatus(); if (status>=100 && status<200 ) { - _noContent=true; + _noContentResponse=true; if (status!=HttpStatus.SWITCHING_PROTOCOLS_101 ) { @@ -392,7 +405,7 @@ public class HttpGenerator } else if (status==HttpStatus.NO_CONTENT_204 || status==HttpStatus.NOT_MODIFIED_304) { - _noContent=true; + _noContentResponse=true; } generateHeaders(info,header,content,last); @@ -407,10 +420,17 @@ public class HttpGenerator } _state = last?State.COMPLETING:State.COMMITTED; } + catch(BadMessageException e) + { + throw e; + } + catch(BufferOverflowException e) + { + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"Request header too large",e); + } catch(Exception e) { - String message= (e instanceof BufferOverflowException)?"Response header too large":e.getMessage(); - throw new BadMessageException(500,message,e); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,e.getMessage(),e); } finally { @@ -578,22 +598,29 @@ public class HttpGenerator } /* ------------------------------------------------------------ */ - private void generateHeaders(MetaData _info,ByteBuffer header,ByteBuffer content,boolean last) + private void generateHeaders(MetaData info,ByteBuffer header,ByteBuffer content,boolean last) { - final MetaData.Request request=(_info instanceof MetaData.Request)?(MetaData.Request)_info:null; - final MetaData.Response response=(_info instanceof MetaData.Response)?(MetaData.Response)_info:null; - + final MetaData.Request request=(info instanceof MetaData.Request)?(MetaData.Request)info:null; + final MetaData.Response response=(info instanceof MetaData.Response)?(MetaData.Response)info:null; + + if (LOG.isDebugEnabled()) + { + LOG.debug("generateHeaders {} last={} content={}",info,last,BufferUtil.toDetailString(content)); + LOG.debug(info.getFields().toString()); + } + // default field values int send=_send; HttpField transfer_encoding=null; - boolean keep_alive=false; - boolean close=false; - boolean content_type=false; - StringBuilder connection = null; - long content_length = _info.getContentLength(); + boolean http11 = info.getHttpVersion() == HttpVersion.HTTP_1_1; + boolean close = false; + boolean chunked = false; + boolean content_type = false; + long content_length = info.getContentLength(); + boolean content_length_field = false; // Generate fields - HttpFields fields = _info.getFields(); + HttpFields fields = info.getFields(); if (fields != null) { int n=fields.size(); @@ -611,11 +638,12 @@ public class HttpGenerator { switch (h) { - case CONTENT_LENGTH: - _endOfContent=EndOfContent.CONTENT_LENGTH; + case CONTENT_LENGTH: if (content_length<0) - content_length=Long.valueOf(field.getValue()); - // handle setting the field specially below + content_length = field.getLongValue(); + else if (content_length!=field.getLongValue()) + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,String.format("Incorrect Content-Length %d!=%d",content_length,field.getLongValue())); + content_length_field = true; break; case CONTENT_TYPE: @@ -628,81 +656,29 @@ public class HttpGenerator case TRANSFER_ENCODING: { - if (_info.getHttpVersion() == HttpVersion.HTTP_1_1) + if (http11) + { + // Don't add yet, treat this only as a hint that there is content + // with a preference to chunk if we can transfer_encoding = field; - // Do NOT add yet! + chunked = field.contains(HttpHeaderValue.CHUNKED.asString()); + } break; } case CONNECTION: { - if (request!=null) - putTo(field,header); - - // Lookup and/or split connection value field - HttpHeaderValue[] values = HttpHeaderValue.CLOSE.is(field.getValue())?CLOSE:new HttpHeaderValue[]{HttpHeaderValue.CACHE.get(field.getValue())}; - String[] split = null; - - if (values[0]==null) + putTo(field,header); + if (field.contains(HttpHeaderValue.CLOSE.asString())) { - split = StringUtil.csvSplit(field.getValue()); - if (split.length>0) - { - values=new HttpHeaderValue[split.length]; - for (int i=0;i0) + // We don't need to indicate a body length + _endOfContent=EndOfContent.NO_CONTENT; + + // But it is an error if there actually is content + if (_contentPrepared>0 || content_length>0) + { + if (_contentPrepared==0 && last) { - // we have been given a content length - _endOfContent=EndOfContent.CONTENT_LENGTH; - if ((response!=null || content_length>0 || content_type ) && !_noContent) - { - // known length but not actually set. - header.put(HttpHeader.CONTENT_LENGTH.getBytesColonSpace()); - BufferUtil.putDecLong(header, content_length); - header.put(HttpTokens.CRLF); - } - } - else if (last) - { - // we have seen all the _content there is, so we can be content-length limited. - _endOfContent=EndOfContent.CONTENT_LENGTH; - long actual_length = _contentPrepared+BufferUtil.length(content); - - if (content_length>=0 && content_length!=actual_length) - throw new BadMessageException(500,"Content-Length header("+content_length+") != actual("+actual_length+")"); - - // Do we need to tell the headers about it - putContentLength(header,actual_length,content_type,request,response); + // TODO discard content for backward compatibility with 9.3 releases + // TODO review if it is still needed in 9.4 or can we just throw. + content.clear(); + content_length=0; } else - { - // No idea, so we must assume that a body is coming. - _endOfContent = EndOfContent.CHUNKED_CONTENT; - // HTTP 1.0 does not understand chunked content, so we must use EOF content. - // For a request with HTTP 1.0 & Connection: keep-alive - // we *must* close the connection, otherwise the client - // has no way to detect the end of the content. - if (!isPersistent() || _info.getHttpVersion().ordinal() < HttpVersion.HTTP_1_1.ordinal()) - _endOfContent = EndOfContent.EOF_CONTENT; - } - break; - - case CONTENT_LENGTH: - { - putContentLength(header,content_length,content_type,request,response); - break; + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"Content for no content response"); } - - case NO_CONTENT: - throw new BadMessageException(500); - - case EOF_CONTENT: - _persistent = request!=null; - break; - - case CHUNKED_CONTENT: - break; - - default: - break; } - - // Add transfer_encoding if needed - if (isChunking()) + // Else if we are HTTP/1.1 and the content length is unknown and we are either persistent + // or it is a request with content (which cannot EOF) + else if (http11 && content_length<0 && (_persistent || assumed_content_request)) { + // we use chunking + _endOfContent = EndOfContent.CHUNKED_CONTENT; + chunked = true; + // try to use user supplied encoding as it may have other values. - if (transfer_encoding != null && !HttpHeaderValue.CHUNKED.toString().equalsIgnoreCase(transfer_encoding.getValue())) + if (transfer_encoding == null) + header.put(TRANSFER_ENCODING_CHUNKED); + else if (transfer_encoding.toString().endsWith(HttpHeaderValue.CHUNKED.toString())) { - String c = transfer_encoding.getValue(); - if (c.endsWith(HttpHeaderValue.CHUNKED.toString())) - putTo(transfer_encoding,header); - else - throw new BadMessageException(500,"BAD TE"); + putTo(transfer_encoding,header); + transfer_encoding = null; } else - header.put(TRANSFER_ENCODING_CHUNKED); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"BAD TE"); } - - // Handle connection if need be - if (_endOfContent==EndOfContent.EOF_CONTENT) + // Else if we known the content length and are a request or a persistent response, + else if (content_length>=0 && (request!=null || _persistent)) { - keep_alive=false; + // Use the content length + _endOfContent = EndOfContent.CONTENT_LENGTH; + putContentLength(header,content_length); + } + // Else if we are a response + else if (response!=null) + { + // We can use EOF + _endOfContent = EndOfContent.EOF_CONTENT; _persistent=false; + if (content_length>=0 && ( content_length> 0 || assumed_content || content_length_field )) + putContentLength(header,content_length); + + if (http11 && !close) + header.put(CONNECTION_CLOSE); } - - // If this is a response, work out persistence - if (response!=null) + // Else we must be a request + else { - if (!isPersistent() && (close || _info.getHttpVersion().ordinal() > HttpVersion.HTTP_1_0.ordinal())) - { - if (connection==null) - header.put(CONNECTION_CLOSE); - else - { - header.put(CONNECTION_CLOSE,0,CONNECTION_CLOSE.length-2); - header.put((byte)','); - header.put(StringUtil.getBytes(connection.toString())); - header.put(CRLF); - } - } - else if (keep_alive) - { - if (connection==null) - header.put(CONNECTION_KEEP_ALIVE); - else - { - header.put(CONNECTION_KEEP_ALIVE,0,CONNECTION_KEEP_ALIVE.length-2); - header.put((byte)','); - header.put(StringUtil.getBytes(connection.toString())); - header.put(CRLF); - } - } - else if (connection!=null) - { - header.put(HttpHeader.CONNECTION.getBytesColonSpace()); - header.put(StringUtil.getBytes(connection.toString())); - header.put(CRLF); - } + // with no way to indicate body length + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"Unknown content length for request"); } + if (LOG.isDebugEnabled()) + LOG.debug(_endOfContent.toString()); + + // Add transfer encoding if it is not chunking + if (transfer_encoding!=null && !chunked) + putTo(transfer_encoding,header); + + // Send server? + int status=response!=null?response.getStatus():-1; if (status>199) header.put(SEND[send]); // end the header. - header.put(HttpTokens.CRLF); + header.put(HttpTokens.CRLF); } /* ------------------------------------------------------------------------------- */ - private void putContentLength(ByteBuffer header, long contentLength, boolean contentType, MetaData.Request request, MetaData.Response response) + private static void putContentLength(ByteBuffer header,long contentLength) { - if (contentLength>0) + if (contentLength==0) + header.put(CONTENT_LENGTH_0); + else { header.put(HttpHeader.CONTENT_LENGTH.getBytesColonSpace()); BufferUtil.putDecLong(header, contentLength); header.put(HttpTokens.CRLF); } - else if (!_noContent) - { - if (contentType || response!=null || (request!=null && __assumedContentMethods.contains(request.getMethod()))) - header.put(CONTENT_LENGTH_0); - } } - + /* ------------------------------------------------------------------------------- */ public static byte[] getReasonBuffer(int code) { @@ -905,10 +826,8 @@ public class HttpGenerator // common _content private static final byte[] LAST_CHUNK = { (byte) '0', (byte) '\015', (byte) '\012', (byte) '\015', (byte) '\012'}; private static final byte[] CONTENT_LENGTH_0 = StringUtil.getBytes("Content-Length: 0\015\012"); - private static final byte[] CONNECTION_KEEP_ALIVE = StringUtil.getBytes("Connection: keep-alive\015\012"); private static final byte[] CONNECTION_CLOSE = StringUtil.getBytes("Connection: close\015\012"); private static final byte[] HTTP_1_1_SPACE = StringUtil.getBytes(HttpVersion.HTTP_1_1+" "); - private static final byte[] CRLF = StringUtil.getBytes("\015\012"); private static final byte[] TRANSFER_ENCODING_CHUNKED = StringUtil.getBytes("Transfer-Encoding: chunked\015\012"); private static final byte[][] SEND = new byte[][]{ new byte[0], diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java b/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java index d48ca9c39a2..498f253fa8d 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/MetaData.java @@ -225,8 +225,8 @@ public class MetaData implements Iterable public String toString() { HttpFields fields = getFields(); - return String.format("%s{u=%s,%s,h=%d}", - getMethod(), getURI(), getHttpVersion(), fields == null ? -1 : fields.size()); + return String.format("%s{u=%s,%s,h=%d,cl=%d}", + getMethod(), getURI(), getHttpVersion(), fields == null ? -1 : fields.size(), getContentLength()); } } @@ -300,7 +300,7 @@ public class MetaData implements Iterable public String toString() { HttpFields fields = getFields(); - return String.format("%s{s=%d,h=%d}", getHttpVersion(), getStatus(), fields == null ? -1 : fields.size()); + return String.format("%s{s=%d,h=%d,cl=%d}", getHttpVersion(), getStatus(), fields == null ? -1 : fields.size(), getContentLength()); } } } diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpGeneratorServerTest.java b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpGeneratorServerTest.java index 34b485fcf91..633ebbd76bf 100644 --- a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpGeneratorServerTest.java +++ b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpGeneratorServerTest.java @@ -19,6 +19,7 @@ package org.eclipse.jetty.http; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertEquals; @@ -27,6 +28,7 @@ import static org.junit.Assert.assertThat; import java.nio.ByteBuffer; import org.eclipse.jetty.util.BufferUtil; +import org.hamcrest.Matchers; import org.junit.Assert; import org.junit.Test; @@ -229,7 +231,7 @@ public class HttpGeneratorServerTest } @Test - public void testResponseNoContent() throws Exception + public void testResponseIncorrectContentLength() throws Exception { ByteBuffer header = BufferUtil.allocate(8096); @@ -239,7 +241,36 @@ public class HttpGeneratorServerTest assertEquals(HttpGenerator.Result.NEED_INFO, result); assertEquals(HttpGenerator.State.START, gen.getState()); - MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 200, null, new HttpFields(), -1); + MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 200, null, new HttpFields(), 10); + info.getFields().add("Last-Modified", DateGenerator.__01Jan1970); + info.getFields().add("Content-Length", "11"); + + result = gen.generateResponse(info, null, null, null, true); + assertEquals(HttpGenerator.Result.NEED_HEADER, result); + + try + { + gen.generateResponse(info, header, null, null, true); + Assert.fail(); + } + catch(BadMessageException e) + { + assertEquals(e._code,500); + } + } + + @Test + public void testResponseNoContentPersistent() throws Exception + { + ByteBuffer header = BufferUtil.allocate(8096); + + HttpGenerator gen = new HttpGenerator(); + + HttpGenerator.Result result = gen.generateResponse(null, null, null, null, true); + assertEquals(HttpGenerator.Result.NEED_INFO, result); + assertEquals(HttpGenerator.State.START, gen.getState()); + + MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 200, null, new HttpFields(), 0); info.getFields().add("Last-Modified", DateGenerator.__01Jan1970); result = gen.generateResponse(info, null, null, null, true); @@ -261,6 +292,40 @@ public class HttpGeneratorServerTest assertThat(head, containsString("Content-Length: 0")); } + @Test + public void testResponseKnownNoContentNotPersistent() throws Exception + { + ByteBuffer header = BufferUtil.allocate(8096); + + HttpGenerator gen = new HttpGenerator(); + + HttpGenerator.Result result = gen.generateResponse(null, null, null, null, true); + assertEquals(HttpGenerator.Result.NEED_INFO, result); + assertEquals(HttpGenerator.State.START, gen.getState()); + + MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 200, null, new HttpFields(), 0); + info.getFields().add("Last-Modified", DateGenerator.__01Jan1970); + info.getFields().add("Connection", "close"); + + result = gen.generateResponse(info, null, null, null, true); + assertEquals(HttpGenerator.Result.NEED_HEADER, result); + + result = gen.generateResponse(info, header, null, null, true); + assertEquals(HttpGenerator.Result.FLUSH, result); + assertEquals(HttpGenerator.State.COMPLETING, gen.getState()); + String head = BufferUtil.toString(header); + BufferUtil.clear(header); + + result = gen.generateResponse(null, null, null, null, false); + assertEquals(HttpGenerator.Result.SHUTDOWN_OUT, result); + assertEquals(HttpGenerator.State.END, gen.getState()); + + assertEquals(0, gen.getContentPrepared()); + assertThat(head, containsString("HTTP/1.1 200 OK")); + assertThat(head, containsString("Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT")); + assertThat(head, containsString("Connection: close")); + } + @Test public void testResponseUpgrade() throws Exception { @@ -344,19 +409,23 @@ public class HttpGeneratorServerTest assertEquals(HttpGenerator.Result.DONE, result); assertEquals(HttpGenerator.State.END, gen.getState()); + assertThat(out, containsString("HTTP/1.1 200 OK")); assertThat(out, containsString("Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT")); assertThat(out, not(containsString("Content-Length"))); assertThat(out, containsString("Transfer-Encoding: chunked")); - assertThat(out, containsString("\r\n\r\nD\r\n")); - assertThat(out, containsString("\r\nHello World! \r\n")); - assertThat(out, containsString("\r\n2E\r\n")); - assertThat(out, containsString("\r\nThe quick brown fox jumped over the lazy dog. \r\n")); - assertThat(out, containsString("\r\n0\r\n")); + + assertThat(out, endsWith( + "\r\n\r\nD\r\n"+ + "Hello World! \r\n"+ + "2E\r\n"+ + "The quick brown fox jumped over the lazy dog. \r\n"+ + "0\r\n"+ + "\r\n")); } @Test - public void testResponseWithKnownContent() throws Exception + public void testResponseWithKnownContentLengthFromMetaData() throws Exception { ByteBuffer header = BufferUtil.allocate(4096); ByteBuffer content0 = BufferUtil.toBuffer("Hello World! "); @@ -403,6 +472,58 @@ public class HttpGeneratorServerTest assertThat(out, containsString("\r\n\r\nHello World! The quick brown fox jumped over the lazy dog. ")); } + @Test + public void testResponseWithKnownContentLengthFromHeader() throws Exception + { + ByteBuffer header = BufferUtil.allocate(4096); + ByteBuffer content0 = BufferUtil.toBuffer("Hello World! "); + ByteBuffer content1 = BufferUtil.toBuffer("The quick brown fox jumped over the lazy dog. "); + HttpGenerator gen = new HttpGenerator(); + + HttpGenerator.Result result = gen.generateResponse(null, null, null, content0, false); + assertEquals(HttpGenerator.Result.NEED_INFO, result); + assertEquals(HttpGenerator.State.START, gen.getState()); + + MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 200, null, new HttpFields(), -1); + info.getFields().add("Last-Modified", DateGenerator.__01Jan1970); + info.getFields().add("Content-Length",""+(content0.remaining()+content1.remaining())); + result = gen.generateResponse(info, null, null, content0, false); + assertEquals(HttpGenerator.Result.NEED_HEADER, result); + assertEquals(HttpGenerator.State.START, gen.getState()); + + result = gen.generateResponse(info, header, null, content0, false); + assertEquals(HttpGenerator.Result.FLUSH, result); + assertEquals(HttpGenerator.State.COMMITTED, gen.getState()); + + String out = BufferUtil.toString(header); + BufferUtil.clear(header); + out += BufferUtil.toString(content0); + BufferUtil.clear(content0); + + result = gen.generateResponse(null, null, null, content1, false); + assertEquals(HttpGenerator.Result.FLUSH, result); + assertEquals(HttpGenerator.State.COMMITTED, gen.getState()); + out += BufferUtil.toString(content1); + BufferUtil.clear(content1); + + result = gen.generateResponse(null, null, null, null, true); + assertEquals(HttpGenerator.Result.CONTINUE, result); + assertEquals(HttpGenerator.State.COMPLETING, gen.getState()); + + result = gen.generateResponse(null, null, null, null, true); + assertEquals(HttpGenerator.Result.DONE, result); + assertEquals(HttpGenerator.State.END, gen.getState()); + + assertThat(out, containsString("HTTP/1.1 200 OK")); + assertThat(out, containsString("Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT")); + assertThat(out, not(containsString("chunked"))); + assertThat(out, containsString("Content-Length: 59")); + assertThat(out, containsString("\r\n\r\nHello World! The quick brown fox jumped over the lazy dog. ")); + } + + + + @Test public void test100ThenResponseWithContent() throws Exception { diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java index caf242b5024..ac24c16afa6 100644 --- a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java +++ b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java @@ -215,14 +215,20 @@ public class HttpTester ByteBuffer buffer = in.getBuffer(); - int len=0; - while(len>=0) + while(true) { if (BufferUtil.hasContent(buffer)) if (parser.parseNext(buffer)) break; - if (in.fillBuffer()<=0) + int len=in.fillBuffer(); + if (len==0) break; + if (len<=0) + { + parser.atEOF(); + parser.parseNext(buffer); + break; + } } if (r.isComplete()) diff --git a/jetty-http2/http2-alpn-tests/src/test/resources/jetty-logging.properties b/jetty-http2/http2-alpn-tests/src/test/resources/jetty-logging.properties index 29a0dfa4484..8faad6f931a 100644 --- a/jetty-http2/http2-alpn-tests/src/test/resources/jetty-logging.properties +++ b/jetty-http2/http2-alpn-tests/src/test/resources/jetty-logging.properties @@ -1,3 +1,3 @@ org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -org.eclipse.jetty.alpn.LEVEL=DEBUG -org.eclipse.jetty.http2.LEVEL=DEBUG +# org.eclipse.jetty.alpn.LEVEL=DEBUG +# org.eclipse.jetty.http2.LEVEL=DEBUG diff --git a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java index f94e091b5a4..c539b94cf14 100644 --- a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java +++ b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java @@ -257,8 +257,11 @@ public class ProxyServletFailureTest public void testProxyRequestStallsContentServerIdlesTimeout() throws Exception { final byte[] content = new byte[]{'C', '0', 'F', 'F', 'E', 'E'}; + int expected = -1; if (proxyServlet instanceof AsyncProxyServlet) { + // TODO should this be a 502 also??? + expected = 500; proxyServlet = new AsyncProxyServlet() { @Override @@ -281,6 +284,7 @@ public class ProxyServletFailureTest } else { + expected = 502; proxyServlet = new ProxyServlet() { @Override @@ -310,7 +314,7 @@ public class ProxyServletFailureTest .content(new BytesContentProvider(content)) .send(); - Assert.assertEquals(500, response.getStatus()); + Assert.assertEquals(expected, response.getStatus()); } } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncRequestReadTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncRequestReadTest.java index 820e7ebf0c2..a38a0806aeb 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncRequestReadTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncRequestReadTest.java @@ -255,12 +255,13 @@ public class AsyncRequestReadTest BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); assertThat(in.readLine(),containsString("HTTP/1.1 200 OK")); - assertThat(in.readLine(),containsString("Content-Length:")); + assertThat(in.readLine(),containsString("Content-Length: 11")); assertThat(in.readLine(),containsString("Server:")); in.readLine(); assertThat(in.readLine(),containsString("XXXXXXX")); assertThat(in.readLine(),containsString("HTTP/1.1 200 OK")); assertThat(in.readLine(),containsString("Connection: close")); + assertThat(in.readLine(),containsString("Content-Length: 11")); assertThat(in.readLine(),containsString("Server:")); in.readLine(); assertThat(in.readLine(),containsString("XXXXXXX")); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java index e74fa5f122b..89af28b26ea 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java @@ -266,6 +266,51 @@ public class HttpConnectionTest checkContains(response,offset,"/R1"); } + @Test + public void testEmptyNotPersistent() throws Exception + { + String response=connector.getResponse("GET /R1?empty=true HTTP/1.0\r\n"+ + "Host: localhost\r\n"+ + "\r\n"); + + int offset=0; + offset = checkContains(response,offset,"HTTP/1.1 200"); + checkNotContained(response,offset,"Content-Length"); + + response=connector.getResponse("GET /R1?empty=true HTTP/1.1\r\n"+ + "Host: localhost\r\n"+ + "Connection: close\r\n"+ + "\r\n"); + + offset=0; + offset = checkContains(response,offset,"HTTP/1.1 200"); + checkContains(response,offset,"Connection: close"); + checkNotContained(response,offset,"Content-Length"); + } + + @Test + public void testEmptyPersistent() throws Exception + { + String response=connector.getResponse("GET /R1?empty=true HTTP/1.0\r\n"+ + "Host: localhost\r\n"+ + "Connection: keep-alive\r\n"+ + "\r\n"); + + int offset=0; + offset = checkContains(response,offset,"HTTP/1.1 200"); + checkContains(response,offset,"Content-Length: 0"); + checkNotContained(response,offset,"Connection: close"); + + response=connector.getResponse("GET /R1?empty=true HTTP/1.1\r\n"+ + "Host: localhost\r\n"+ + "\r\n"); + + offset=0; + offset = checkContains(response,offset,"HTTP/1.1 200"); + checkContains(response,offset,"Content-Length: 0"); + checkNotContained(response,offset,"Connection: close"); + } + @Test public void testEmptyChunk() throws Exception { diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java index f4e9143b863..102380cd06a 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java @@ -132,7 +132,8 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest SimpleHttpResponse response = executeRequest(); assertThat("response code is 200", response.getCode(), is("200")); - assertHeader(response, "content-length", "0"); + if (HttpVersion.HTTP_1_1.asString().equals(httpVersion)) + assertHeader(response, "content-length", "0"); assertThat("no exceptions", handler.failure(), is(nullValue())); } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java index 5de23f6ff9e..bcd8b18aaea 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java @@ -102,7 +102,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest SimpleHttpResponse response = executeRequest(); assertThat("response code is 200", response.getCode(), is("200")); - assertHeader(response, "content-length", "0"); + + if (HttpVersion.HTTP_1_1.asString().equals(httpVersion)) + assertHeader(response, "content-length", "0"); } @Test diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java index 819354879f0..e1821365bfa 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpVersionCustomizerTest.java @@ -31,6 +31,8 @@ import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.toolchain.test.TestTracker; +import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; import org.hamcrest.Matchers; import org.junit.Assert; import org.junit.Rule; @@ -55,7 +57,10 @@ public class HttpVersionCustomizerTest public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); + response.setStatus(500); Assert.assertEquals(HttpVersion.HTTP_1_1.asString(), request.getProtocol()); + response.setStatus(200); + response.getWriter().println("OK"); } }); server.start(); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java index e1124120eb9..c147baed452 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java @@ -1096,7 +1096,8 @@ public class RequestTest 200, TimeUnit.MILLISECONDS ); assertThat(response, Matchers.containsString("200")); - assertThat(response, Matchers.containsString("Connection: TE,Other")); + assertThat(response, Matchers.containsString("Connection: TE")); + assertThat(response, Matchers.containsString("Connection: Other")); assertThat(response, Matchers.containsString("Hello World")); response=_connector.getResponse( diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SSLEngineTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SSLEngineTest.java index a010774b156..4c067eab440 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SSLEngineTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SSLEngineTest.java @@ -85,8 +85,18 @@ public class SSLEngineTest private static final String REQUEST1=REQUEST1_HEADER+REQUEST_CONTENT.getBytes().length+"\n\n"+REQUEST_CONTENT; /** The expected response. */ - private static final String RESPONSE0="HTTP/1.1 200 OK\n"+"Content-Length: "+HELLO_WORLD.length()+"\n"+"Server: Jetty("+JETTY_VERSION+")\n"+'\n'+HELLO_WORLD; - private static final String RESPONSE1="HTTP/1.1 200 OK\n"+"Connection: close\n"+"Server: Jetty("+JETTY_VERSION+")\n"+'\n'+HELLO_WORLD; + private static final String RESPONSE0="HTTP/1.1 200 OK\n"+ + "Content-Length: "+HELLO_WORLD.length()+"\n"+ + "Server: Jetty("+JETTY_VERSION+")\n"+ + '\n'+ + HELLO_WORLD; + + private static final String RESPONSE1="HTTP/1.1 200 OK\n"+ + "Connection: close\n"+ + "Content-Length: "+HELLO_WORLD.length()+"\n"+ + "Server: Jetty("+JETTY_VERSION+")\n"+ + '\n'+ + HELLO_WORLD; private static final int BODY_SIZE=300; diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextTest.java index 6b873349e41..c7aef90e5a5 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextTest.java @@ -34,7 +34,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; -import org.eclipse.jetty.http.HttpParser; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.HttpChannel; import org.eclipse.jetty.server.HttpConnectionFactory; @@ -169,9 +168,7 @@ public class AsyncContextTest BufferedReader br = new BufferedReader(new StringReader(responseString)); assertEquals("HTTP/1.1 500 Server Error", br.readLine()); - br.readLine();// connection close - br.readLine();// server - br.readLine();// empty + readHeader(br); Assert.assertEquals("ERROR: /error", br.readLine()); Assert.assertEquals("PathInfo= /IOE", br.readLine()); Assert.assertEquals("EXCEPTION: org.eclipse.jetty.server.QuietServletException: java.io.IOException: Test", br.readLine()); @@ -192,9 +189,7 @@ public class AsyncContextTest BufferedReader br = new BufferedReader(new StringReader(responseString)); assertEquals("HTTP/1.1 200 OK",br.readLine()); - br.readLine();// connection close - br.readLine();// server - br.readLine();// empty + readHeader(br); Assert.assertEquals("error servlet","completeBeforeThrow",br.readLine()); } @@ -273,10 +268,15 @@ public class AsyncContextTest @Test public void testDispatch() throws Exception { - String request = "GET /ctx/forward HTTP/1.1\r\n" + "Host: localhost\r\n" + "Content-Type: application/x-www-form-urlencoded\r\n" + "Connection: close\r\n" - + "\r\n"; + String request = + "GET /ctx/forward HTTP/1.1\r\n" + + "Host: localhost\r\n" + + "Content-Type: application/x-www-form-urlencoded\r\n" + + "Connection: close\r\n" + + "\r\n"; - String responseString = _connector.getResponses(request); + String responseString = _connector.getResponse(request); + System.err.println(responseString); BufferedReader br = parseHeader(responseString); assertThat("!ForwardingServlet", br.readLine(), equalTo("Dispatched back to ForwardingServlet")); } @@ -300,14 +300,17 @@ public class AsyncContextTest private BufferedReader parseHeader(String responseString) throws IOException { BufferedReader br = new BufferedReader(new StringReader(responseString)); - assertEquals("HTTP/1.1 200 OK", br.readLine()); - - br.readLine();// connection close - br.readLine();// server - br.readLine();// empty + readHeader(br); return br; } + + private void readHeader(BufferedReader br) throws IOException + { + String line = br.readLine(); + while (line!=null && !line.isEmpty()) + line = br.readLine(); + } private class ForwardingServlet extends HttpServlet { @@ -371,11 +374,7 @@ public class AsyncContextTest BufferedReader br = new BufferedReader(new StringReader(responseString)); assertEquals("HTTP/1.1 500 Server Error", br.readLine()); - - br.readLine();// connection close - br.readLine();// server - br.readLine();// empty - + readHeader(br); Assert.assertEquals("error servlet", "ERROR: /error", br.readLine()); } @@ -392,9 +391,7 @@ public class AsyncContextTest BufferedReader br = new BufferedReader(new StringReader(responseString)); assertEquals("HTTP/1.1 500 Server Error", br.readLine()); - br.readLine();// connection close - br.readLine();// server - br.readLine();// empty + readHeader(br); Assert.assertEquals("error servlet", "ERROR: /error", br.readLine()); Assert.assertEquals("error servlet", "PathInfo= /500", br.readLine()); diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java index 20696666ca8..7be6aff00f4 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java @@ -115,7 +115,6 @@ public class DefaultServletRangesTest "\r\n"); assertResponseContains("206 Partial", response); assertResponseContains("Content-Type: text/plain", response); - assertResponseContains("Content-Length: 10", response); assertResponseContains("Content-Range: bytes 0-9/80", response); assertResponseContains(DATA.substring(0,10), response); } @@ -133,7 +132,6 @@ public class DefaultServletRangesTest "\r\n"); assertResponseContains("206 Partial", response); assertResponseContains("Content-Type: text/plain", response); - assertResponseContains("Content-Length: 7", response); assertResponseContains("Content-Range: bytes 3-9/80", response); assertResponseContains(DATA.substring(3,10), response); } @@ -156,7 +154,6 @@ public class DefaultServletRangesTest assertResponseContains("Content-Range: bytes 0-9/80", response); assertResponseContains("Content-Range: bytes 20-29/80", response); assertResponseContains("Content-Range: bytes 40-49/80", response); - assertResponseContains("Content-Length: " + body.length(), response); assertResponseContains(DATA.substring(0,10), response); assertResponseContains(DATA.substring(20,30), response); assertResponseContains(DATA.substring(40,50), response); @@ -177,7 +174,6 @@ public class DefaultServletRangesTest assertResponseContains("206 Partial", response); assertResponseNotContains("Content-Type: multipart/byteranges; boundary=", response); assertResponseContains("Content-Range: bytes 20-79/80", response); - assertResponseContains("Content-Length: 60", response); assertResponseContains(DATA.substring(60), response); } @@ -194,7 +190,6 @@ public class DefaultServletRangesTest assertResponseContains("206 Partial", response); assertResponseNotContains("Content-Type: multipart/byteranges; boundary=", response); assertResponseContains("Content-Range: bytes 60-79/80", response); // yes the spec says it is these bytes - assertResponseContains("Content-Length: 20", response); assertResponseContains(DATA.substring(60), response); } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java index 830a0d8031a..90f09c9d271 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java @@ -591,18 +591,24 @@ public class DefaultServletTest response = connector.getResponse("GET /context/data.txt HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "Range: bytes=0-9\r\n" + "\r\n"); assertResponseContains("206 Partial", response); assertResponseContains("Content-Type: text/plain", response); assertResponseContains("Content-Length: 10", response); assertResponseContains("Content-Range: bytes 0-9/80", response); - + + response = connector.getResponse("GET /context/data.txt HTTP/1.1\r\n" + + "Host: localhost\r\n" + + "Range: bytes=0-9\r\n" + + "Connection: close\r\n" + + "\r\n"); + assertResponseContains("206 Partial", response); + assertResponseContains("Content-Type: text/plain", response); + assertResponseContains("Content-Range: bytes 0-9/80", response); response = connector.getResponse("GET /context/data.txt HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "Range: bytes=0-9,20-29,40-49\r\n" + "\r\n"); int start = response.indexOf("--jetty"); @@ -617,7 +623,6 @@ public class DefaultServletTest response = connector.getResponse("GET /context/data.txt HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "Range: bytes=0-9,20-29,40-49,70-79\r\n" + "\r\n"); start = response.indexOf("--jetty"); @@ -633,7 +638,6 @@ public class DefaultServletTest response = connector.getResponse("GET /context/data.txt HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "Range: bytes=0-9,20-29,40-49,60-60,70-79\r\n" + "\r\n"); start = response.indexOf("--jetty"); @@ -655,7 +659,6 @@ public class DefaultServletTest response = connector.getResponse("GET /context/nofilesuffix HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "\r\n"); assertResponseContains("200 OK", response); assertResponseContains("Accept-Ranges: bytes", response); @@ -664,7 +667,6 @@ public class DefaultServletTest response = connector.getResponse("GET /context/nofilesuffix HTTP/1.1\r\n" + "Host: localhost\r\n" + - "Connection: close\r\n"+ "Range: bytes=0-9\r\n" + "\r\n"); assertResponseContains("206 Partial", response); @@ -673,8 +675,7 @@ public class DefaultServletTest assertResponseContains("Content-Range: bytes 0-9/80", response); response = connector.getResponse("GET /context/nofilesuffix HTTP/1.1\r\n" + - "Host: localhost\r\n" + - "Connection: close\r\n"+ + "Host: localhost\r\n" + "Range: bytes=0-9,20-29,40-49\r\n" + "\r\n"); start = response.indexOf("--jetty"); @@ -687,11 +688,8 @@ public class DefaultServletTest assertResponseContains("Content-Length: " + body.length(), response); assertTrue(body.endsWith(boundary + "--\r\n")); - - response = connector.getResponse("GET /context/nofilesuffix HTTP/1.1\r\n" + - "Host: localhost\r\n" + - "Connection: close\r\n"+ + "Host: localhost\r\n" + "Range: bytes=0-9,20-29,40-49,60-60,70-79\r\n" + "\r\n"); start = response.indexOf("--jetty"); diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DispatcherTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DispatcherTest.java index d5214992c7a..6dfa30e160a 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DispatcherTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DispatcherTest.java @@ -165,7 +165,6 @@ public class DispatcherTest String expected= "HTTP/1.1 200 OK\r\n"+ - "Content-Length: 0\r\n"+ "\r\n"; String responses = _connector.getResponses("GET /context/IncludeServlet?do=assertinclude&do=more&test=1 HTTP/1.0\n\n"); @@ -182,7 +181,6 @@ public class DispatcherTest String expected= "HTTP/1.1 200 OK\r\n"+ - "Content-Length: 0\r\n"+ "\r\n"; String responses = _connector.getResponses("GET /context/ForwardServlet/forwardpath?do=include HTTP/1.0\n\n"); diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java index 0fe194b1175..7552ed83f78 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java @@ -1040,9 +1040,6 @@ public class MultipartFilterTest public void testWithCharSet() throws Exception { - ((StdErrLog)Log.getLogger(MultiPartFilter.class)).setDebugEnabled(true); - ((StdErrLog)Log.getLogger(MultiPartInputStreamParser.class)).setDebugEnabled(true); - // generated and parsed test HttpTester.Request request = HttpTester.newRequest(); HttpTester.Response response; From 7e903cfc6b5ac27799481ce35f774dc654a3e8d5 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 3 Nov 2016 11:40:21 +0100 Subject: [PATCH 072/109] Fixes #1064 - HttpClient sets chunked transfer-encoding. Replaced the hint that there is a body by setting the Content-Type header rather than the Transfer-Encoding header. --- .../eclipse/jetty/client/HttpConnection.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java index e5c8a308941..ac7125f9e08 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java @@ -122,14 +122,15 @@ public abstract class HttpConnection implements Connection // Add content headers if (content != null) { - if (content instanceof ContentProvider.Typed) + if (!headers.containsKey(HttpHeader.CONTENT_TYPE.asString())) { - if (!headers.containsKey(HttpHeader.CONTENT_TYPE.asString())) - { - String contentType = ((ContentProvider.Typed)content).getContentType(); - if (contentType != null) - headers.put(HttpHeader.CONTENT_TYPE, contentType); - } + String contentType = null; + if (content instanceof ContentProvider.Typed) + contentType = ((ContentProvider.Typed)content).getContentType(); + if (contentType != null) + headers.put(HttpHeader.CONTENT_TYPE, contentType); + else + headers.put(HttpHeader.CONTENT_TYPE, "application/octet-stream"); } long contentLength = content.getLength(); if (contentLength >= 0) @@ -137,11 +138,6 @@ public abstract class HttpConnection implements Connection if (!headers.containsKey(HttpHeader.CONTENT_LENGTH.asString())) headers.put(HttpHeader.CONTENT_LENGTH, String.valueOf(contentLength)); } - else - { - if (!headers.containsKey(HttpHeader.TRANSFER_ENCODING.asString())) - headers.put(CHUNKED_FIELD); - } } // Cookies From ca3af688096687c85ec80e3173380f7d1fe45117 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 3 Nov 2016 11:44:36 +0100 Subject: [PATCH 073/109] Code cleanup. Clarified with comments how the 2 execution strategies work in ManagedSelector. Fixed computation of the minimum number of threads in Server. --- .../org/eclipse/jetty/io/ManagedSelector.java | 183 +++++++++--------- .../java/org/eclipse/jetty/server/Server.java | 34 ++-- 2 files changed, 113 insertions(+), 104 deletions(-) diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java index c016b38d06e..ffeeaeccf28 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java @@ -34,6 +34,7 @@ import java.util.List; import java.util.Queue; import java.util.Set; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -69,86 +70,14 @@ public class ManagedSelector extends AbstractLifeCycle implements Dumpable private final ExecutionStrategy _lowPriorityStrategy; private Selector _selector; - private final Runnable _runStrategy = new Runnable() - { - @Override - public void run() - { - _strategy.produce(); - } - }; - - private final Runnable _runLowPriorityStrategy = new Runnable() - { - @Override - public void run() - { - Thread current = Thread.currentThread(); - String name = current.getName(); - int priority = current.getPriority(); - try - { - while (isRunning()) - { - try - { - current.setPriority(Thread.MIN_PRIORITY); - current.setName(name+"-lowPrioSelector"); - _lowPriorityStrategy.produce(); - } - catch (Throwable th) - { - LOG.warn(th); - } - } - } - finally - { - current.setPriority(priority); - current.setName(name); - } - } - }; - public ManagedSelector(SelectorManager selectorManager, int id) { _selectorManager = selectorManager; _id = id; SelectorProducer producer = new SelectorProducer(); - _strategy = new ExecuteProduceConsume(producer, selectorManager.getExecutor(), Invocable.InvocationType.BLOCKING); - _lowPriorityStrategy = new ProduceExecuteConsume(producer, selectorManager.getExecutor(), Invocable.InvocationType.BLOCKING) - { - @Override - protected boolean execute(Runnable task) - { - try - { - Invocable.InvocationType invocation=Invocable.getInvocationType(task); - if (LOG.isDebugEnabled()) - LOG.debug("Low Prio Selector execute {} {}",invocation,task); - switch (Invocable.getInvocationType(task)) - { - case NON_BLOCKING: - task.run(); - return true; - - case EITHER: - Invocable.invokeNonBlocking(task); - return true; - - default: - } - return super.execute(task); - } - finally - { - // Allow opportunity for main strategy to take over - Thread.yield(); - } - } - - - }; + Executor executor = selectorManager.getExecutor(); + _strategy = new ExecuteProduceConsume(producer, executor, Invocable.InvocationType.BLOCKING); + _lowPriorityStrategy = new LowPriorityProduceExecuteConsume(producer, executor); setStopTimeout(5000); } @@ -156,9 +85,38 @@ public class ManagedSelector extends AbstractLifeCycle implements Dumpable protected void doStart() throws Exception { super.doStart(); + _selector = _selectorManager.newSelector(); - _selectorManager.execute(_runStrategy); - _selectorManager.execute(_runLowPriorityStrategy); + + // The producer used by the strategies will never + // be idle (either produces a task or blocks). + + // The normal strategy obtains the produced task, schedules + // a new thread to produce more, runs the task and then exits. + _selectorManager.execute(_strategy::produce); + + // The low priority strategy knows the producer will never + // be idle, that tasks are scheduled to run in different + // threads, therefore lowPriorityProduce() never exits. + _selectorManager.execute(this::lowPriorityProduce); + } + + private void lowPriorityProduce() + { + Thread current = Thread.currentThread(); + String name = current.getName(); + int priority = current.getPriority(); + current.setPriority(Thread.MIN_PRIORITY); + current.setName(name+"-lowPrioritySelector"); + try + { + _lowPriorityStrategy.produce(); + } + finally + { + current.setPriority(priority); + current.setName(name); + } } public int size() @@ -227,28 +185,75 @@ public class ManagedSelector extends AbstractLifeCycle implements Dumpable void updateKey(); } + private static class LowPriorityProduceExecuteConsume extends ProduceExecuteConsume + { + private LowPriorityProduceExecuteConsume(SelectorProducer producer, Executor executor) + { + super(producer, executor, InvocationType.BLOCKING); + } + + @Override + protected boolean execute(Runnable task) + { + try + { + InvocationType invocation=Invocable.getInvocationType(task); + if (LOG.isDebugEnabled()) + LOG.debug("Low Priority Selector executing {} {}",invocation,task); + switch (invocation) + { + case NON_BLOCKING: + task.run(); + return true; + + case EITHER: + Invocable.invokeNonBlocking(task); + return true; + + default: + return super.execute(task); + } + } + finally + { + // Allow opportunity for main strategy to take over. + Thread.yield(); + } + } + } + private class SelectorProducer implements ExecutionStrategy.Producer { private Set _keys = Collections.emptySet(); private Iterator _cursor = Collections.emptyIterator(); @Override - public synchronized Runnable produce() + public Runnable produce() { - while (true) + // This method is called from both the + // normal and low priority strategies. + // Only one can produce at a time, so it's synchronized + // to enforce that only one strategy actually produces. + // When idle in select(), this method blocks; + // the other strategy's thread will be blocked + // waiting for this lock to be released. + synchronized (this) { - Runnable task = processSelected(); - if (task != null) - return task; + while (true) + { + Runnable task = processSelected(); + if (task != null) + return task; - Runnable action = nextAction(); - if (action != null) - return action; + Runnable action = nextAction(); + if (action != null) + return action; - update(); + update(); - if (!select()) - return null; + if (!select()) + return null; + } } } @@ -492,7 +497,7 @@ public class ManagedSelector extends AbstractLifeCycle implements Dumpable public void destroyEndPoint(final EndPoint endPoint) { final Connection connection = endPoint.getConnection(); - submit((Runnable)() -> + submit(() -> { if (LOG.isDebugEnabled()) LOG.debug("Destroyed {}", endPoint); diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java index ec78352bffd..c386e940099 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java @@ -378,8 +378,7 @@ public class Server extends HandlerWrapper implements Attributes HttpGenerator.setJettyVersion(HttpConfiguration.SERVER_VERSION); - - // check size of thread pool + // Check that the thread pool size is enough. SizedThreadPool pool = getBean(SizedThreadPool.class); int max=pool==null?-1:pool.getMaxThreads(); int selectors=0; @@ -387,24 +386,29 @@ public class Server extends HandlerWrapper implements Attributes for (Connector connector : _connectors) { - if (!(connector instanceof AbstractConnector)) - continue; + if (connector instanceof AbstractConnector) + { + AbstractConnector abstractConnector = (AbstractConnector)connector; + Executor connectorExecutor = connector.getExecutor(); - AbstractConnector abstractConnector = (AbstractConnector) connector; - Executor connectorExecutor = connector.getExecutor(); + if (connectorExecutor != pool) + { + // Do not count the selectors and acceptors from this connector at + // the server level, because the connector uses a dedicated executor. + continue; + } - if (connectorExecutor != pool) - // Do not count the selectors and acceptors from this connector at server level, because connector uses dedicated executor. - continue; - - acceptors += abstractConnector.getAcceptors(); - - if (connector instanceof ServerConnector) - selectors+=((ServerConnector)connector).getSelectorManager().getSelectorCount(); + acceptors += abstractConnector.getAcceptors(); + if (connector instanceof ServerConnector) + { + // The SelectorManager uses 2 threads for each selector, + // one for the normal and one for the low priority strategies. + selectors += 2 * ((ServerConnector)connector).getSelectorManager().getSelectorCount(); + } + } } - int needed=1+selectors+acceptors; if (max>0 && needed>max) throw new IllegalStateException(String.format("Insufficient threads: max=%d < needed(acceptors=%d + selectors=%d + request=1)",max,acceptors,selectors)); From fba901d1564e84cc7d2f49b3c60e0fc3b25ef934 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 3 Nov 2016 14:21:40 +0100 Subject: [PATCH 074/109] Issue #1064 - HttpClient sets chunked transfer-encoding. Fixed test assertion. --- .../org/eclipse/jetty/client/util/TypedContentProviderTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/util/TypedContentProviderTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/util/TypedContentProviderTest.java index 62781ccad4e..7d8b80232a4 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/util/TypedContentProviderTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/util/TypedContentProviderTest.java @@ -127,7 +127,7 @@ public class TypedContentProviderTest extends AbstractHttpClientServerTest { baseRequest.setHandled(true); Assert.assertEquals("GET", request.getMethod()); - Assert.assertNull(request.getContentType()); + Assert.assertNotNull(request.getContentType()); Assert.assertEquals(content, IO.toString(request.getInputStream())); } }); From 5395cfd0212bdd099e95676f6b4c376126be26f4 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Fri, 4 Nov 2016 08:29:49 +1100 Subject: [PATCH 075/109] Issue#1066 Simplify HttpGeneration HTTP requests cannot be close limited --- .../eclipse/jetty/client/HttpClientTest.java | 23 +++++++++++++++++-- .../test/resources/jetty-logging.properties | 3 ++- .../org/eclipse/jetty/http/HttpGenerator.java | 4 ++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java index f55802177e8..89bdb8dea9d 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java @@ -18,6 +18,8 @@ package org.eclipse.jetty.client; +import static org.junit.Assert.assertThat; + import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -71,6 +73,7 @@ import org.eclipse.jetty.client.util.BytesContentProvider; import org.eclipse.jetty.client.util.DeferredContentProvider; import org.eclipse.jetty.client.util.FutureResponseListener; import org.eclipse.jetty.client.util.StringContentProvider; +import org.eclipse.jetty.http.BadMessageException; import org.eclipse.jetty.http.HttpField; import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpHeaderValue; @@ -1289,13 +1292,29 @@ public class HttpClientTest extends AbstractHttpClientServerTest @Test public void testSmallContentDelimitedByEOFWithSlowRequestHTTP10() throws Exception { - testContentDelimitedByEOFWithSlowRequest(HttpVersion.HTTP_1_0, 1024); + try + { + testContentDelimitedByEOFWithSlowRequest(HttpVersion.HTTP_1_0, 1024); + } + catch(ExecutionException e) + { + assertThat(e.getCause(), Matchers.instanceOf(BadMessageException.class)); + assertThat(e.getCause().getMessage(), Matchers.containsString("Unknown content")); + } } @Test public void testBigContentDelimitedByEOFWithSlowRequestHTTP10() throws Exception { - testContentDelimitedByEOFWithSlowRequest(HttpVersion.HTTP_1_0, 128 * 1024); + try + { + testContentDelimitedByEOFWithSlowRequest(HttpVersion.HTTP_1_0, 128 * 1024); + } + catch(ExecutionException e) + { + assertThat(e.getCause(), Matchers.instanceOf(BadMessageException.class)); + assertThat(e.getCause().getMessage(), Matchers.containsString("Unknown content")); + } } @Test diff --git a/jetty-client/src/test/resources/jetty-logging.properties b/jetty-client/src/test/resources/jetty-logging.properties index 5f8794e83fa..f4e252e1713 100644 --- a/jetty-client/src/test/resources/jetty-logging.properties +++ b/jetty-client/src/test/resources/jetty-logging.properties @@ -1,4 +1,5 @@ org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog #org.eclipse.jetty.LEVEL=DEBUG #org.eclipse.jetty.client.LEVEL=DEBUG -#org.eclipse.jetty.io.ChannelEndPoint.LEVEL=DEBUG \ No newline at end of file +#org.eclipse.jetty.io.ChannelEndPoint.LEVEL=DEBUG +org.eclipse.jetty.http.LEVEL=DEBUG \ No newline at end of file diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java index 65567caae28..0961ca8fe02 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java @@ -744,7 +744,7 @@ public class HttpGenerator transfer_encoding = null; } else - throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"BAD TE"); + throw new BadMessageException(INTERNAL_SERVER_ERROR_500,"Bad Transfer-Encoding"); } // Else if we known the content length and are a request or a persistent response, else if (content_length>=0 && (request!=null || _persistent)) @@ -756,7 +756,7 @@ public class HttpGenerator // Else if we are a response else if (response!=null) { - // We can use EOF + // We must use EOF - even if we were trying to be persistent _endOfContent = EndOfContent.EOF_CONTENT; _persistent=false; if (content_length>=0 && ( content_length> 0 || assumed_content || content_length_field )) From f79d7cfe20fb1901f13fea4c60262b149f3a9893 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 4 Nov 2016 10:49:28 +1100 Subject: [PATCH 076/109] Issue #1070 --- .../org/eclipse/jetty/server/session/Session.java | 3 +-- .../eclipse/jetty/server/session/SessionData.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java index 959a39ba931..e885c7bdada 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java @@ -232,8 +232,7 @@ public class Session implements SessionHandler.SessionIf long lastAccessed = _sessionData.getAccessed(); _sessionData.setAccessed(time); _sessionData.setLastAccessed(lastAccessed); - int maxInterval=getMaxInactiveInterval(); - _sessionData.setExpiry(maxInterval <= 0 ? 0 : (time + maxInterval*1000L)); + _sessionData.calcAndSetExpiry(time); if (isExpiredAt(time)) { invalidate(); diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionData.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionData.java index 6ee6e96e42f..ef385042af5 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionData.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionData.java @@ -251,6 +251,16 @@ public class SessionData implements Serializable return (getMaxInactiveMs() <= 0 ? 0 : (System.currentTimeMillis() + getMaxInactiveMs())); } + public long calcExpiry (long time) + { + return (getMaxInactiveMs() <= 0 ? 0 : (time + getMaxInactiveMs())); + } + + public void calcAndSetExpiry (long time) + { + setExpiry(calcExpiry(time)); + } + public void calcAndSetExpiry () { setExpiry(calcExpiry()); @@ -351,8 +361,8 @@ public class SessionData implements Serializable public boolean isExpiredAt (long time) { if (LOG.isDebugEnabled()) - LOG.debug("Testing expiry on session {}: expires at {} now {}", _id, getExpiry(), time); - if (getExpiry() <= 0) + LOG.debug("Testing expiry on session {}: expires at {} now {} maxIdle {}", _id, getExpiry(), time, getMaxInactiveMs()); + if (getMaxInactiveMs() <= 0) return false; //never expires return (getExpiry() <= time); } From 15e2259885f40396ce5007db453ab427e71cd107 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Fri, 4 Nov 2016 11:44:15 +1100 Subject: [PATCH 077/109] Issue #1071 --- .../src/main/java/org/eclipse/jetty/server/session/Session.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java index e885c7bdada..83e12a2d51b 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/Session.java @@ -169,6 +169,7 @@ public class Session implements SessionHandler.SessionIf _handler = handler; _sessionData = data; _newSession = true; + _sessionData.setDirty(true); _requests = 1; //access will not be called on this new session, but we are obviously in a request } From 34d0aa3ab83923f234908f335cdcabfc75b59ba9 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 4 Nov 2016 08:54:20 +0100 Subject: [PATCH 078/109] Fixed test to correctly count minimum required server threads. --- .../jetty/server/InsufficientThreadsDetectionTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java index f54f7093ebd..e95356b03a6 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java @@ -69,14 +69,14 @@ public class InsufficientThreadsDetectionTest { @Test // Github issue #586 public void testCaseForMultipleConnectors() throws Exception { - // server has 3 threads in the executor - _server = new Server(new QueuedThreadPool(3)); + // server has 4 threads in the executor + _server = new Server(new QueuedThreadPool(4)); - // first connector consumes all 3 threads from server pool + // first connector consumes all 4 threads from server pool _server.addConnector(new ServerConnector(_server, null, null, null, 1, 1, new HttpConnectionFactory())); - // second connect also require 3 threads but uses own executor, so its threads should not be counted - final QueuedThreadPool connectorPool = new QueuedThreadPool(3, 3); + // second connect also require 4 threads but uses own executor, so its threads should not be counted + final QueuedThreadPool connectorPool = new QueuedThreadPool(4, 4); _server.addConnector(new ServerConnector(_server, connectorPool, null, null, 1, 1, new HttpConnectionFactory())); // should not throw exception because limit was not overflown From d18b900b75139ccc219e03f99eb4daa9c9570911 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 4 Nov 2016 09:53:22 +0100 Subject: [PATCH 079/109] Fixes #1069 - Host header should be sent with HTTP/1.0. --- .../eclipse/jetty/client/HttpConnection.java | 2 +- .../eclipse/jetty/client/HttpClientTest.java | 25 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java index ac7125f9e08..b2b537fbef4 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java @@ -113,7 +113,7 @@ public abstract class HttpConnection implements Connection } // If we are HTTP 1.1, add the Host header - if (version.getVersion() == 11) + if (version.getVersion() <= 11) { if (!headers.containsKey(HttpHeader.HOST.asString())) headers.put(getHttpDestination().getHostField()); diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java index 2320b81256e..c0041a2d652 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java @@ -1562,8 +1562,7 @@ public class HttpClientTest extends AbstractHttpClientServerTest } @Test - public void testCopyRequest() - throws Exception + public void testCopyRequest() throws Exception { startClient(); @@ -1610,6 +1609,28 @@ public class HttpClientTest extends AbstractHttpClientServerTest .header("X-Custom-Header-2", "value")); } + @Test + public void testHostWithHTTP10() throws Exception + { + start(new AbstractHandler() + { + @Override + public void handle(String target, org.eclipse.jetty.server.Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + Assert.assertThat(request.getHeader("Host"), Matchers.notNullValue()); + } + }); + + ContentResponse response = client.newRequest("localhost", connector.getLocalPort()) + .scheme(scheme) + .version(HttpVersion.HTTP_1_0) + .timeout(5, TimeUnit.SECONDS) + .send(); + + Assert.assertEquals(200, response.getStatus()); + } + private void assertCopyRequest(Request original) { Request copy = client.copyRequest((HttpRequest) original, original.getURI()); From 846d560b44abafc5defbf79f58521d7ce532797b Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 4 Nov 2016 12:09:44 +0100 Subject: [PATCH 080/109] Fixes #905 - Jetty terminates SSL connections too early with Connection: close. Requests with "Connection: close" are now closed only after the request/response exchange has been terminated. --- .../client/http/HttpChannelOverHTTP.java | 4 +- .../jetty/client/http/HttpSenderOverHTTP.java | 8 +- .../client/ClientConnectionCloseTest.java | 229 ++++++++++++++---- 3 files changed, 192 insertions(+), 49 deletions(-) diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java index cdbf1fad239..a2ce655af4a 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java @@ -103,6 +103,8 @@ public class HttpChannelOverHTTP extends HttpChannel closeReason = "failure"; else if (receiver.isShutdown()) closeReason = "server close"; + else if (sender.isShutdown()) + closeReason = "client close"; if (closeReason == null) { @@ -117,7 +119,7 @@ public class HttpChannelOverHTTP extends HttpChannel } else { - // HTTP 1.1 or greater closes only if it has an explicit close. + // HTTP 1.1 closes only if it has an explicit close. if (responseHeaders.contains(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString())) closeReason = "http/1.1"; } diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java index c16b8162c04..1e06e6b9058 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java @@ -38,6 +38,7 @@ import org.eclipse.jetty.util.IteratingCallback; public class HttpSenderOverHTTP extends HttpSender { private final HttpGenerator generator = new HttpGenerator(); + private boolean shutdown; public HttpSenderOverHTTP(HttpChannelOverHTTP channel) { @@ -149,7 +150,12 @@ public class HttpSenderOverHTTP extends HttpSender { if (LOG.isDebugEnabled()) LOG.debug("Request shutdown output {}", getHttpExchange().getRequest()); - getHttpChannel().getHttpConnection().getEndPoint().shutdownOutput(); + shutdown = true; + } + + protected boolean isShutdown() + { + return shutdown; } @Override diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java index ff7eb33b8c3..cc7f3db4735 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java @@ -19,26 +19,26 @@ package org.eclipse.jetty.client; import java.io.IOException; +import java.io.InterruptedIOException; import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.eclipse.jetty.client.api.ContentProvider; import org.eclipse.jetty.client.api.ContentResponse; +import org.eclipse.jetty.client.http.HttpConnectionOverHTTP; +import org.eclipse.jetty.client.http.HttpDestinationOverHTTP; import org.eclipse.jetty.client.util.DeferredContentProvider; import org.eclipse.jetty.client.util.StringContentProvider; import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpHeaderValue; import org.eclipse.jetty.http.HttpStatus; -import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; -import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.Assert; import org.junit.Test; @@ -51,43 +51,16 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest } @Test - public void testClientConnectionCloseShutdownOutputWithoutRequestContent() throws Exception + public void test_ClientConnectionClose_ServerConnectionClose_ClientClosesAfterExchange() throws Exception { - testClientConnectionCloseShutdownOutput(null); - } - - @Test - public void testClientConnectionCloseShutdownOutputWithRequestContent() throws Exception - { - testClientConnectionCloseShutdownOutput(new StringContentProvider("data", StandardCharsets.UTF_8)); - } - - @Test - public void testClientConnectionCloseShutdownOutputWithChunkedRequestContent() throws Exception - { - DeferredContentProvider content = new DeferredContentProvider() - { - @Override - public long getLength() - { - return -1; - } - }; - content.offer(ByteBuffer.wrap("data".getBytes(StandardCharsets.UTF_8))); - content.close(); - testClientConnectionCloseShutdownOutput(content); - } - - private void testClientConnectionCloseShutdownOutput(ContentProvider content) throws Exception - { - AtomicReference ref = new AtomicReference<>(); + byte[] data = new byte[128 * 1024]; start(new AbstractHandler() { @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); - ref.set(baseRequest.getHttpChannel().getEndPoint()); + ServletInputStream input = request.getInputStream(); while (true) { @@ -95,28 +68,190 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest if (read < 0) break; } - response.setStatus(HttpStatus.OK_200); + + response.setContentLength(data.length); + response.getOutputStream().write(data); + + try + { + // Delay the server from sending the TCP FIN. + Thread.sleep(1000); + } + catch (InterruptedException x) + { + throw new InterruptedIOException(); + } } }); - ContentResponse response = client.newRequest("localhost", connector.getLocalPort()) + String host = "localhost"; + int port = connector.getLocalPort(); + + HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); + DuplexConnectionPool connectionPool = destination.getConnectionPool(); + + ContentResponse response = client.newRequest(host, port) .scheme(scheme) - .path("/ctx/path") .header(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()) - .content(content) + .content(new StringContentProvider("0")) + .onRequestSuccess(request -> + { + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); + }) .send(); Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + Assert.assertArrayEquals(data, response.getContent()); + Assert.assertEquals(0, connectionPool.getConnectionCount()); + } - // Wait for the FIN to arrive to the server - Thread.sleep(1000); + @Test + public void test_ClientConnectionClose_ServerDoesNotRespond_ClientIdleTimeout() throws Exception + { + start(new AbstractHandler() + { + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + request.startAsync(); + // Do not respond. + } + }); - // Do not read from the server because it will trigger - // the send of the TLS Close Message before the response. + String host = "localhost"; + int port = connector.getLocalPort(); - EndPoint serverEndPoint = ref.get(); - ByteBuffer buffer = BufferUtil.allocate(1); - int read = serverEndPoint.fill(buffer); - Assert.assertEquals(-1, read); + HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); + DuplexConnectionPool connectionPool = destination.getConnectionPool(); + + CountDownLatch resultLatch = new CountDownLatch(1); + long idleTimeout = 1000; + client.newRequest(host, port) + .scheme(scheme) + .header(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()) + .idleTimeout(idleTimeout, TimeUnit.MILLISECONDS) + .onRequestSuccess(request -> + { + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); + }) + .send(result -> + { + if (result.isFailed()) + resultLatch.countDown(); + }); + + Assert.assertTrue(resultLatch.await(2 * idleTimeout, TimeUnit.MILLISECONDS)); + Assert.assertEquals(0, connectionPool.getConnectionCount()); + } + + @Test + public void test_ClientConnectionClose_ServerPartialResponse_ClientIdleTimeout() throws Exception + { + long idleTimeout = 1000; + start(new AbstractHandler() + { + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + + ServletInputStream input = request.getInputStream(); + while (true) + { + int read = input.read(); + if (read < 0) + break; + } + + response.getOutputStream().print("Hello"); + response.flushBuffer(); + + try + { + Thread.sleep(2 * idleTimeout); + } + catch (InterruptedException x) + { + throw new InterruptedIOException(); + } + } + }); + + String host = "localhost"; + int port = connector.getLocalPort(); + + HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); + DuplexConnectionPool connectionPool = destination.getConnectionPool(); + + DeferredContentProvider content = new DeferredContentProvider(ByteBuffer.allocate(8)); + CountDownLatch resultLatch = new CountDownLatch(1); + client.newRequest(host, port) + .scheme(scheme) + .header(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()) + .content(content) + .idleTimeout(idleTimeout, TimeUnit.MILLISECONDS) + .onRequestSuccess(request -> + { + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); + }) + .send(result -> + { + if (result.isFailed()) + resultLatch.countDown(); + }); + content.offer(ByteBuffer.allocate(8)); + content.close(); + + Assert.assertTrue(resultLatch.await(2 * idleTimeout, TimeUnit.MILLISECONDS)); + Assert.assertEquals(0, connectionPool.getConnectionCount()); + } + + @Test + public void test_ClientConnectionClose_ServerNoConnectionClose_ClientCloses() throws Exception + { + start(new AbstractHandler() + { + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + response.setContentLength(0); + response.flushBuffer(); + + try + { + // Delay the server from sending the TCP FIN. + Thread.sleep(1000); + } + catch (InterruptedException x) + { + throw new InterruptedIOException(); + } + } + }); + + String host = "localhost"; + int port = connector.getLocalPort(); + + HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); + DuplexConnectionPool connectionPool = destination.getConnectionPool(); + + ContentResponse response = client.newRequest(host, port) + .scheme(scheme) + .header(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()) + .onRequestSuccess(request -> + { + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); + }) + .onResponseHeaders(r -> r.getHeaders().remove(HttpHeader.CONNECTION)) + .send(); + + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + Assert.assertEquals(0, connectionPool.getConnectionCount()); } } From a51f77c390fb9f0fb260dbf3890b571e8705071d Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 4 Nov 2016 12:19:48 +0100 Subject: [PATCH 081/109] Fixed compilation failure. --- .../jetty/client/ClientConnectionCloseTest.java | 16 ++++++++-------- .../src/test/resources/jetty-logging.properties | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java index cc7f3db4735..c3bb9dd0968 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/ClientConnectionCloseTest.java @@ -88,7 +88,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest int port = connector.getLocalPort(); HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); - DuplexConnectionPool connectionPool = destination.getConnectionPool(); + DuplexConnectionPool connectionPool = (DuplexConnectionPool)destination.getConnectionPool(); ContentResponse response = client.newRequest(host, port) .scheme(scheme) @@ -96,7 +96,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest .content(new StringContentProvider("0")) .onRequestSuccess(request -> { - HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().iterator().next(); Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); }) .send(); @@ -124,7 +124,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest int port = connector.getLocalPort(); HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); - DuplexConnectionPool connectionPool = destination.getConnectionPool(); + DuplexConnectionPool connectionPool = (DuplexConnectionPool)destination.getConnectionPool(); CountDownLatch resultLatch = new CountDownLatch(1); long idleTimeout = 1000; @@ -134,7 +134,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest .idleTimeout(idleTimeout, TimeUnit.MILLISECONDS) .onRequestSuccess(request -> { - HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().iterator().next(); Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); }) .send(result -> @@ -184,7 +184,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest int port = connector.getLocalPort(); HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); - DuplexConnectionPool connectionPool = destination.getConnectionPool(); + DuplexConnectionPool connectionPool = (DuplexConnectionPool)destination.getConnectionPool(); DeferredContentProvider content = new DeferredContentProvider(ByteBuffer.allocate(8)); CountDownLatch resultLatch = new CountDownLatch(1); @@ -195,7 +195,7 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest .idleTimeout(idleTimeout, TimeUnit.MILLISECONDS) .onRequestSuccess(request -> { - HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().iterator().next(); Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); }) .send(result -> @@ -238,14 +238,14 @@ public class ClientConnectionCloseTest extends AbstractHttpClientServerTest int port = connector.getLocalPort(); HttpDestinationOverHTTP destination = (HttpDestinationOverHTTP)client.getDestination(scheme, host, port); - DuplexConnectionPool connectionPool = destination.getConnectionPool(); + DuplexConnectionPool connectionPool = (DuplexConnectionPool)destination.getConnectionPool(); ContentResponse response = client.newRequest(host, port) .scheme(scheme) .header(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.asString()) .onRequestSuccess(request -> { - HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().peek(); + HttpConnectionOverHTTP connection = (HttpConnectionOverHTTP)connectionPool.getActiveConnections().iterator().next(); Assert.assertFalse(connection.getEndPoint().isOutputShutdown()); }) .onResponseHeaders(r -> r.getHeaders().remove(HttpHeader.CONNECTION)) diff --git a/jetty-client/src/test/resources/jetty-logging.properties b/jetty-client/src/test/resources/jetty-logging.properties index f4e252e1713..a2296dfdf69 100644 --- a/jetty-client/src/test/resources/jetty-logging.properties +++ b/jetty-client/src/test/resources/jetty-logging.properties @@ -2,4 +2,4 @@ org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog #org.eclipse.jetty.LEVEL=DEBUG #org.eclipse.jetty.client.LEVEL=DEBUG #org.eclipse.jetty.io.ChannelEndPoint.LEVEL=DEBUG -org.eclipse.jetty.http.LEVEL=DEBUG \ No newline at end of file +#org.eclipse.jetty.http.LEVEL=DEBUG From bc679691357de39bb0713fd1e1ebe6a9b0260c98 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 4 Nov 2016 10:24:06 -0700 Subject: [PATCH 082/109] Fixes #1054 - NPE in Jetty WebSocketListener on PING frame with empty payload --- .../websocket/common/frames/ControlFrame.java | 11 +++++ .../common/events/EventDriverTest.java | 46 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ControlFrame.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ControlFrame.java index ccd731ee5fa..73e51a1b06c 100644 --- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ControlFrame.java +++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ControlFrame.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.websocket.common.frames; import java.nio.ByteBuffer; import java.util.Arrays; +import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.websocket.api.ProtocolException; import org.eclipse.jetty.websocket.common.WebSocketFrame; @@ -128,4 +129,14 @@ public abstract class ControlFrame extends WebSocketFrame } return super.setPayload(buf); } + + @Override + public ByteBuffer getPayload() + { + if (super.getPayload() == null) + { + return BufferUtil.EMPTY_BUFFER; + } + return super.getPayload(); + } } diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java index 9df0fbb24c0..199fad5fac0 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java @@ -28,6 +28,7 @@ import org.eclipse.jetty.websocket.api.extensions.Frame; import org.eclipse.jetty.websocket.common.CloseInfo; import org.eclipse.jetty.websocket.common.frames.BinaryFrame; import org.eclipse.jetty.websocket.common.frames.PingFrame; +import org.eclipse.jetty.websocket.common.frames.PongFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.io.CloseableLocalWebSocketSession; import org.eclipse.jetty.websocket.common.io.LocalWebSocketSession; @@ -45,6 +46,7 @@ import examples.AnnotatedBinaryStreamSocket; import examples.AnnotatedFramesSocket; import examples.AnnotatedTextSocket; import examples.ListenerBasicSocket; +import examples.ListenerPingPongSocket; public class EventDriverTest { @@ -185,6 +187,50 @@ public class EventDriverTest } } + @Test + public void testListenerPingPong() throws Exception + { + ListenerPingPongSocket socket = new ListenerPingPongSocket(); + EventDriver driver = wrap(socket); + + try (LocalWebSocketSession conn = new CloseableLocalWebSocketSession(container,testname,driver)) + { + conn.start(); + conn.open(); + driver.incomingFrame(new PingFrame().setPayload("PING")); + driver.incomingFrame(new PongFrame().setPayload("PONG")); + driver.incomingFrame(new CloseInfo(StatusCode.NORMAL).asFrame()); + + socket.capture.assertEventCount(4); + socket.capture.pop().assertEventStartsWith("onWebSocketConnect"); + socket.capture.pop().assertEventStartsWith("onWebSocketPing("); + socket.capture.pop().assertEventStartsWith("onWebSocketPong("); + socket.capture.pop().assertEventStartsWith("onWebSocketClose(1000,"); + } + } + + @Test + public void testListenerEmptyPingPong() throws Exception + { + ListenerPingPongSocket socket = new ListenerPingPongSocket(); + EventDriver driver = wrap(socket); + + try (LocalWebSocketSession conn = new CloseableLocalWebSocketSession(container,testname,driver)) + { + conn.start(); + conn.open(); + driver.incomingFrame(new PingFrame()); + driver.incomingFrame(new PongFrame()); + driver.incomingFrame(new CloseInfo(StatusCode.NORMAL).asFrame()); + + socket.capture.assertEventCount(4); + socket.capture.pop().assertEventStartsWith("onWebSocketConnect"); + socket.capture.pop().assertEventStartsWith("onWebSocketPing("); + socket.capture.pop().assertEventStartsWith("onWebSocketPong("); + socket.capture.pop().assertEventStartsWith("onWebSocketClose(1000,"); + } + } + private EventDriver wrap(Object websocket) { WebSocketPolicy policy = WebSocketPolicy.newServerPolicy(); From 6d845d37b93b0f1b7f2e1dbcbb1dbc1fcce15437 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Sat, 5 Nov 2016 11:52:21 +1100 Subject: [PATCH 083/109] Issue #586 Ignoring failing test and reopened issue --- .../eclipse/jetty/server/InsufficientThreadsDetectionTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java index e95356b03a6..ade942a2d9d 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.server; import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.ThreadPool; import org.junit.After; +import org.junit.Ignore; import org.junit.Test; public class InsufficientThreadsDetectionTest { @@ -68,6 +69,7 @@ public class InsufficientThreadsDetectionTest { } @Test // Github issue #586 + @Ignore // TODO test failing??? public void testCaseForMultipleConnectors() throws Exception { // server has 4 threads in the executor _server = new Server(new QueuedThreadPool(4)); From fcab745e77f241f263bc640b6aaccb0c0c5229da Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Sat, 5 Nov 2016 11:58:49 +1100 Subject: [PATCH 084/109] Doc on upgrading 9.3 to 9.4 --- .../upgrading/upgrading-9.3-to-9.4.adoc | 80 ++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc index 69c095ae576..2f4d130a14c 100644 --- a/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc +++ b/jetty-documentation/src/main/asciidoc/reference/upgrading/upgrading-9.3-to-9.4.adoc @@ -95,7 +95,7 @@ Users now configure session management by selecting a composition of session mod ====== Change Overview SessionIdManager:: Previously there was a different class of SessionIdManager - with different configuration options - depending upon which type of clustering technology chosen. -In Jetty 9.4, there is only one type, the link:{JDURL}/org/eclipse/jetty/server/session/DefaultSessionIdManager.html[org.eclipse.jetty.server.session.DfeaultSessionIdManager]. +In Jetty 9.4, there is only one type, the link:{JDURL}/org/eclipse/jetty/server/session/DefaultSessionIdManager.html[org.eclipse.jetty.server.session.DefaultSessionIdManager]. SessionManager:: Previously, there was a different class of SessionManager depending upon which the type of clustering technology chosen. In Jetty 9.4 we have removed the SessionManager class and split its functionality into different, more easily extensible and composable classes: @@ -139,18 +139,51 @@ Session objects remain in the cache until they expire or are explicitly invalida If you wish to configure the default setup further, enable the `session-cache-default` module. +Compatibility + +As Session objects do not persist beyond a server restart, there are no compatibility issues. + ====== Filesystem In earlier versions of Jetty, persisting sessions to the local filesystem was an option of the "hash" session manager. In Jetty 9.4 this has been refactored to its own configurable module `session-store-file`. +Compatibility + +Sessions stored to files by earlier versions of jetty are not compatible with jetty-9.4 sessions. +Here is a comparison of file formats, note that the file contents are listed in order of file output: + +[cols="1,1", options="header"] +|=== +| 9.3 | 9.4 +| File name: sessionid | File name: expirytime_contextpath_vhost_sessionid +| sessionid (utf) | sessionid (utf) +| | contextpath (uft) +| | vhost (utf) +| nodeid (utf) | lastnode (utlf) +| createtime (long) | createtime (long) +| accessed (long) | accessed (long) +| | lastaccessed (long) +| | cookiesettime (long) +| | expiry (long) +| requests (int) | +| | maxInactive (long) +| attributes size (int) | attributes size (int) +| attributes serialized (obj) | attributes serialized (obj) +| maxInactive (long) | +|=== + ====== JDBC As with earlier versions of Jetty, sessions may be persisted to a relational database. Enable the `session-store-jdbc` module. +Compatibility + +Sessions stored to the database by earlier versions of jetty are not compatible with jetty-9.4 sessions. +The incompatibility is minor: in jetty-9.4 the `rowid` primary key column is no longer used, and the primary key is a composite of `(sessionid,contextpath,vhost)` columns. ====== NoSQL @@ -159,11 +192,30 @@ Jetty supports the Mongo document database. Enable the `session-store-mongo` module. +Compatibility + +Sessions stored to mongo by earlier versions of jetty are not compatible with jetty-9.4 sessions. +The key for each subdocument that represents the session information for a context is different between jetty-9.3 and 9.4: + +[cols="1,1", options="header"] +|=== +| 9.3 | 9.4 +|Each context key is: vhost+context+path, where empty vhosts="::" and root context = "*" and / is replaced by _ +|Each context key is: vhost:contextpath, where empty vhosts="0_0_0_0" and root context = "" and / replaced by _ +| eg "::/contextA" | eg " 0_0_0_0:_contextA" +|=== + + ====== Infinispan As with earlier versions of Jetty, sessions may be clustered via Infinispan to either an in-process or remote infinispan instance. Enable the `session-store-infinispan` module. +Compatibility + +Sessions stored in infinispan by jetty-9.3 are incompatible with jetty-9.4. +In jetty-9.3 the serialized object stored to represent the session data was `org.eclipse.jetty.session.infinispan.SerializableSessionData`. +In jetty-9.4 the serialized object is `org.eclipse.jetty.serer.session.SessionData`. ====== GCloud Datastore @@ -171,7 +223,33 @@ As with earlier versions of Jetty, sessions may be persisted to Google's GCloud Enable the `session-store-gcloud` module. +Compatibility + +Sessions stored into gcloud datastore by jetty-9.3 are incompatible with jetty-9.4, although the incompatibility is trivial: the name of the session id entity property has changed: + +[cols="1,1", options="header"] +|=== +|9.3 | 9.4 +|Kind: GCloudSession | Kind: GCloudSession +|key: contextpath_vhost_sessionid | key: contextpath_vhost_sessionid +|*"clusterId": sessionId* | *"id" : sessionId* +|"contextPath" : contextpath | "contextPath": contextpath +|"vhost" :vhost | "vhost": vhost +|"accessed":accesstime | "accessed": accesstime +|"lastAccessed": lastaccesstime | "lastAccessed": lastaccesstime +|"createTime": createtime | "createTime": createtime +|"cookieSetTime": cookiesettime | "cookieSetTime": cookiesettime +|"lastNode": lastnode | "lastNode": lastnode +|"expiry": expiry | "expiry": expiry +|"maxInactive": maxInactive | "maxInactive": maxInactive +|"attributes": blob | "attributes": blob +|=== + ====== GCloud Datastore with Memcached As with earlier versions of Jetty, sessions can be both persisted to Google's GCloud Datastore, and cached into Memcached for faster access. Enable the `session-store-gcloud` and `session-store-cache` modules. + +Compatibility + +Sessions stored into memcached by earlier versions of jetty are incompatible with jetty-9.4. Previous versions of jetty stored `org.eclipse.jetty.gcloud.memcached.session.SerializableSessionData` whereas jetty-9.4 stores `org.eclipse.jetty.server.session.SessionData`. From ef069487901b676ae007e8620d75a44893c56826 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Sat, 5 Nov 2016 13:09:16 +1100 Subject: [PATCH 085/109] Issue #1075 --- .../session/CachingSessionDataStore.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/CachingSessionDataStore.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/CachingSessionDataStore.java index 1c86d3a5b44..8d1fa953c15 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/CachingSessionDataStore.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/CachingSessionDataStore.java @@ -22,6 +22,9 @@ package org.eclipse.jetty.server.session; import java.util.Set; import org.eclipse.jetty.util.component.ContainerLifeCycle; +import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; + /** * CachingSessionDataStore @@ -44,7 +47,7 @@ import org.eclipse.jetty.util.component.ContainerLifeCycle; */ public class CachingSessionDataStore extends ContainerLifeCycle implements SessionDataStore { - + private final static Logger LOG = Log.getLogger("org.eclipse.jetty.server.session"); /** * The actual store for the session data */ @@ -98,8 +101,15 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi SessionData d = null; - //check to see if the session data is already in the cache - d = _cache.load(id); + try + { + //check to see if the session data is already in the cache + d = _cache.load(id); + } + catch (Exception e) + { + LOG.warn(e); + } if (d != null) return d; //cache hit @@ -178,11 +188,18 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi @Override public boolean exists(String id) throws Exception { - //check the cache first - SessionData data = _cache.load(id); - if (data != null) - return true; - + try + { + //check the cache first + SessionData data = _cache.load(id); + if (data != null) + return true; + } + catch (Exception e) + { + LOG.warn(e); + } + //then the delegate store return _store.exists(id); } From dc034e533ce71a088634fa192bcad0cd8205b5ad Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Sat, 5 Nov 2016 13:08:28 +0100 Subject: [PATCH 086/109] Removed @Ignore from test. --- .../eclipse/jetty/server/InsufficientThreadsDetectionTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java index ade942a2d9d..e95356b03a6 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/InsufficientThreadsDetectionTest.java @@ -21,7 +21,6 @@ package org.eclipse.jetty.server; import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.ThreadPool; import org.junit.After; -import org.junit.Ignore; import org.junit.Test; public class InsufficientThreadsDetectionTest { @@ -69,7 +68,6 @@ public class InsufficientThreadsDetectionTest { } @Test // Github issue #586 - @Ignore // TODO test failing??? public void testCaseForMultipleConnectors() throws Exception { // server has 4 threads in the executor _server = new Server(new QueuedThreadPool(4)); From 60d90010c272b1df4881fea3c27cf24ca54ae434 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Mon, 7 Nov 2016 09:28:03 +1100 Subject: [PATCH 087/109] Fixes #1076 --- .../java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java index eaa4b74bd86..855ab7c0908 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java @@ -498,8 +498,9 @@ public class ServerTimeoutsTest extends AbstractTest start(new AbstractHandler() { @Override - public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + try { baseRequest.setHandled(true); From 0495bb896e0948723454ea88588a2e97f862ed4b Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Mon, 7 Nov 2016 15:01:39 +1100 Subject: [PATCH 088/109] Issue #1074 Removed wake() call from within pollContent Instead the EOF status is evaluated : - when setReadListener is called - when read returns -1 - when run() is called before calling either onDataAvailable or onAllDataRead Squashed commit of the following: commit 6a345356998331a90e60c7ee8ee590920464c72f Merge: 92bc0e9 60d9001 Author: Greg Wilkins Date: Mon Nov 7 09:46:23 2016 +1100 Merge branch 'jetty-9.4.x' into jetty-9.4.x-issue-1074 commit 92bc0e9f3aafdce2f4aa7b2fde31affc942be042 Author: Greg Wilkins Date: Sat Nov 5 18:24:00 2016 +1100 Issue #1074 Do not do async IO callbacks if completed commit ee220a12d1e6c5f6e39b4597a209c5043aa775cf Author: Greg Wilkins Date: Sat Nov 5 16:22:55 2016 +1100 Issue #1074 Turned off debug improved proxy test to be able to run with debug on commit e2fb0b9ef1ec422a2c82cb388820581e359234ba Author: Greg Wilkins Date: Sat Nov 5 15:37:27 2016 +1100 Issue #1074 Improved test cases Handle early EOF commit 3c47c022fe7e48f82e41d9a208073b64cfeb5af7 Author: Greg Wilkins Date: Sat Nov 5 12:28:15 2016 +1100 provisional implementation --- .../eclipse/jetty/proxy/ProxyServletTest.java | 11 +- .../test/resources/jetty-logging.properties | 1 + .../jetty/server/HttpChannelState.java | 33 + .../org/eclipse/jetty/server/HttpInput.java | 125 ++- .../jetty/server/HttpInputAsyncStateTest.java | 750 ++++++++++++++++++ .../eclipse/jetty/server/HttpInputTest.java | 21 - .../jetty/http/client/AsyncIOServletTest.java | 1 + 7 files changed, 888 insertions(+), 54 deletions(-) create mode 100644 jetty-server/src/test/java/org/eclipse/jetty/server/HttpInputAsyncStateTest.java diff --git a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java index f25f0da7b89..8c902f8758a 100644 --- a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java +++ b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java @@ -360,13 +360,18 @@ public class ProxyServletTest resp.addHeader(PROXIED_HEADER, "true"); InputStream input = req.getInputStream(); int index = 0; + + byte[] buffer = new byte[16*1024]; while (true) { - int value = input.read(); + int value = input.read(buffer); if (value < 0) break; - Assert.assertEquals("Content mismatch at index=" + index, content[index] & 0xFF, value); - ++index; + for (int i=0;i __history = new LinkedBlockingQueue<>(); + private ByteBuffer _expected = BufferUtil.allocate(16*1024); + private boolean _eof; + private boolean _noReadInDataAvailable; + private boolean _completeInOnDataAvailable; + + private final ReadListener _listener = new ReadListener() + { + @Override + public void onError(Throwable t) + { + __history.add("onError:" + t); + } + + @Override + public void onDataAvailable() throws IOException + { + __history.add("onDataAvailable"); + if (!_noReadInDataAvailable && readAvailable() && _completeInOnDataAvailable) + { + __history.add("complete"); + _state.complete(); + } + } + + @Override + public void onAllDataRead() throws IOException + { + __history.add("onAllDataRead"); + } + }; + private HttpInput _in; + HttpChannelState _state; + + public static class TContent extends HttpInput.Content + { + public TContent(String content) + { + super(BufferUtil.toBuffer(content)); + } + } + + @Before + public void before() + { + _noReadInDataAvailable = false; + _in = new HttpInput(new HttpChannelState(new HttpChannel(null, new HttpConfiguration(), null, null) + { + @Override + public void asyncReadFillInterested() + { + __history.add("asyncReadFillInterested"); + } + @Override + public Scheduler getScheduler() + { + return null; + } + }) + { + @Override + public void onReadUnready() + { + super.onReadUnready(); + __history.add("onReadUnready"); + } + + @Override + public boolean onReadPossible() + { + boolean wake = super.onReadPossible(); + __history.add("onReadPossible "+wake); + return wake; + } + + @Override + public boolean onReadReady() + { + boolean wake = super.onReadReady(); + __history.add("onReadReady "+wake); + return wake; + } + }) + { + @Override + public void wake() + { + __history.add("wake"); + } + }; + + _state = _in.getHttpChannelState(); + __history.clear(); + } + + private void check(String... history) + { + if (history==null || history.length==0) + assertThat(__history,empty()); + else + assertThat(__history.toArray(new String[__history.size()]),Matchers.arrayContaining(history)); + __history.clear(); + } + + private void wake() + { + handle(null); + } + + + private void handle() + { + handle(null); + } + + private void handle(Runnable run) + { + Action action = _state.handling(); + loop: while(true) + { + switch(action) + { + case DISPATCH: + if (run==null) + Assert.fail(); + run.run(); + break; + + case READ_CALLBACK: + _in.run(); + break; + + case TERMINATED: + case WAIT: + break loop; + + case COMPLETE: + __history.add("COMPLETE"); + break; + + default: + Assert.fail(); + } + action = _state.unhandle(); + } + } + + private void deliver(Content... content) + { + if (content!=null) + { + for (Content c: content) + { + if (c==EOF_CONTENT) + { + _in.eof(); + _eof = true; + } + else if (c==HttpInput.EARLY_EOF_CONTENT) + { + _in.earlyEOF(); + _eof = true; + } + else + { + _in.addContent(c); + BufferUtil.append(_expected,c.getByteBuffer().slice()); + } + } + } + } + + boolean readAvailable() throws IOException + { + int len=0; + try + { + while(_in.isReady()) + { + int b = _in.read(); + + if (b<0) + { + if (len>0) + __history.add("read "+len); + __history.add("read -1"); + assertTrue(BufferUtil.isEmpty(_expected)); + assertTrue(_eof); + return true; + } + else + { + len++; + assertFalse(BufferUtil.isEmpty(_expected)); + int a = 0xff & _expected.get(); + assertThat(b,equalTo(a)); + } + } + __history.add("read "+len); + assertTrue(BufferUtil.isEmpty(_expected)); + } + catch(IOException e) + { + if (len>0) + __history.add("read "+len); + __history.add("read "+e); + throw e; + } + return false; + } + + + @After + public void after() + { + Assert.assertThat(__history.poll(), Matchers.nullValue()); + } + + @Test + public void testInitialEmptyListenInHandle() throws Exception + { + deliver(EOF_CONTENT); + check(); + + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadReady false"); + }); + + check("onAllDataRead"); + } + + + @Test + public void testInitialEmptyListenAfterHandle() throws Exception + { + deliver(EOF_CONTENT); + + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onAllDataRead"); + } + + @Test + public void testListenInHandleEmpty() throws Exception + { + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(EOF_CONTENT); + check("onReadPossible true"); + handle(); + check("onAllDataRead"); + } + + + @Test + public void testEmptyListenAfterHandle() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + deliver(EOF_CONTENT); + check(); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onAllDataRead"); + } + + + @Test + public void testListenAfterHandleEmpty() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("asyncReadFillInterested","onReadUnready"); + + deliver(EOF_CONTENT); + check("onReadPossible true"); + + handle(); + check("onAllDataRead"); + } + + + @Test + public void testInitialEarlyEOFListenInHandle() throws Exception + { + deliver(EARLY_EOF_CONTENT); + check(); + + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadReady false"); + }); + + check("onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testInitialEarlyEOFListenAfterHandle() throws Exception + { + deliver(EARLY_EOF_CONTENT); + + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + @Test + public void testListenInHandleEarlyEOF() throws Exception + { + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(EARLY_EOF_CONTENT); + check("onReadPossible true"); + handle(); + check("onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testEarlyEOFListenAfterHandle() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + deliver(EARLY_EOF_CONTENT); + check(); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testListenAfterHandleEarlyEOF() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("asyncReadFillInterested","onReadUnready"); + + deliver(EARLY_EOF_CONTENT); + check("onReadPossible true"); + + handle(); + check("onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + + @Test + public void testInitialAllContentListenInHandle() throws Exception + { + deliver(new TContent("Hello"),EOF_CONTENT); + check(); + + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadReady false"); + }); + + check("onDataAvailable","read 5","read -1","onAllDataRead"); + } + + + @Test + public void testInitialAllContentListenAfterHandle() throws Exception + { + deliver(new TContent("Hello"),EOF_CONTENT); + + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onDataAvailable","read 5","read -1","onAllDataRead"); + } + + + @Test + public void testListenInHandleAllContent() throws Exception + { + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(new TContent("Hello"),EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + handle(); + check("onDataAvailable","read 5","read -1","onAllDataRead"); + } + + + @Test + public void testAllContentListenAfterHandle() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + deliver(new TContent("Hello"),EOF_CONTENT); + check(); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check("onDataAvailable","read 5","read -1","onAllDataRead"); + } + + + @Test + public void testListenAfterHandleAllContent() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("asyncReadFillInterested","onReadUnready"); + + deliver(new TContent("Hello"),EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + + handle(); + check("onDataAvailable","read 5","read -1","onAllDataRead"); + } + + + @Test + public void testInitialIncompleteContentListenInHandle() throws Exception + { + deliver(new TContent("Hello"),EARLY_EOF_CONTENT); + check(); + + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadReady false"); + }); + + check( + "onDataAvailable", + "read 5", + "read org.eclipse.jetty.io.EofException: Early EOF", + "onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testInitialPartialContentListenAfterHandle() throws Exception + { + deliver(new TContent("Hello"),EARLY_EOF_CONTENT); + + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check( + "onDataAvailable", + "read 5", + "read org.eclipse.jetty.io.EofException: Early EOF", + "onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testListenInHandlePartialContent() throws Exception + { + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(new TContent("Hello"),EARLY_EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + handle(); + check( + "onDataAvailable", + "read 5", + "read org.eclipse.jetty.io.EofException: Early EOF", + "onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testPartialContentListenAfterHandle() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + deliver(new TContent("Hello"),EARLY_EOF_CONTENT); + check(); + + _in.setReadListener(_listener); + check("onReadReady true","wake"); + wake(); + check( + "onDataAvailable", + "read 5", + "read org.eclipse.jetty.io.EofException: Early EOF", + "onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testListenAfterHandlePartialContent() throws Exception + { + handle(()-> + { + _state.startAsync(null); + check(); + }); + + _in.setReadListener(_listener); + check("asyncReadFillInterested","onReadUnready"); + + deliver(new TContent("Hello"),EARLY_EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + + handle(); + check( + "onDataAvailable", + "read 5", + "read org.eclipse.jetty.io.EofException: Early EOF", + "onError:org.eclipse.jetty.io.EofException: Early EOF"); + } + + + @Test + public void testReadAfterOnDataAvailable() throws Exception + { + _noReadInDataAvailable = true; + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(new TContent("Hello"),EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + + handle(); + check("onDataAvailable"); + + readAvailable(); + check("wake","read 5","read -1"); + wake(); + check("onAllDataRead"); + } + + @Test + public void testReadOnlyExpectedAfterOnDataAvailable() throws Exception + { + _noReadInDataAvailable = true; + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(new TContent("Hello"),EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + + handle(); + check("onDataAvailable"); + + byte[] buffer = new byte[_expected.remaining()]; + assertThat(_in.read(buffer),equalTo(buffer.length)); + assertThat(new String(buffer),equalTo(BufferUtil.toString(_expected))); + BufferUtil.clear(_expected); + check(); + + assertTrue(_in.isReady()); + check(); + + assertThat(_in.read(),equalTo(-1)); + check("wake"); + + wake(); + check("onAllDataRead"); + } + + @Test + public void testReadAndCompleteInOnDataAvailable() throws Exception + { + _completeInOnDataAvailable = true; + handle(()-> + { + _state.startAsync(null); + _in.setReadListener(_listener); + check("onReadUnready"); + }); + + check("asyncReadFillInterested"); + + deliver(new TContent("Hello"),EOF_CONTENT); + check("onReadPossible true","onReadPossible false"); + + handle(()->{__history.add(_state.getState().toString());}); + System.err.println(__history); + check( + "onDataAvailable", + "read 5", + "read -1", + "complete", + "COMPLETE" + ); + } +} diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpInputTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpInputTest.java index dde2f0b643e..16c0e8bffd2 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpInputTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpInputTest.java @@ -390,10 +390,6 @@ public class HttpInputTest Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.run(); - Assert.assertThat(_history.poll(), Matchers.equalTo("onDataAvailable")); - Assert.assertThat(_history.poll(), Matchers.nullValue()); - Assert.assertThat(_in.isReady(), Matchers.equalTo(false)); Assert.assertThat(_history.poll(), Matchers.equalTo("produceContent 0")); Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); @@ -413,10 +409,6 @@ public class HttpInputTest Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.run(); - Assert.assertThat(_history.poll(), Matchers.equalTo("onDataAvailable")); - Assert.assertThat(_history.poll(), Matchers.nullValue()); - Assert.assertThat(_in.isReady(), Matchers.equalTo(false)); Assert.assertThat(_history.poll(), Matchers.equalTo("produceContent 0")); Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); @@ -466,10 +458,6 @@ public class HttpInputTest Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.run(); - Assert.assertThat(_history.poll(), Matchers.equalTo("onDataAvailable")); - Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.eof(); Assert.assertThat(_in.isReady(), Matchers.equalTo(true)); Assert.assertThat(_in.isFinished(), Matchers.equalTo(false)); @@ -478,7 +466,6 @@ public class HttpInputTest Assert.assertThat(_in.read(), Matchers.equalTo(-1)); Assert.assertThat(_in.isFinished(), Matchers.equalTo(true)); - Assert.assertThat(_history.poll(), Matchers.equalTo("ready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); } @@ -490,10 +477,6 @@ public class HttpInputTest Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.run(); - Assert.assertThat(_history.poll(), Matchers.equalTo("onDataAvailable")); - Assert.assertThat(_history.poll(), Matchers.nullValue()); - Assert.assertThat(_in.isReady(), Matchers.equalTo(false)); Assert.assertThat(_history.poll(), Matchers.equalTo("produceContent 0")); Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); @@ -527,7 +510,6 @@ public class HttpInputTest Assert.assertThat(_in.isFinished(), Matchers.equalTo(false)); Assert.assertThat(_in.read(), Matchers.equalTo(-1)); Assert.assertThat(_in.isFinished(), Matchers.equalTo(true)); - Assert.assertThat(_history.poll(), Matchers.equalTo("ready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); Assert.assertThat(_in.isReady(), Matchers.equalTo(true)); @@ -541,9 +523,6 @@ public class HttpInputTest Assert.assertThat(_history.poll(), Matchers.equalTo("produceContent 0")); Assert.assertThat(_history.poll(), Matchers.equalTo("unready")); Assert.assertThat(_history.poll(), Matchers.nullValue()); - _in.run(); - Assert.assertThat(_history.poll(), Matchers.equalTo("onDataAvailable")); - Assert.assertThat(_history.poll(), Matchers.nullValue()); Assert.assertThat(_in.isReady(), Matchers.equalTo(false)); Assert.assertThat(_history.poll(), Matchers.equalTo("produceContent 0")); diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java index 941294b019e..393f4197ac4 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java @@ -1001,6 +1001,7 @@ public class AsyncIOServletTest extends AbstractTest @Override public void onAllDataRead() throws IOException { + asyncContext.complete(); } @Override From d9bf635e6443f1f7de16aa95391affa5172d9890 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Mon, 7 Nov 2016 15:41:17 +1100 Subject: [PATCH 089/109] removed warnings from unit test --- .../jetty/server/handler/ScopedHandlerTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ScopedHandlerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ScopedHandlerTest.java index 051d9eeec91..21f2969f90f 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ScopedHandlerTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ScopedHandlerTest.java @@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Response; +import org.eclipse.jetty.server.Server; import org.junit.Before; import org.junit.Test; @@ -45,6 +46,7 @@ public class ScopedHandlerTest public void testSingle() throws Exception { TestHandler handler0 = new TestHandler("0"); + handler0.setServer(new Server()); handler0.start(); handler0.handle("target",null,null,null); handler0.stop(); @@ -57,6 +59,8 @@ public class ScopedHandlerTest { TestHandler handler0 = new TestHandler("0"); TestHandler handler1 = new TestHandler("1"); + handler0.setServer(new Server()); + handler1.setServer(handler0.getServer()); handler0.setHandler(handler1); handler0.start(); handler0.handle("target",null,null,null); @@ -71,6 +75,9 @@ public class ScopedHandlerTest TestHandler handler0 = new TestHandler("0"); TestHandler handler1 = new TestHandler("1"); TestHandler handler2 = new TestHandler("2"); + handler0.setServer(new Server()); + handler1.setServer(handler0.getServer()); + handler2.setServer(handler0.getServer()); handler0.setHandler(handler1); handler1.setHandler(handler2); handler0.start(); @@ -90,6 +97,10 @@ public class ScopedHandlerTest OtherHandler handlerA = new OtherHandler("A"); TestHandler handler1 = new TestHandler("1"); OtherHandler handlerB = new OtherHandler("B"); + handler0.setServer(new Server()); + handlerA.setServer(handler0.getServer()); + handler1.setServer(handler0.getServer()); + handlerB.setServer(handler0.getServer()); handler0.setHandler(handlerA); handlerA.setHandler(handler1); handler1.setHandler(handlerB); @@ -112,6 +123,12 @@ public class ScopedHandlerTest OtherHandler handlerB = new OtherHandler("B"); TestHandler handler2 = new TestHandler("2"); OtherHandler handlerC = new OtherHandler("C"); + handler0.setServer(new Server()); + handlerA.setServer(handler0.getServer()); + handler1.setServer(handler0.getServer()); + handlerB.setServer(handler0.getServer()); + handler2.setServer(handler0.getServer()); + handlerC.setServer(handler0.getServer()); handler0.setHandler(handlerA); handlerA.setHandler(handler1); handler1.setHandler(handlerB); From fe1aed24c07b7b7bdf171ab0098b93a70018b643 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 7 Nov 2016 16:15:11 +0100 Subject: [PATCH 090/109] Code cleanup. --- .../server/handler/InetAccessHandler.java | 79 ++++++++----------- 1 file changed, 32 insertions(+), 47 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java index d642ef0206a..0d3e4188ea0 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java @@ -35,94 +35,79 @@ import org.eclipse.jetty.util.InetAddressSet; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; - /** - * Inet Address Access Handler + * InetAddress Access Handler *

- * Controls access to the wrapped handler by the real remote IP. Control is provided + * Controls access to the wrapped handler using the real remote IP. Control is provided * by and {@link IncludeExcludeSet} over a {@link InetAddressSet}. This handler * uses the real internet address of the connection, not one reported in the forwarded * for headers, as this cannot be as easily forged. - *

- */ public class InetAccessHandler extends HandlerWrapper { private static final Logger LOG = Log.getLogger(InetAccessHandler.class); - IncludeExcludeSet _set = new IncludeExcludeSet<>(InetAddressSet.class); - /* ------------------------------------------------------------ */ - /** - * Creates new handler object - */ - public InetAccessHandler() - { - super(); - } + private final IncludeExcludeSet _set = new IncludeExcludeSet<>(InetAddressSet.class); - /* ------------------------------------------------------------ */ /** - * Include a InetAddress pattern + * Includes an InetAddress pattern + * + * @param pattern InetAddress pattern to include * @see InetAddressSet - * @param pattern InetAddress pattern to exclude */ public void include(String pattern) { _set.include(pattern); } - - /* ------------------------------------------------------------ */ + /** - * Include a InetAddress pattern + * Includes InetAddress patterns + * + * @param patterns InetAddress patterns to include * @see InetAddressSet - * @param patterns InetAddress patterns to exclude */ public void include(String... patterns) { _set.include(patterns); } - - /* ------------------------------------------------------------ */ + /** - * Exclude a InetAddress pattern - * @see InetAddressSet + * Excludes an InetAddress pattern + * * @param pattern InetAddress pattern to exclude + * @see InetAddressSet */ public void exclude(String pattern) { _set.exclude(pattern); } - - /* ------------------------------------------------------------ */ + /** - * Include a InetAddress pattern - * @see InetAddressSet + * Excludes InetAddress patterns + * * @param patterns InetAddress patterns to exclude + * @see InetAddressSet */ public void exclude(String... patterns) { _set.exclude(patterns); } - - /* ------------------------------------------------------------ */ /** * Checks the incoming request against the whitelist and blacklist - * - * @see org.eclipse.jetty.server.handler.HandlerWrapper#handle(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Get the real remote IP (not the one set by the forwarded headers (which may be forged)) HttpChannel channel = baseRequest.getHttpChannel(); - if (channel!=null) + if (channel != null) { - EndPoint endp=channel.getEndPoint(); - if (endp!=null) + EndPoint endp = channel.getEndPoint(); + if (endp != null) { InetSocketAddress address = endp.getRemoteAddress(); - if (address!=null && !isAllowed(address.getAddress())) + if (address != null && !isAllowed(address.getAddress())) { response.sendError(HttpStatus.FORBIDDEN_403); baseRequest.setHandled(true); @@ -131,26 +116,26 @@ public class InetAccessHandler extends HandlerWrapper } } - getHandler().handle(target,baseRequest, request, response); + getHandler().handle(target, baseRequest, request, response); } - /* ------------------------------------------------------------ */ /** - * Check if specified request is allowed by current IPAccess rules. - * - * @param address internet address - * @return true if address is allowed + * Check sif specified address is allowed by current IPAccess rules. * + * @param address the inetAddress to check + * @return true if inetAddress is allowed */ protected boolean isAllowed(InetAddress address) { - return _set.test(address); + boolean allowed = _set.test(address); + if (LOG.isDebugEnabled()) + LOG.debug("{} {} {}", this, allowed ? "allowed" : "denied", address); + return allowed; } - /* ------------------------------------------------------------ */ @Override public void dump(Appendable out, String indent) throws IOException { - dumpBeans(out,indent,_set.getIncluded(),_set.getExcluded()); + dumpBeans(out, indent, _set.getIncluded(), _set.getExcluded()); } - } +} From 998c5729ec3b381583f28285ef9a4bc99a85034e Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 7 Nov 2016 16:20:15 +0100 Subject: [PATCH 091/109] Fixes #1072 - InetAccessHandler needs InetAddress & Path based restrictions like IPAccessHandler did. Introduced isAllowed(InetAddress, HttpServletRequest) so that it would be possible to make access decisions also based on request information such as context, path, headers, etc. --- .../jetty/server/handler/InetAccessHandler.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java index 0d3e4188ea0..592aebdfc8b 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/InetAccessHandler.java @@ -107,7 +107,7 @@ public class InetAccessHandler extends HandlerWrapper if (endp != null) { InetSocketAddress address = endp.getRemoteAddress(); - if (address != null && !isAllowed(address.getAddress())) + if (address != null && !isAllowed(address.getAddress(), request)) { response.sendError(HttpStatus.FORBIDDEN_403); baseRequest.setHandled(true); @@ -120,11 +120,21 @@ public class InetAccessHandler extends HandlerWrapper } /** - * Check sif specified address is allowed by current IPAccess rules. + * Checks if specified address and request are allowed by current InetAddress rules. * * @param address the inetAddress to check - * @return true if inetAddress is allowed + * @param request the request to check + * @return true if inetAddress and request are allowed */ + protected boolean isAllowed(InetAddress address, HttpServletRequest request) + { + return isAllowed(address); + } + + /** + * @deprecated use {@link #isAllowed(InetAddress, HttpServletRequest)} instead + */ + @Deprecated protected boolean isAllowed(InetAddress address) { boolean allowed = _set.test(address); From 2b88b0bc802fa260e53d32b004731dbb8696437a Mon Sep 17 00:00:00 2001 From: Jesse McConnell Date: Mon, 7 Nov 2016 10:18:46 -0600 Subject: [PATCH 092/109] KEYS.txt file of Jetty committers fingerprints of the jetty committers that generally released bits for the open source jetty project --- KEYS.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 KEYS.txt diff --git a/KEYS.txt b/KEYS.txt new file mode 100644 index 00000000000..421c2b3e0f0 --- /dev/null +++ b/KEYS.txt @@ -0,0 +1,5 @@ +# GPG Release Key Fingerprints +Jan Bartel AED5 EE6C 45D0 FE8D 5D1B 164F 27DE D4BF 6216 DB +Simone Bordet 8B09 6546 B1A8 F026 56B1 5D3B 1677 D141 BCF3 58 +Joakim Erdfelt BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5F +Jesse McConnell 2A68 4B57 436A 81FA 8706 B53C 61C3 351A 438A 3B7D From 23f11017d329d0271cbe98a9dcf76960387f1f31 Mon Sep 17 00:00:00 2001 From: Tilo Zemke Date: Mon, 7 Nov 2016 17:54:04 +0100 Subject: [PATCH 093/109] Fix for MongoSessionIdManager's scavenging of immortal sessions Signed-off-by: Tilo Zemke --- .../org/eclipse/jetty/nosql/mongodb/MongoSessionIdManager.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionIdManager.java b/jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionIdManager.java index 18323639d89..bf5d3562141 100644 --- a/jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionIdManager.java +++ b/jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionIdManager.java @@ -268,8 +268,7 @@ public class MongoSessionIdManager extends AbstractSessionIdManager BasicDBObject query = new BasicDBObject(); query.put(MongoSessionManager.__ID,new BasicDBObject("$in", ids )); - query.put(MongoSessionManager.__EXPIRY, new BasicDBObject("$gt", 0)); - query.put(MongoSessionManager.__EXPIRY, new BasicDBObject("$lt", atTime)); + query.put(MongoSessionManager.__EXPIRY, new BasicDBObject("$gt", 0).append("$lt", atTime)); DBCursor checkSessions = _sessions.find(query, new BasicDBObject(MongoSessionManager.__ID, 1)); From 40cf6b0c80f89a3b71acae8f17900b15fe00215f Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 7 Nov 2016 11:19:05 -0700 Subject: [PATCH 094/109] Updating KEYS.txt with email address --- KEYS.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/KEYS.txt b/KEYS.txt index 421c2b3e0f0..a902b2e94a1 100644 --- a/KEYS.txt +++ b/KEYS.txt @@ -1,5 +1,6 @@ # GPG Release Key Fingerprints Jan Bartel AED5 EE6C 45D0 FE8D 5D1B 164F 27DE D4BF 6216 DB Simone Bordet 8B09 6546 B1A8 F026 56B1 5D3B 1677 D141 BCF3 58 -Joakim Erdfelt BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5F +Joakim Erdfelt BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5FEA +Joakim Erdfelt B59B 67FD 7904 9843 67F9 3180 0818 D9D6 8FB6 7BAC Jesse McConnell 2A68 4B57 436A 81FA 8706 B53C 61C3 351A 438A 3B7D From 6ae72e6f7d912d713cd5f3e4e24dc4c48ad00df3 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 7 Nov 2016 19:19:38 +0100 Subject: [PATCH 095/109] Code cleanups. --- .../authentication/DigestAuthenticator.java | 159 +++++++----------- 1 file changed, 65 insertions(+), 94 deletions(-) diff --git a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java index 9359da10a0a..088d2e5675f 100644 --- a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java +++ b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java @@ -50,8 +50,6 @@ import org.eclipse.jetty.util.security.Constraint; import org.eclipse.jetty.util.security.Credential; /** - * @version $Rev: 4793 $ $Date: 2009-03-19 00:00:01 +0100 (Thu, 19 Mar 2009) $ - * * The nonce max age in ms can be set with the {@link SecurityHandler#setInitParameter(String, String)} * using the name "maxNonceAge". The nonce max count can be set with {@link SecurityHandler#setInitParameter(String, String)} * using the name "maxNonceCount". When the age or count is exceeded, the nonce is considered stale. @@ -59,105 +57,58 @@ import org.eclipse.jetty.util.security.Credential; public class DigestAuthenticator extends LoginAuthenticator { private static final Logger LOG = Log.getLogger(DigestAuthenticator.class); - SecureRandom _random = new SecureRandom(); - private long _maxNonceAgeMs = 60*1000; - private int _maxNC=1024; - private ConcurrentMap _nonceMap = new ConcurrentHashMap(); - private Queue _nonceQueue = new ConcurrentLinkedQueue(); - private static class Nonce - { - final String _nonce; - final long _ts; - final BitSet _seen; - public Nonce(String nonce, long ts, int size) - { - _nonce=nonce; - _ts=ts; - _seen = new BitSet(size); - } + private final SecureRandom _random = new SecureRandom(); + private long _maxNonceAgeMs = 60 * 1000; + private int _maxNC = 1024; + private ConcurrentMap _nonceMap = new ConcurrentHashMap<>(); + private Queue _nonceQueue = new ConcurrentLinkedQueue<>(); - public boolean seen(int count) - { - synchronized (this) - { - if (count>=_seen.size()) - return true; - boolean s=_seen.get(count); - _seen.set(count); - return s; - } - } - } - - /* ------------------------------------------------------------ */ - public DigestAuthenticator() - { - super(); - } - - /* ------------------------------------------------------------ */ - /** - * @see org.eclipse.jetty.security.authentication.LoginAuthenticator#setConfiguration(org.eclipse.jetty.security.Authenticator.AuthConfiguration) - */ @Override public void setConfiguration(AuthConfiguration configuration) { super.setConfiguration(configuration); - String mna=configuration.getInitParameter("maxNonceAge"); - if (mna!=null) - { - _maxNonceAgeMs=Long.valueOf(mna); - } - String mnc=configuration.getInitParameter("maxNonceCount"); - if (mnc!=null) - { - _maxNC=Integer.valueOf(mnc); - } + String mna = configuration.getInitParameter("maxNonceAge"); + if (mna != null) + setMaxNonceAge(Long.valueOf(mna)); + String mnc = configuration.getInitParameter("maxNonceCount"); + if (mnc != null) + setMaxNonceCount(Integer.valueOf(mnc)); } - /* ------------------------------------------------------------ */ public int getMaxNonceCount() { return _maxNC; } - /* ------------------------------------------------------------ */ public void setMaxNonceCount(int maxNC) { _maxNC = maxNC; } - /* ------------------------------------------------------------ */ public long getMaxNonceAge() { return _maxNonceAgeMs; } - /* ------------------------------------------------------------ */ - public synchronized void setMaxNonceAge(long maxNonceAgeInMillis) + public void setMaxNonceAge(long maxNonceAgeInMillis) { _maxNonceAgeMs = maxNonceAgeInMillis; } - /* ------------------------------------------------------------ */ @Override public String getAuthMethod() { return Constraint.__DIGEST_AUTH; } - /* ------------------------------------------------------------ */ @Override public boolean secureResponse(ServletRequest req, ServletResponse res, boolean mandatory, User validatedUser) throws ServerAuthException { return true; } - - - /* ------------------------------------------------------------ */ @Override public Authentication validateRequest(ServletRequest req, ServletResponse res, boolean mandatory) throws ServerAuthException { @@ -217,20 +168,20 @@ public class DigestAuthenticator extends LoginAuthenticator digest.uri = tok; else if ("response".equalsIgnoreCase(name)) digest.response = tok; - name=null; + name = null; } } } - int n = checkNonce(digest,(Request)request); + int n = checkNonce(digest, (Request)request); if (n > 0) { //UserIdentity user = _loginService.login(digest.username,digest); UserIdentity user = login(digest.username, digest, req); - if (user!=null) + if (user != null) { - return new UserAuthentication(getAuthMethod(),user); + return new UserAuthentication(getAuthMethod(), user); } } else if (n == 0) @@ -261,10 +212,8 @@ public class DigestAuthenticator extends LoginAuthenticator { throw new ServerAuthException(e); } - } - /* ------------------------------------------------------------ */ public String newNonce(Request request) { Nonce nonce; @@ -274,43 +223,42 @@ public class DigestAuthenticator extends LoginAuthenticator byte[] nounce = new byte[24]; _random.nextBytes(nounce); - nonce = new Nonce(new String(B64Code.encode(nounce)),request.getTimeStamp(),_maxNC); + nonce = new Nonce(new String(B64Code.encode(nounce)), request.getTimeStamp(), getMaxNonceCount()); } - while (_nonceMap.putIfAbsent(nonce._nonce,nonce)!=null); + while (_nonceMap.putIfAbsent(nonce._nonce, nonce) != null); _nonceQueue.add(nonce); return nonce._nonce; } /** - * @param nstring nonce to check - * @param request + * @param digest the digest data to check + * @param request the request object * @return -1 for a bad nonce, 0 for a stale none, 1 for a good nonce */ - /* ------------------------------------------------------------ */ private int checkNonce(Digest digest, Request request) { // firstly let's expire old nonces - long expired = request.getTimeStamp()-_maxNonceAgeMs; - Nonce nonce=_nonceQueue.peek(); - while (nonce!=null && nonce._ts=_maxNC) + long count = Long.parseLong(digest.nc, 16); + if (count >= _maxNC) return 0; - + if (nonce.seen((int)count)) return -1; @@ -323,9 +271,32 @@ public class DigestAuthenticator extends LoginAuthenticator return -1; } - /* ------------------------------------------------------------ */ - /* ------------------------------------------------------------ */ - /* ------------------------------------------------------------ */ + private static class Nonce + { + final String _nonce; + final long _ts; + final BitSet _seen; + + public Nonce(String nonce, long ts, int size) + { + _nonce = nonce; + _ts = ts; + _seen = new BitSet(size); + } + + public boolean seen(int count) + { + synchronized (this) + { + if (count >= _seen.size()) + return true; + boolean s = _seen.get(count); + _seen.set(count); + return s; + } + } + } + private static class Digest extends Credential { private static final long serialVersionUID = -2484639019549527724L; @@ -350,8 +321,8 @@ public class DigestAuthenticator extends LoginAuthenticator public boolean check(Object credentials) { if (credentials instanceof char[]) - credentials=new String((char[])credentials); - String password = (credentials instanceof String) ? (String) credentials : credentials.toString(); + credentials = new String((char[])credentials); + String password = (credentials instanceof String) ? (String)credentials : credentials.toString(); try { @@ -362,22 +333,22 @@ public class DigestAuthenticator extends LoginAuthenticator // Credentials are already a MD5 digest - assume it's in // form user:realm:password (we have no way to know since // it's a digest, alright?) - ha1 = ((Credential.MD5) credentials).getDigest(); + ha1 = ((Credential.MD5)credentials).getDigest(); } else { // calc A1 digest md.update(username.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(realm.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(password.getBytes(StandardCharsets.ISO_8859_1)); ha1 = md.digest(); } // calc A2 digest md.reset(); md.update(method.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(uri.getBytes(StandardCharsets.ISO_8859_1)); byte[] ha2 = md.digest(); @@ -389,15 +360,15 @@ public class DigestAuthenticator extends LoginAuthenticator // ) > <"> md.update(TypeUtil.toString(ha1, 16).getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(nonce.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(nc.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(cnonce.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(qop.getBytes(StandardCharsets.ISO_8859_1)); - md.update((byte) ':'); + md.update((byte)':'); md.update(TypeUtil.toString(ha2, 16).getBytes(StandardCharsets.ISO_8859_1)); byte[] digest = md.digest(); From 42e865227d2e3121c91ae77aa3a59047ea67dfd1 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 7 Nov 2016 19:21:06 +0100 Subject: [PATCH 096/109] Fixes #1081 - DigestAuthenticator does not check the realm sent by the client. --- .../security/authentication/DigestAuthenticator.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java index 088d2e5675f..869cb1772eb 100644 --- a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java +++ b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java @@ -23,6 +23,7 @@ import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.SecureRandom; import java.util.BitSet; +import java.util.Objects; import java.util.Queue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; @@ -214,6 +215,15 @@ public class DigestAuthenticator extends LoginAuthenticator } } + @Override + public UserIdentity login(String username, Object credentials, ServletRequest request) + { + Digest digest = (Digest)credentials; + if (!Objects.equals(digest.realm, _loginService.getName())) + return null; + return super.login(username, credentials, request); + } + public String newNonce(Request request) { Nonce nonce; From f82aa033002885d6b0d8a2d05e113ebd8b15bf4e Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 7 Nov 2016 19:24:38 +0100 Subject: [PATCH 097/109] Fixes #1078 - DigestAuthentication should use realm from server, even if unknown in advance. --- .../eclipse/jetty/client/util/DigestAuthentication.java | 5 ++++- .../jetty/client/HttpClientAuthenticationTest.java | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java b/jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java index ab8916a4cc6..83e098f6327 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java @@ -99,7 +99,10 @@ public class DigestAuthentication extends AbstractAuthentication clientQOP = "auth-int"; } - return new DigestResult(headerInfo.getHeader(), response.getContent(), getRealm(), user, password, algorithm, nonce, clientQOP, opaque); + String realm = getRealm(); + if (ANY_REALM.equals(realm)) + realm = headerInfo.getRealm(); + return new DigestResult(headerInfo.getHeader(), response.getContent(), realm, user, password, algorithm, nonce, clientQOP, opaque); } private Map parseParameters(String wwwAuthenticate) diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientAuthenticationTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientAuthenticationTest.java index a44a035f2bb..01820b32b04 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientAuthenticationTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientAuthenticationTest.java @@ -135,6 +135,14 @@ public class HttpClientAuthenticationTest extends AbstractHttpClientServerTest test_Authentication(new DigestAuthentication(uri, realm, "digest", "digest")); } + @Test + public void test_DigestAnyRealm() throws Exception + { + startDigest(new EmptyServerHandler()); + URI uri = URI.create(scheme + "://localhost:" + connector.getLocalPort()); + test_Authentication(new DigestAuthentication(uri, Authentication.ANY_REALM, "digest", "digest")); + } + private void test_Authentication(Authentication authentication) throws Exception { AuthenticationStore authenticationStore = client.getAuthenticationStore(); From a7048a325ac6dc46f5e351790a0d9f0db85110a4 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Tue, 8 Nov 2016 15:58:15 +1100 Subject: [PATCH 098/109] Issue #1077 Removed concrete handle from AbstractHandler Added AbstractHandler.ErrorDispatchHandler cleanup context listeners Removed vanity inlining of ScopeHandler methods Squashed commit of the following: commit 0f3619ac1101707de476ad9b7f7394e8de18d95f Author: Greg Wilkins Date: Tue Nov 8 10:59:55 2016 +1100 Issue #1077 Removed concrete handle from AbstractHandler Added AbstractHandler.ErrorDispatchHandler commit 0876fee0334b9f43297f28fc4b855f447b7ee73f Merge: 5eabad2 7716ada Author: Greg Wilkins Date: Tue Nov 8 08:48:53 2016 +1100 Merge branch 'jetty-9.4.x' into jetty-9.4.x-issue-1077 commit 5eabad29a5c4d893e204cb403a1d276ea3b15281 Author: Greg Wilkins Date: Mon Nov 7 21:15:40 2016 +1100 Issue #1077 cleanup context listeners commit 9edf91a386aa20a3c0af86a634b4b3dbbc8e1092 Author: Greg Wilkins Date: Mon Nov 7 18:08:01 2016 +1100 Issue #1077 Removed vanity inlining of ScopeHandler methods --- .../jetty/server/handler/AbstractHandler.java | 105 ++++++++++++++---- .../jetty/server/handler/ContextHandler.java | 93 +++++++--------- .../jetty/server/handler/ErrorHandler.java | 6 + .../jetty/server/handler/ScopedHandler.java | 32 ++---- .../jetty/server/session/SessionHandler.java | 9 +- .../jetty/server/AbstractHttpTest.java | 10 +- .../org/eclipse/jetty/server/DumpHandler.java | 12 +- .../jetty/server/HttpConnectionTest.java | 4 +- ...ManyWaysToAsyncCommitBadBehaviourTest.java | 2 +- .../server/HttpManyWaysToAsyncCommitTest.java | 44 ++++---- .../server/HttpManyWaysToCommitTest.java | 52 ++++----- .../jetty/server/HttpServerTestBase.java | 8 +- .../org/eclipse/jetty/server/RequestTest.java | 4 +- .../ssl/SniSslConnectionFactoryTest.java | 4 +- .../eclipse/jetty/servlet/ServletHandler.java | 11 +- .../jetty/unixsocket/UnixSocketServer.java | 7 +- .../jetty/http/client/ServerTimeoutsTest.java | 6 +- 17 files changed, 210 insertions(+), 199 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/AbstractHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/AbstractHandler.java index 86adae4e050..fc8da059a7a 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/AbstractHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/AbstractHandler.java @@ -28,16 +28,27 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.server.Handler; +import org.eclipse.jetty.server.HttpChannel; +import org.eclipse.jetty.server.HttpConnection; import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.Response; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.annotation.ManagedObject; import org.eclipse.jetty.util.component.ContainerLifeCycle; +import org.eclipse.jetty.util.component.Dumpable; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; -/* ------------------------------------------------------------ */ /** AbstractHandler. + *

A convenience implementation of {@link Handler} that uses the + * {@link ContainerLifeCycle} to provide:

    + *
  • start/stop behavior + *
  • a bean container + *
  • basic {@link Dumpable} support + *
  • a {@link Server} reference + *
  • optional error dispatch handling + *
*/ @ManagedObject("Jetty Handler") public abstract class AbstractHandler extends ContainerLifeCycle implements Handler @@ -46,29 +57,39 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand private Server _server; - /* ------------------------------------------------------------ */ /** * */ public AbstractHandler() { } - - @Override - public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException - { - if (baseRequest.getDispatcherType()==DispatcherType.ERROR) - doError(target,baseRequest,request,response); - else - doHandle(target,baseRequest,request,response); - } - - /* ------------------------------------------------------------ */ - protected void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException - { - } - /* ------------------------------------------------------------ */ + @Override + public abstract void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException; + + /** + * Convenience method to generate error page. + *

This method can be called from {@link #handle(String, Request, HttpServletRequest, HttpServletResponse)} when an {@link DispatcherType#ERROR} dispatch + * is detected and an error page needs to be generated by calling {@link HttpServletResponse#sendError(int, String)} with the appropriate code and reason, + * which are taken from {@link HttpServletRequest#getAttribute(String)} for {@link RequestDispatcher#ERROR_STATUS_CODE} and {@link RequestDispatcher#ERROR_MESSAGE} + * @see ErrorDispatchHandler for a conveniance class that calls this method. + * @param target + * The target of the request - either a URI or a name. + * @param baseRequest + * The original unwrapped request object. + * @param request + * The request either as the {@link Request} object or a wrapper of that request. The + * {@link HttpConnection#getCurrentConnection()}.{@link HttpConnection#getHttpChannel() getHttpChannel()}.{@link HttpChannel#getRequest() getRequest()} + * method can be used access the Request object if required. + * @param response + * The response as the {@link Response} object or a wrapper of that request. The + * {@link HttpConnection#getCurrentConnection()}.{@link HttpConnection#getHttpChannel() getHttpChannel()}.{@link HttpChannel#getResponse() getResponse()} + * method can be used access the Response object if required. + * @throws IOException + * if unable to handle the request or response processing + * @throws ServletException + * if unable to handle the request or response due to underlying servlet issue + */ protected void doError(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Object o = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); @@ -79,7 +100,6 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand response.sendError(code,reason); } - /* ------------------------------------------------------------ */ /* * @see org.eclipse.thread.LifeCycle#start() */ @@ -93,7 +113,6 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand super.doStart(); } - /* ------------------------------------------------------------ */ /* * @see org.eclipse.thread.LifeCycle#stop() */ @@ -105,7 +124,6 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand super.doStop(); } - /* ------------------------------------------------------------ */ @Override public void setServer(Server server) { @@ -116,14 +134,12 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand _server=server; } - /* ------------------------------------------------------------ */ @Override public Server getServer() { return _server; } - /* ------------------------------------------------------------ */ @Override public void destroy() { @@ -132,11 +148,52 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand super.destroy(); } - /* ------------------------------------------------------------ */ @Override public void dumpThis(Appendable out) throws IOException { out.append(toString()).append(" - ").append(getState()).append('\n'); } - + + /** + * An extension of AbstractHandler that handles {@link DispatcherType#ERROR} dispatches. + *

+ * {@link DispatcherType#ERROR} dispatches are handled by calling the {@link #doError(String, Request, HttpServletRequest, HttpServletResponse)} + * method. All other dispatches are passed to the abstract {@link #doNonErrorHandle(String, Request, HttpServletRequest, HttpServletResponse)} + * method, which should be implemented with specific handler behavior + * + */ + public static abstract class ErrorDispatchHandler extends AbstractHandler + { + @Override + public final void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + if (baseRequest.getDispatcherType()==DispatcherType.ERROR) + doError(target,baseRequest,request,response); + else + doNonErrorHandle(target,baseRequest,request,response); + } + + /** + * Called by {@link #handle(String, Request, HttpServletRequest, HttpServletResponse)} + * for all non-{@link DispatcherType#ERROR} dispatches. + * @param target + * The target of the request - either a URI or a name. + * @param baseRequest + * The original unwrapped request object. + * @param request + * The request either as the {@link Request} object or a wrapper of that request. The + * {@link HttpConnection#getCurrentConnection()}.{@link HttpConnection#getHttpChannel() getHttpChannel()}.{@link HttpChannel#getRequest() getRequest()} + * method can be used access the Request object if required. + * @param response + * The response as the {@link Response} object or a wrapper of that request. The + * {@link HttpConnection#getCurrentConnection()}.{@link HttpConnection#getHttpChannel() getHttpChannel()}.{@link HttpChannel#getResponse() getResponse()} + * method can be used access the Response object if required. + * @throws IOException + * if unable to handle the request or response processing + * @throws ServletException + * if unable to handle the request or response due to underlying servlet issue + */ + protected abstract void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException; + } + } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java index 4af41cde9ac..f0a4f68661f 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java @@ -1127,16 +1127,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu if (LOG.isDebugEnabled()) LOG.debug("context={}|{}|{} @ {}",baseRequest.getContextPath(),baseRequest.getServletPath(), baseRequest.getPathInfo(),this); - // start manual inline of nextScope(target,baseRequest,request,response); - if (never()) - nextScope(target,baseRequest,request,response); - else if (_nextScope != null) - _nextScope.doScope(target,baseRequest,request,response); - else if (_outerScope != null) - _outerScope.doHandle(target,baseRequest,request,response); - else - doHandle(target,baseRequest,request,response); - // end manual inline (pathentic attempt to reduce stack depth) + nextScope(target,baseRequest,request,response); } finally { @@ -1159,7 +1150,41 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu } } } + + /* ------------------------------------------------------------ */ + protected void requestInitialized(Request baseRequest, HttpServletRequest request) + { + // Handle the REALLY SILLY request events! + if (!_servletRequestAttributeListeners.isEmpty()) + for (ServletRequestAttributeListener l :_servletRequestAttributeListeners) + baseRequest.addEventListener(l); + if (!_servletRequestListeners.isEmpty()) + { + final ServletRequestEvent sre = new ServletRequestEvent(_scontext,request); + for (ServletRequestListener l : _servletRequestListeners) + l.requestInitialized(sre); + } + } + + /* ------------------------------------------------------------ */ + protected void requestDestroyed(Request baseRequest, HttpServletRequest request) + { + // Handle more REALLY SILLY request events! + if (!_servletRequestListeners.isEmpty()) + { + final ServletRequestEvent sre = new ServletRequestEvent(_scontext,request); + for (int i=_servletRequestListeners.size();i-->0;) + _servletRequestListeners.get(i).requestDestroyed(sre); + } + + if (!_servletRequestAttributeListeners.isEmpty()) + { + for (int i=_servletRequestAttributeListeners.size();i-->0;) + baseRequest.removeEventListener(_servletRequestAttributeListeners.get(i)); + } + } + /* ------------------------------------------------------------ */ /** * @see org.eclipse.jetty.server.handler.ScopedHandler#doHandle(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest, @@ -1173,19 +1198,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu try { if (new_context) - { - // Handle the REALLY SILLY request events! - if (!_servletRequestAttributeListeners.isEmpty()) - for (ServletRequestAttributeListener l :_servletRequestAttributeListeners) - baseRequest.addEventListener(l); - - if (!_servletRequestListeners.isEmpty()) - { - final ServletRequestEvent sre = new ServletRequestEvent(_scontext,request); - for (ServletRequestListener l : _servletRequestListeners) - l.requestInitialized(sre); - } - } + requestInitialized(baseRequest,request); switch(dispatch) { @@ -1203,50 +1216,24 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu if (Boolean.TRUE.equals(baseRequest.getAttribute(Dispatcher.__ERROR_DISPATCH))) break; - Object error = request.getAttribute(Dispatcher.ERROR_STATUS_CODE); - // We can just call sendError here. If there is no error page, then one will + // We can just call doError here. If there is no error page, then one will // be generated. If there is an error page, then a RequestDispatcher will be // used to route the request through appropriate filters etc. - response.sendError((error instanceof Integer)?((Integer)error).intValue():500); + doError(target,baseRequest,request,response); return; default: break; } - // start manual inline of nextHandle(target,baseRequest,request,response); - // noinspection ConstantIfStatement - if (never()) - nextHandle(target,baseRequest,request,response); - else if (_nextScope != null && _nextScope == _handler) - _nextScope.doHandle(target,baseRequest,request,response); - else if (_handler != null) - _handler.handle(target,baseRequest,request,response); - // end manual inline + nextHandle(target,baseRequest,request,response); } finally { - // Handle more REALLY SILLY request events! if (new_context) - { - if (!_servletRequestListeners.isEmpty()) - { - final ServletRequestEvent sre = new ServletRequestEvent(_scontext,request); - for (int i=_servletRequestListeners.size();i-->0;) - _servletRequestListeners.get(i).requestDestroyed(sre); - } - - if (!_servletRequestAttributeListeners.isEmpty()) - { - for (int i=_servletRequestAttributeListeners.size();i-->0;) - baseRequest.removeEventListener(_servletRequestAttributeListeners.get(i)); - } - } + requestDestroyed(baseRequest,request); } } - - - /** * @param request A request that is applicable to the scope, or null * @param reason An object that indicates the reason the scope is being entered. diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java index 254886b776e..d3cee263b57 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java @@ -74,6 +74,12 @@ public class ErrorHandler extends AbstractHandler */ @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException + { + doError(target,baseRequest,request,response); + } + + @Override + public void doError(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException { String method = request.getMethod(); if (!HttpMethod.GET.is(method) && !HttpMethod.POST.is(method) && !HttpMethod.HEAD.is(method)) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ScopedHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ScopedHandler.java index 6a7f8af1f0e..1d3eadcd4ec 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ScopedHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ScopedHandler.java @@ -129,7 +129,7 @@ public abstract class ScopedHandler extends HandlerWrapper } } - /* ------------------------------------------------------------ */ + /** ------------------------------------------------------------ */ /* */ @Override @@ -145,22 +145,23 @@ public abstract class ScopedHandler extends HandlerWrapper } /* ------------------------------------------------------------ */ - /* + /** * Scope the handler + *

Derived implementations should call {@link #nextScope(String, Request, HttpServletRequest, HttpServletResponse)} */ - public abstract void doScope(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException; + public void doScope(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) + throws IOException, ServletException + { + nextScope(target,baseRequest,request,response); + } /* ------------------------------------------------------------ */ - /* + /** * Scope the handler */ public final void nextScope(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - // this method has been manually inlined in several locations, but - // is called protected by an if(never()), so your IDE can find those - // locations if this code is changed. if (_nextScope!=null) _nextScope.doScope(target,baseRequest,request, response); else if (_outerScope!=null) @@ -170,8 +171,9 @@ public abstract class ScopedHandler extends HandlerWrapper } /* ------------------------------------------------------------ */ - /* + /** * Do the handler work within the scope. + *

Derived implementations should call {@link #nextHandle(String, Request, HttpServletRequest, HttpServletResponse)} */ public abstract void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException; @@ -182,19 +184,9 @@ public abstract class ScopedHandler extends HandlerWrapper */ public final void nextHandle(String target, final Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - // this method has been manually inlined in several locations, but - // is called protected by an if(never()), so your IDE can find those - // locations if this code is changed. if (_nextScope!=null && _nextScope==_handler) _nextScope.doHandle(target,baseRequest,request, response); else if (_handler!=null) - _handler.handle(target,baseRequest, request, response); + super.handle(target,baseRequest,request,response); } - - /* ------------------------------------------------------------ */ - protected boolean never() - { - return false; - } - } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java index af7712bc7d9..3bfd7e58faa 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java @@ -1581,14 +1581,7 @@ public class SessionHandler extends ScopedHandler @Override public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - // start manual inline of nextHandle(target,baseRequest,request,response); - if (never()) - nextHandle(target,baseRequest,request,response); - else if (_nextScope != null && _nextScope == _handler) - _nextScope.doHandle(target,baseRequest,request,response); - else if (_handler != null) - _handler.handle(target,baseRequest,request,response); - // end manual inline + nextHandle(target,baseRequest,request,response); } /* ------------------------------------------------------------ */ diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java index 3ddabdbb687..66970e26e23 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java @@ -128,7 +128,7 @@ public abstract class AbstractHttpTest } } - protected class ThrowExceptionOnDemandHandler extends AbstractHandler + protected class ThrowExceptionOnDemandHandler extends AbstractHandler.ErrorDispatchHandler { private final boolean throwException; private volatile Throwable failure; @@ -138,14 +138,8 @@ public abstract class AbstractHttpTest this.throwException = throwException; } - @Override final - public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException - { - super.handle(target,baseRequest,request,response); - } - @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (throwException) throw new TestCommitException(); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/DumpHandler.java b/jetty-server/src/test/java/org/eclipse/jetty/server/DumpHandler.java index 6e55843bdb0..ed61d574518 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/DumpHandler.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/DumpHandler.java @@ -38,15 +38,11 @@ import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; -/* ------------------------------------------------------------ */ /** Dump request handler. * Dumps GET and POST requests. * Useful for testing and debugging. - * - * @version $Id: DumpHandler.java,v 1.14 2005/08/13 00:01:26 gregwilkins Exp $ - * */ -public class DumpHandler extends AbstractHandler +public class DumpHandler extends AbstractHandler.ErrorDispatchHandler { private static final Logger LOG = Log.getLogger(DumpHandler.class); @@ -61,12 +57,8 @@ public class DumpHandler extends AbstractHandler this.label=label; } - /* ------------------------------------------------------------ */ - /* - * @see org.eclipse.jetty.server.server.Handler#handle(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int) - */ @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (!isStarted()) return; diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java index 89af28b26ea..b434a210414 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java @@ -857,10 +857,10 @@ public class HttpConnectionTest final CountDownLatch checkError = new CountDownLatch(1); String response = null; server.stop(); - server.setHandler(new DumpHandler() + server.setHandler(new AbstractHandler.ErrorDispatchHandler() { @Override - public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setHeader(HttpHeader.CONTENT_TYPE.toString(),MimeTypes.Type.TEXT_HTML.toString()); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java index 329e771a81b..2dce71ca6a5 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java @@ -84,7 +84,7 @@ public class HttpManyWaysToAsyncCommitBadBehaviourTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { final CyclicBarrier resumeBarrier = new CyclicBarrier(1); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java index 102380cd06a..02cd7651b7c 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java @@ -100,7 +100,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -118,7 +118,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } }).run(); } - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -158,7 +158,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -177,7 +177,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -216,7 +216,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -243,7 +243,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -286,7 +286,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -315,7 +315,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -357,7 +357,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -384,7 +384,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -426,7 +426,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -456,7 +456,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -501,7 +501,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -530,7 +530,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -573,7 +573,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -602,7 +602,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -646,7 +646,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -675,7 +675,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -714,7 +714,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -743,7 +743,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -783,7 +783,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, final HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getAttribute(CONTEXT_ATTRIBUTE) == null) { @@ -812,7 +812,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest }).run(); } baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java index bcd8b18aaea..3f4e788d321 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java @@ -86,10 +86,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(false); // not needed, but lets be explicit about what the test does - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -126,10 +126,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -166,11 +166,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.getWriter().write("foobar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -211,12 +211,12 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.getWriter().write("foobar"); response.flushBuffer(); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -254,11 +254,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.flushBuffer(); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -299,13 +299,13 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.getWriter().write("foo"); response.flushBuffer(); response.getWriter().write("bar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -374,12 +374,12 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setBufferSize(4); response.getWriter().write("foobar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -391,13 +391,13 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setBufferSize(8); response.getWriter().write("fo"); response.getWriter().write("obarfoobar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -409,7 +409,7 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setBufferSize(8); @@ -419,7 +419,7 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest response.getWriter().write("fo"); response.getWriter().write("ob"); response.getWriter().write("ar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -520,12 +520,12 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setContentLength(3); response.getWriter().write("foo"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -563,13 +563,13 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.setContentLength(3); // Only "foo" will get written and "bar" will be discarded response.getWriter().write("foobar"); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -607,12 +607,12 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.getWriter().write("foo"); response.setContentLength(3); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } @@ -650,12 +650,12 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest } @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); response.getWriter().write("foobar"); response.setContentLength(3); - super.doHandle(target, baseRequest, request, response); + super.doNonErrorHandle(target, baseRequest, request, response); } } } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java index af2e4947298..d36e9469af6 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java @@ -269,10 +269,10 @@ public abstract class HttpServerTestBase extends HttpServerTestFixture @Test public void testExceptionThrownInHandler() throws Exception { - configureServer(new AbstractHandler() + configureServer(new AbstractHandler.ErrorDispatchHandler() { @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { throw new QuietServletException("TEST handler exception"); } @@ -300,10 +300,10 @@ public abstract class HttpServerTestBase extends HttpServerTestFixture { final AtomicBoolean fourBytesRead = new AtomicBoolean(false); final AtomicBoolean earlyEOFException = new AtomicBoolean(false); - configureServer(new AbstractHandler() + configureServer(new AbstractHandler.ErrorDispatchHandler() { @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { baseRequest.setHandled(true); int contentLength = request.getContentLength(); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java index c147baed452..f1401e66341 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java @@ -1494,14 +1494,14 @@ public class RequestTest boolean check(HttpServletRequest request,HttpServletResponse response) throws IOException; } - private class RequestHandler extends AbstractHandler + private class RequestHandler extends AbstractHandler.ErrorDispatchHandler { private RequestTester _checker; @SuppressWarnings("unused") private String _content; @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ((Request)request).setHandled(true); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SniSslConnectionFactoryTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SniSslConnectionFactoryTest.java index 5534a7b2d6f..8b93f741035 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SniSslConnectionFactoryTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SniSslConnectionFactoryTest.java @@ -99,10 +99,10 @@ public class SniSslConnectionFactoryTest new HttpConnectionFactory(_https_config)); _server.addConnector(https); - _server.setHandler(new AbstractHandler() + _server.setHandler(new AbstractHandler.ErrorDispatchHandler() { @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) { baseRequest.setHandled(true); response.setStatus(200); diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java index bfd5f438c2b..14a5796fec8 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java @@ -478,16 +478,7 @@ public class ServletHandler extends ScopedHandler old_scope=baseRequest.getUserIdentityScope(); baseRequest.setUserIdentityScope(servlet_holder); - // start manual inline of nextScope(target,baseRequest,request,response); - if (never()) - nextScope(target,baseRequest,request,response); - else if (_nextScope!=null) - _nextScope.doScope(target,baseRequest,request, response); - else if (_outerScope!=null) - _outerScope.doHandle(target,baseRequest,request, response); - else - doHandle(target,baseRequest,request, response); - // end manual inline (pathentic attempt to reduce stack depth) + nextScope(target,baseRequest,request,response); } finally { diff --git a/jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketServer.java b/jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketServer.java index 32482cef377..8f62a69fe89 100644 --- a/jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketServer.java +++ b/jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketServer.java @@ -41,12 +41,11 @@ public class UnixSocketServer UnixSocketConnector connector = new UnixSocketConnector(server,proxy,http); server.addConnector(connector); - server.setHandler(new AbstractHandler() + server.setHandler(new AbstractHandler.ErrorDispatchHandler() { - @Override - protected void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException + protected void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) + throws IOException, ServletException { baseRequest.setHandled(true); response.setStatus(200); diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java index 855ab7c0908..92fbc2aed88 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java @@ -495,12 +495,11 @@ public class ServerTimeoutsTest extends AbstractTest int bytesPerSecond = 20; httpConfig.setMinRequestDataRate(bytesPerSecond); CountDownLatch handlerLatch = new CountDownLatch(1); - start(new AbstractHandler() + start(new AbstractHandler.ErrorDispatchHandler() { @Override - public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + public void doNonErrorHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - try { baseRequest.setHandled(true); @@ -518,6 +517,7 @@ public class ServerTimeoutsTest extends AbstractTest throw x; } } + }); DeferredContentProvider contentProvider = new DeferredContentProvider(); From 62331ce8f06f2a81ada1d68acffb2bdb4342618f Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Tue, 8 Nov 2016 16:26:03 +1100 Subject: [PATCH 099/109] Issue #1074 javadoc --- .../java/org/eclipse/jetty/server/HttpInput.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java index 46454ea652a..f524e237cba 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java @@ -260,6 +260,7 @@ public class HttpInput extends ServletInputStream implements Runnable int l; synchronized (_inputQ) { + // Setup blocking only if not async if (!isAsync()) { if (_blockUntil == 0) @@ -270,6 +271,7 @@ public class HttpInput extends ServletInputStream implements Runnable } } + // Caclulate minimum request rate for DOS protection long minRequestDataRate = _channelState.getHttpChannel().getHttpConfiguration().getMinRequestDataRate(); if (minRequestDataRate > 0 && _firstByteTimeStamp != -1) { @@ -282,6 +284,7 @@ public class HttpInput extends ServletInputStream implements Runnable } } + // Consume content looking for bytes to read while (true) { Content item = nextContent(); @@ -297,9 +300,13 @@ public class HttpInput extends ServletInputStream implements Runnable break; } + // No content, so should we block? if (!_state.blockForContent(this)) { + // Not blocking, so what should we return? l = _state.noContent(); + + // If EOF do we need to wake for allDataRead callback? if (l<0) wake = _channelState.onReadEof(); break; @@ -801,9 +808,7 @@ public class HttpInput extends ServletInputStream implements Runnable synchronized (_inputQ) { listener = _listener; - if (_channelState.isAsyncComplete()) - return; - + if (_state == EOF) return; @@ -837,10 +842,7 @@ public class HttpInput extends ServletInputStream implements Runnable } } else if (content==null) - { - LOG.warn("spurious run!"); - return; - } + throw new IllegalStateException(); } } From c499ec68f7d824fea420b10b504fbfedc7b94b0b Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 9 Nov 2016 10:42:44 +1100 Subject: [PATCH 100/109] Issue #1020 Add test for immortal session for mongo --- .../nosql/mongodb/ImmortalSessionTest.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/ImmortalSessionTest.java diff --git a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/ImmortalSessionTest.java b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/ImmortalSessionTest.java new file mode 100644 index 00000000000..f3c001e0d49 --- /dev/null +++ b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/ImmortalSessionTest.java @@ -0,0 +1,42 @@ +// +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + + +package org.eclipse.jetty.nosql.mongodb; + +import org.eclipse.jetty.server.session.AbstractImmortalSessionTest; +import org.eclipse.jetty.server.session.AbstractTestServer; + +/** + * ImmortalSessionTest + * + * + */ +public class ImmortalSessionTest extends AbstractImmortalSessionTest +{ + + /** + * @see org.eclipse.jetty.server.session.AbstractImmortalSessionTest#createServer(int, int, int) + */ + @Override + public AbstractTestServer createServer(int port, int maxInactiveMs, int scavengeMs) + { + return new MongoTestServer(port, maxInactiveMs, scavengeMs); + } + +} From ad3373920690923378fe14f01cba14b59f549ccf Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 9 Nov 2016 17:31:21 +1100 Subject: [PATCH 101/109] Add doc on session configuration use cases. --- .../administration/sessions/chapter.adoc | 1 + .../sessions/session-hierarchy.adoc | 2 +- .../sessions/sessions-details.adoc | 131 ++++++++++++++++++ 3 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 jetty-documentation/src/main/asciidoc/administration/sessions/sessions-details.adoc diff --git a/jetty-documentation/src/main/asciidoc/administration/sessions/chapter.adoc b/jetty-documentation/src/main/asciidoc/administration/sessions/chapter.adoc index cf8e60419dc..ee80d385f01 100644 --- a/jetty-documentation/src/main/asciidoc/administration/sessions/chapter.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/sessions/chapter.adoc @@ -24,6 +24,7 @@ If you need a session manager that can work in a clustered scenario with multipl Jetty also offers more niche session managers that leverage backends such as MongoDB, Inifinispan, or even Google's Cloud Data Store. include::session-hierarchy.adoc[] +include::sessions-details.adoc[] include::session-configuration-file-system.adoc[] include::session-configuration-jdbc.adoc[] include::session-configuration-mongodb.adoc[] diff --git a/jetty-documentation/src/main/asciidoc/administration/sessions/session-hierarchy.adoc b/jetty-documentation/src/main/asciidoc/administration/sessions/session-hierarchy.adoc index 7142a78da0c..91d6f3e345d 100644 --- a/jetty-documentation/src/main/asciidoc/administration/sessions/session-hierarchy.adoc +++ b/jetty-documentation/src/main/asciidoc/administration/sessions/session-hierarchy.adoc @@ -46,7 +46,7 @@ There is only one (1) `SessionDataStore` per `SessionCache`. // Null cache, memcache, non-sticky load-balancer // in-memory caching -Visually the Session Hierarchy can be represented like this: +Visually the session architecture can be represented like this: image::images/SessionsHierarchy.png[] diff --git a/jetty-documentation/src/main/asciidoc/administration/sessions/sessions-details.adoc b/jetty-documentation/src/main/asciidoc/administration/sessions/sessions-details.adoc new file mode 100644 index 00000000000..693a2706cf6 --- /dev/null +++ b/jetty-documentation/src/main/asciidoc/administration/sessions/sessions-details.adoc @@ -0,0 +1,131 @@ +// ======================================================================== +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. +// ======================================================================== +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== + +[[sessions-details]] +=== Session Configuration and Use Cases + +==== Configuration + +===== SessionIdManager + +There is a maximum of 1 SessionIdManager per jetty Server instance. Its purpose is to generate fresh, unique session ids and to coordinate the re-use of session ids amongst co-operating contexts. + +Unlike in previous versions of jetty, the SessionIdManager is agnostic with respect to the type of clustering technology chosen. + +Jetty provides a default implementation - the DefaultSessionIdManager - which should meet most users' needs. +If you do not explicitly enable one of the session modules, or otherwise configure a SessionIdManager, the DefaultSessionIdManager will be used. + +If the DefaultSessionIdManager does not meet your needs, you can extend the org.eclipse.jetty.server.session.AbstractSessionIdManager or do a fresh implementation of the org.eclipse.jetty.server.session.SessionIdManager interface. + +===== HouseKeeper + +There is a maximum of 1 HouseKeeper per SessionIdManager. Its purpose is to periodically poll the SessionHandlers to clean out expired sessions. + +By default the HouseKeeper will poll the SessionHandlers every 10 mins to find and delete expired sessions, although this interval is configurable. + + +===== SessionCache + +There is 1 SessionCache per context. Its purpose is to provide an L1 cache of Session objects. +Having a working set of Session objects in memory allows multiple simultaneous requests for the same session to share the same Session object. + +Jetty provides 2 SessionCache implementations: the DefaultSessionCache and the NullSessionCache. +The DefaultSessionCache retains Session objects in memory in a cache and has a number of configuration options to control cache behaviour. +It is the default that is used if no other SessionCache has been configured. +It is suitable for non-clustered and clustered deployments with a sticky load balancer, as well as clustered deployments with a non-sticky load balancer, with some caveats. +The NullSessionCache does not actually cache any objects: each request uses a fresh Session object. +It is suitable for clustered deployments without a sticky load balancer and non-clustered deployments when purely minimal support for sessions is needed. + +SessionCaches always write out a Session to the SessionDataStore whenever the last request for the Session exits. + +They can also be configured to do an immediate, eager write of a freshly created session. +This can be useful if you are likely to experience multiple, near simultaneous requests referencing the same session, eg with HTTP2 and you don't have a sticky load balancer. +Alternatively, if the eager write is not done, application paths which create and then invalidate a session within a single request never incur the cost of writing to persistent storage. + +Additionally, if the EVICT_ON_INACTIVITY eviction policy is in use, you can configure the DefaultSessionCache to force a write of the Session to the SessionDataStore just before the Session is evicted. + +===== SessionDataStore + +There is 1 SessionDataStore per context. Its purpose is to handle all persistance related operations on sessions. + +The common characteristics for all SessionDataStores are whether or not they support passivation, and the length of the grace period. + +Supporting passivation means that session data is serialized. +Some persistence mechanisms serialize, such as JDBC, GCloud Datastore etc, whereas others may store an object in shared memory eg Infinispan when configured with a local cache. + +Whether or not a clustering technology entails passivation controls whether or not the session passivation/activation listeners will be called. + +The grace period is an interval, configured in seconds, that attempts to deal with the non-transactional nature of sessions with regard to finding sessions that have expired. +Due to the lack of transactionality, in a clustered configuration, even with a sticky load balancer, it is always possible that a Session is live on a node but has not yet been updated in the persistent store. +When SessionDataStores search their persistant store to find sessions that have expired, they typically perform a few sequential searches: +. the first verifies the expiration of a list of candidate session ids suggested by the SessionCache +. the second finds sessions in the store that have expired which were last live on the current node +. the third finds sessions that expired a "while" ago, irrespective of on which node they were last used: the definition of "a while" is based on the grace period. + + +===== CachingSessionDataStore + +The CachingSessionDataStore is a special type of SessionDataStore that inserts an L2 cache of SessionData - the SessionDataMap - in front of a delegate SessionDataStore. +The SessionDataMap is preferentially consulted before the actual SessionDataStore on reads. +This can improve the performance of slow stores. + +At the time of writing, jetty provides one implementation of the this L2 cache based on Memcached, the MemcachedSessionDataMap. + + +==== Use Cases + +===== Clustering with a Sticky Load Balancer + +Preferably, your cluster will utilize a sticky load balancer. +This will route requests for the same session to the same jetty instance. +In this case, the DefaultSessionCache can be used to keep in-use Session objects in memory. +You can fine-tune the cache by controlling how long Session objects remain in memory with the eviction policy settings. + +If you have a large number of Sessions or very large Session objects, then you might want to manage your memory allocation by controlling the amount of time Session objects spend in the cache. +The EVICT_ON_SESSION_EXIT eviction policy will remove a Session object from the cache as soon as the last simultaneous request referencing it exits. +Alternatively, the EVICT_ON_INACTIVITY policy will remove a Session object from the cache after a configurable amount of time has passed without a request referencing it. + +If your Sessions are very long lived and infrequently referenced, you might use the EVICT_ON_INACTIVITY_POLICY to control the size of the cache. + +If your Sessions are small, or relatively few or stable in number or they are read-mostly, then you might select the NEVER_EVICT policy. +With this policy, Session objects will remain in the cache until they either expire or are explicitly invalidated. + +If you have a high likelihood of simultaneous requests for the same session object, then the EVICT_ON_SESSION_EXIT policy will ensure the Session object stays in the cache as long as it is needed. + + +===== Clustering without a Sticky Load Balancer + +Without a sticky load balancer requests for the same session may arrive on any node in the cluster. +This means it is likely that the copy of the Session object in any SessionCache is likely to be out-of-date, as the Session was probably last accessed on a different node. +In this case, your choices are to use either the NullSessionCache or to de-tuned the DefaultSessionCache. +If you use the NullSessionCache all Session object caching is avoided. +This means that every time a request references a session it must be brought in from persistent storage. +It also means that there can be no sharing of Session objects for multiple requests for the same session: each will have their own Session object. +Furthermore, the outcome of session writes are indeterminate because the Servlet Specification does not mandate ACID transactions for sessions. + +If you use the DefaultSessionCache, there is a risk that the caches on some nodes will contain out-of-date session information as simultaneous requests for the same session are scattered over the cluster. +To mitigate this somewhat you can use the EVICT_ON_SESSION_EXIT eviction policy: this will ensure that the Session is removed from the cache as soon as the last simultaneous request for it exits. +Again, due to the lack of session transactionality, the ordering outcome of write operations cannot be guaranteed. +As the Session is cached while at least one request is accessing it, it is possible for multiple simultaneous requests to share the same Session object. + + +===== Handling corrupted or unloadable session data + +For various reasons it might not be possible for the SessionDataStore to re-read a stored session. +One scenario is that the session stores a serialized object in it's attributes, and after a redeployment there in an incompatible class change. +Using the setter SessionCache.setRemoveUnloadableSessions(true) will allow the SessionDataStore to delete the unreadable session from persistent storage. +This can be useful from preventing the scavenger from continually erroring on the same expired, but unrestorable session. + From 3b36b13d3153498c4f32a314b002236cd071ccc1 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 10 Nov 2016 09:56:57 +1100 Subject: [PATCH 102/109] Issue #1062 Ssl Nonblocking read callback --- .../eclipse/jetty/io/ssl/SslConnection.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java index 20e6c2b0f3b..8bc06cad61b 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java @@ -109,6 +109,27 @@ public class SslConnection extends AbstractConnection _decryptedEndPoint.getFillInterest().fillable(); } }; + + Callback _nonBlockingReadCallback = new Callback.NonBlocking() + { + @Override + public void succeeded() + { + onFillable(); + } + + @Override + public void failed(final Throwable x) + { + onFillInterestedFailed(x); + } + + @Override + public String toString() + { + return String.format("SSLC.NBReadCB@%x{%s}", SslConnection.this.hashCode(),SslConnection.this); + } + }; public SslConnection(ByteBufferPool byteBufferPool, Executor executor, EndPoint endPoint, SSLEngine sslEngine) { @@ -944,11 +965,20 @@ public class SslConnection extends AbstractConnection getEndPoint().close(); } } - + private void ensureFillInterested() { if (!SslConnection.this.isFillInterested()) - SslConnection.this.fillInterested(); + { + if (getFillInterest().isCallbackNonBlocking()) + { + SslConnection.this.getEndPoint().fillInterested(_nonBlockingReadCallback); + } + else + { + SslConnection.this.fillInterested(); + } + } } @Override From 1eb4e3b4e38dc57585f2072f1ea0932a13c308c4 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 10 Nov 2016 10:17:46 +1100 Subject: [PATCH 103/109] Issue #1062 Ssl Thread Starvation --- .../eclipse/jetty/io/ssl/SslConnection.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java index b1477dbbfe5..b54288e1ccd 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java @@ -39,12 +39,12 @@ import org.eclipse.jetty.io.ByteBufferPool; import org.eclipse.jetty.io.Connection; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EofException; -import org.eclipse.jetty.io.SelectChannelEndPoint; import org.eclipse.jetty.io.WriteFlusher; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; +import org.eclipse.jetty.util.thread.Invocable.InvocationType; /** * A Connection that acts as an interceptor between an EndPoint providing SSL encrypted data @@ -111,7 +111,7 @@ public class SslConnection extends AbstractConnection } }; - Callback _nonBlockingReadCallback = new Callback.NonBlocking() + Callback _sslReadCallback = new Callback() { @Override public void succeeded() @@ -125,6 +125,12 @@ public class SslConnection extends AbstractConnection onFillInterestedFailed(x); } + @Override + public InvocationType getInvocationType() + { + return getDecryptedEndPoint().getFillInterest().getCallbackInvocationType(); + } + @Override public String toString() { @@ -983,14 +989,9 @@ public class SslConnection extends AbstractConnection { if (!SslConnection.this.isFillInterested()) { - if (getFillInterest().isCallbackNonBlocking()) - { - SslConnection.this.getEndPoint().fillInterested(_nonBlockingReadCallback); - } - else - { - SslConnection.this.fillInterested(); - } + if (LOG.isDebugEnabled()) + LOG.debug("fillInterested SSL NB {}",SslConnection.this); + SslConnection.this.getEndPoint().fillInterested(_sslReadCallback); } } From fe1704c89a8199f20f91530789ce0eafc30c5b5d Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 10 Nov 2016 13:56:33 +1100 Subject: [PATCH 104/109] javadoc --- .../src/main/java/org/eclipse/jetty/io/ByteArrayEndPoint.java | 2 +- .../src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java | 3 +-- .../java/org/eclipse/jetty/util/ssl/SslContextFactory.java | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ByteArrayEndPoint.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ByteArrayEndPoint.java index 4285e49979e..be1e49dad3d 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ByteArrayEndPoint.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ByteArrayEndPoint.java @@ -331,7 +331,7 @@ public class ByteArrayEndPoint extends AbstractEndPoint * @param time Time to wait * @param unit Units for time to wait * @return The buffer of output - * @throws InterruptedException + * @throws InterruptedException if interrupted */ public ByteBuffer waitForOutput(long time,TimeUnit unit) throws InterruptedException { diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java index b54288e1ccd..bec39111f58 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java @@ -44,14 +44,13 @@ import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.util.thread.Invocable.InvocationType; /** * A Connection that acts as an interceptor between an EndPoint providing SSL encrypted data * and another consumer of an EndPoint (typically an {@link Connection} like HttpConnection) that * wants unencrypted data. *

- * The connector uses an {@link EndPoint} (typically {@link SelectChannelEndPoint}) as + * The connector uses an {@link EndPoint} (typically SocketChannelEndPoint) as * it's source/sink of encrypted data. It then provides an endpoint via {@link #getDecryptedEndPoint()} to * expose a source/sink of unencrypted data to another connection (eg HttpConnection). *

diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java b/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java index f911ab23244..5554ce46ed7 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java @@ -1602,7 +1602,6 @@ public class SslContextFactory extends AbstractLifeCycle *

* This is based on the information on effective key lengths in RFC 2246 - The TLS Protocol * Version 1.0, Appendix C. CipherSuite definitions: - *

*

      *                         Effective
      *     Cipher       Type    Key Bits

From 9ade6747d8dc4d400d4dad3d6d5195386d9ba736 Mon Sep 17 00:00:00 2001
From: Jan Bartel 
Date: Fri, 11 Nov 2016 10:26:56 +1100
Subject: [PATCH 105/109] Update gcloud datastore doc

---
 .../administration/sessions/session-configuration-gcloud.adoc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/jetty-documentation/src/main/asciidoc/administration/sessions/session-configuration-gcloud.adoc b/jetty-documentation/src/main/asciidoc/administration/sessions/session-configuration-gcloud.adoc
index 62d64b5f601..ccfbad946f2 100644
--- a/jetty-documentation/src/main/asciidoc/administration/sessions/session-configuration-gcloud.adoc
+++ b/jetty-documentation/src/main/asciidoc/administration/sessions/session-configuration-gcloud.adoc
@@ -44,7 +44,9 @@ The Google deployment tools will automatically configure the project and authent
 
 ==== Configuring Indexes for Session Data
 
-Regardless of whether you're running inside or outside google infrastructure you will need to upload a file that defines some indexes that are needed by the GCloud datastore session data store.
+Using some special, composite indexes can speed up session search operations, although it may make write operations slower.
+By default, indexes will not be used.
+In order to use them, you will need to manually upload a file that defines the indexes.
 This file is named `index.yaml` and you can find it in your distribution in `${jetty.base}/etc/sessions/gcloud/index.yaml`.
 
 //TODO - Add index.yaml properties? Test with new 9.4.x. It needs uploaded to Google as part of config

From c0c7a9a5df6c73136a9a39aa3d0cb1c1c6a6d2d9 Mon Sep 17 00:00:00 2001
From: Jan Bartel 
Date: Fri, 11 Nov 2016 10:39:34 +1100
Subject: [PATCH 106/109] Issue #1091

---
 .../main/config/modules/gcloud-datastore.mod  | 43 ++++++-------------
 jetty-gcloud/pom.xml                          |  2 +-
 2 files changed, 14 insertions(+), 31 deletions(-)

diff --git a/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod b/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod
index d87ad7f94c4..82ae530c008 100644
--- a/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod
+++ b/jetty-gcloud/jetty-gcloud-session-manager/src/main/config/modules/gcloud-datastore.mod
@@ -14,56 +14,38 @@ jul-impl
 maven://aopalliance/aopalliance/1.0|lib/gcloud/aopalliance-1.0.jar
 maven://com.fasterxml.jackson.core/jackson-core/2.1.3|lib/gcloud/jackson-core-2.1.3.jar
 maven://com.google.api-client/google-api-client-appengine/1.21.0|lib/gcloud/google-api-client-appengine-1.21.0.jar
-maven://com.google.api-client/google-api-client-servlet/1.21.0|lib/gcloud/google-api-client-servlet-1.21.0.jar
 maven://com.google.api-client/google-api-client/1.20.0|lib/gcloud/google-api-client-1.20.0.jar
+maven://com.google.api-client/google-api-client-servlet/1.21.0|lib/gcloud/google-api-client-servlet-1.21.0.jar
+maven://com.google.api/gax/0.0.21|lib/gcloud/gax-0.0.21.jar
 maven://com.google.api.grpc/grpc-google-common-protos/0.1.0|lib/gcloud/grpc-google-common-protos-0.1.0.jar
 maven://com.google.api.grpc/grpc-google-iam-v1/0.1.0|lib/gcloud/grpc-google-iam-v1-0.1.0.jar
-maven://com.google.api/gax/0.0.18|lib/gcloud/gax-0.0.18.jar
 maven://com.google.auth/google-auth-library-credentials/0.3.1|lib/gcloud/google-auth-library-credentials-0.3.1.jar
 maven://com.google.auth/google-auth-library-oauth2-http/0.3.1|lib/gcloud/google-auth-library-oauth2-http-0.3.1.jar
-maven://com.google.auto.value/auto-value/1.1|lib/gcloud/auto-value-1.1.jar
-maven://com.google.cloud.datastore/datastore-v1-proto-client/1.2.0|lib/gcloud/datastore-v1-proto-client-1.2.0.jar
-maven://com.google.cloud.datastore/datastore-v1-protos/1.2.0|lib/gcloud/datastore-v1-protos-1.2.0.jar
-maven://com.google.cloud/google-cloud-core/0.4.0|lib/gcloud/google-cloud-core-0.4.0.jar
-maven://com.google.cloud/google-cloud-datastore/0.4.0|lib/gcloud/google-cloud-datastore-0.4.0.jar
+maven://com.google.auto.value/auto-value/1.2|lib/gcloud/auto-value-1.2.jar
+maven://com.google.cloud.datastore/datastore-v1-proto-client/1.3.0|lib/gcloud/datastore-v1-proto-client-1.3.0.jar
+maven://com.google.cloud.datastore/datastore-v1-protos/1.3.0|lib/gcloud/datastore-v1-protos-1.3.0.jar
+maven://com.google.cloud/google-cloud-core/0.5.1|lib/gcloud/google-cloud-core-0.5.0.jar
+maven://com.google.cloud/google-cloud-datastore/0.5.1|lib/gcloud/google-cloud-datastore-0.5.1.jar
 maven://com.google.code.findbugs/jsr305/1.3.9|lib/gcloud/jsr305-1.3.9.jar
 maven://com.google.code.gson/gson/2.3|lib/gcloud/gson-2.3.jar
 maven://com.google.guava/guava/19.0|lib/gcloud/guava-19.0.jar
 maven://com.google.http-client/google-http-client-appengine/1.21.0|lib/gcloud/google-http-client-appengine-1.21.0.jar
-maven://com.google.http-client/google-http-client-jackson/1.21.0|lib/gcloud/google-http-client-jackson-1.21.0.jar
 maven://com.google.http-client/google-http-client-jackson2/1.19.0|lib/gcloud/google-http-client-jackson2-1.19.0.jar
+maven://com.google.http-client/google-http-client-jackson/1.21.0|lib/gcloud/google-http-client-jackson-1.21.0.jar
+maven://com.google.http-client/google-http-client/1.21.0|lib/gcloud/google-http-client-1.21.0.jar
 maven://com.google.http-client/google-http-client-jdo/1.21.0|lib/gcloud/google-http-client-jdo-1.21.0.jar
 maven://com.google.http-client/google-http-client-protobuf/1.20.0|lib/gcloud/google-http-client-protobuf-1.20.0.jar
-maven://com.google.http-client/google-http-client/1.21.0|lib/gcloud/google-http-client-1.21.0.jar
 maven://com.google.inject/guice/4.0|lib/gcloud/guice-4.0.jar
 maven://com.google.oauth-client/google-oauth-client-appengine/1.21.0|lib/gcloud/google-oauth-client-appengine-1.21.0.jar
-maven://com.google.oauth-client/google-oauth-client-servlet/1.21.0|lib/gcloud/google-oauth-client-servlet-1.21.0.jar
 maven://com.google.oauth-client/google-oauth-client/1.21.0|lib/gcloud/google-oauth-client-1.21.0.jar
-maven://com.google.protobuf.nano/protobuf-javanano/3.0.0-alpha-5|lib/gcloud/protobuf-javanano-3.0.0-alpha-5.jar
-maven://com.google.protobuf/protobuf-java-util/3.0.0|lib/gcloud/protobuf-java-util-3.0.0.jar
+maven://com.google.oauth-client/google-oauth-client-servlet/1.21.0|lib/gcloud/google-oauth-client-servlet-1.21.0.jar
 maven://com.google.protobuf/protobuf-java/3.0.0|lib/gcloud/protobuf-java-3.0.0.jar
-maven://com.google.protobuf/protobuf-lite/3.0.1|lib/gcloud/protobuf-lite-3.0.1.jar
-maven://com.squareup.okhttp/okhttp/2.5.0|lib/gcloud/okhttp-2.5.0.jar
-maven://com.squareup.okio/okio/1.6.0|lib/gcloud/okio-1.6.0.jar
+maven://com.google.protobuf/protobuf-java-util/3.0.0|lib/gcloud/protobuf-java-util-3.0.0.jar
 maven://commons-codec/commons-codec/1.3|lib/gcloud/commons-codec-1.3.jar
-maven://io.grpc/grpc-all/1.0.1|lib/gcloud/grpc-all-1.0.1.jar
-maven://io.grpc/grpc-auth/1.0.1|lib/gcloud/grpc-auth-1.0.1.jar
 maven://io.grpc/grpc-context/1.0.1|lib/gcloud/grpc-context-1.0.1.jar
 maven://io.grpc/grpc-core/1.0.1|lib/gcloud/grpc-core-1.0.1.jar
-maven://io.grpc/grpc-netty/1.0.1|lib/gcloud/grpc-netty-1.0.1.jar
-maven://io.grpc/grpc-okhttp/1.0.1|lib/gcloud/grpc-okhttp-1.0.1.jar
-maven://io.grpc/grpc-protobuf-lite/1.0.1|lib/gcloud/grpc-protobuf-lite-1.0.1.jar
-maven://io.grpc/grpc-protobuf-nano/1.0.1|lib/gcloud/grpc-protobuf-nano-1.0.1.jar
 maven://io.grpc/grpc-protobuf/1.0.1|lib/gcloud/grpc-protobuf-1.0.1.jar
-maven://io.grpc/grpc-stub/1.0.1|lib/gcloud/grpc-stub-1.0.1.jar
-maven://io.netty/netty-buffer/4.1.3.Final|lib/gcloud/netty-buffer-4.1.3.Final.jar
-maven://io.netty/netty-codec-http/4.1.3.Final|lib/gcloud/netty-codec-http-4.1.3.Final.jar
-maven://io.netty/netty-codec-http2/4.1.3.Final|lib/gcloud/netty-codec-http2-4.1.3.jar
-maven://io.netty/netty-codec/4.1.3.Final|lib/gcloud/netty-codec-4.1.3.Final.jar
-maven://io.netty/netty-common/4.1.3.Final|lib/gcloud/netty-common-4.1.3.Final.jar
-maven://io.netty/netty-handler/4.1.3.Final|lib/gcloud/netty-handler-4.1.3.Final.jar
-maven://io.netty/netty-resolver/4.1.3.Final|lib/gcloud/netty-resolver-4.1.3.Final.jar
-maven://io.netty/netty-transport/4.1.3.Final|lib/gcloud/netty-transport-4.1.3.Final.jar
+maven://io.grpc/grpc-protobuf-lite/1.0.1|lib/gcloud/grpc-protobuf-lite-1.0.1.jar
 maven://javax.inject/javax.inject/1|lib/gcloud/javax.inject-1.jar
 maven://javax.jdo/jdo2-api/2.3-eb|lib/gcloud/jdo2-api-2.3-eb.jar
 maven://javax.transaction/transaction-api/1.1|lib/gcloud/transaction-api-1.1.jar
@@ -72,3 +54,4 @@ maven://org.apache.httpcomponents/httpclient/4.0.1|lib/gcloud/httpclient-4.0.1.j
 maven://org.apache.httpcomponents/httpcore/4.0.1|lib/gcloud/httpcore-4.0.1.jar
 maven://org.codehaus.jackson/jackson-core-asl/1.9.11|lib/gcloud/jackson-core-asl-1.9.11.jar
 maven://org.json/json/20151123|lib/gcloud/json-20151123.jar
+
diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml
index d73a0ab7667..dbb86dd4e58 100644
--- a/jetty-gcloud/pom.xml
+++ b/jetty-gcloud/pom.xml
@@ -13,7 +13,7 @@
   Jetty :: GCloud
 
   
-    0.4.0
+    0.5.1
   
 
   

From 708104ccafa005f20481c0a3bc39df44da6dca8d Mon Sep 17 00:00:00 2001
From: Joakim Erdfelt 
Date: Mon, 14 Nov 2016 14:08:11 -0700
Subject: [PATCH 107/109] Issue #1098 adding unit tests for bug report.

---
 .../src/test/java/org/eclipse/jetty/http/MimeTypesTest.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java b/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
index a45260f1639..362a211d03c 100644
--- a/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
+++ b/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
@@ -92,8 +92,8 @@ public class MimeTypesTest
         assertEquals(null,MimeTypes.getCharsetFromContentType("foo/bar"));
         assertEquals("utf-8",MimeTypes.getCharsetFromContentType("foo/bar;charset=uTf8"));
         assertEquals("utf-8",MimeTypes.getCharsetFromContentType("foo/bar;other=\"charset=abc\";charset=uTf8"));
+        assertEquals("utf-8",MimeTypes.getCharsetFromContentType("application/pdf;;; charset=UTF-8"));
         assertEquals("utf-8",MimeTypes.getCharsetFromContentType("text/html;charset=utf-8"));
-
     }
 
     @Test

From 5e5d6913e6173e9915aa6ab4f8c55bcc739a7132 Mon Sep 17 00:00:00 2001
From: Simone Bordet 
Date: Mon, 14 Nov 2016 22:28:15 +0100
Subject: [PATCH 108/109] Fixes #1099 - PushCacheFilter pushes POST requests.

---
 .../http2/client/PushCacheFilterTest.java     | 86 +++++++++++++++++++
 .../jetty/servlets/PushCacheFilter.java       | 12 ++-
 2 files changed, 94 insertions(+), 4 deletions(-)

diff --git a/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java b/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java
index 9b796108397..8fccc5ae1f7 100644
--- a/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java
+++ b/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java
@@ -799,4 +799,90 @@ public class PushCacheFilterTest extends AbstractTest
         Assert.assertTrue(pushLatch.await(5, TimeUnit.SECONDS));
         Assert.assertTrue(primaryResponseLatch.await(5, TimeUnit.SECONDS));
     }
+
+    @Test
+    public void testPOSTRequestIsNotPushed() throws Exception
+    {
+        final String primaryResource = "/primary.html";
+        final String secondaryResource = "/secondary.png";
+        final byte[] secondaryData = "SECONDARY".getBytes("UTF-8");
+        start(new HttpServlet()
+        {
+            @Override
+            protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+            {
+                String requestURI = req.getRequestURI();
+                ServletOutputStream output = resp.getOutputStream();
+                if (requestURI.endsWith(primaryResource))
+                    output.print("PRIMARY");
+                else if (requestURI.endsWith(secondaryResource))
+                    output.write(secondaryData);
+            }
+        });
+
+        final Session session = newClient(new Session.Listener.Adapter());
+
+        // Request for the primary and secondary resource to build the cache.
+        final String referrerURI = "http://localhost:" + connector.getLocalPort() + servletPath + primaryResource;
+        HttpFields primaryFields = new HttpFields();
+        MetaData.Request primaryRequest = newRequest("GET", primaryResource, primaryFields);
+        final CountDownLatch warmupLatch = new CountDownLatch(1);
+        session.newStream(new HeadersFrame(primaryRequest, null, true), new Promise.Adapter<>(), new Stream.Listener.Adapter()
+        {
+            @Override
+            public void onData(Stream stream, DataFrame frame, Callback callback)
+            {
+                callback.succeeded();
+                if (frame.isEndStream())
+                {
+                    // Request for the secondary resource.
+                    HttpFields secondaryFields = new HttpFields();
+                    secondaryFields.put(HttpHeader.REFERER, referrerURI);
+                    MetaData.Request secondaryRequest = newRequest("GET", secondaryResource, secondaryFields);
+                    session.newStream(new HeadersFrame(secondaryRequest, null, true), new Promise.Adapter<>(), new Stream.Listener.Adapter()
+                    {
+                        @Override
+                        public void onData(Stream stream, DataFrame frame, Callback callback)
+                        {
+                            callback.succeeded();
+                            warmupLatch.countDown();
+                        }
+                    });
+                }
+            }
+        });
+        Assert.assertTrue(warmupLatch.await(5, TimeUnit.SECONDS));
+
+        // Request again the primary resource with POST, we should not get the secondary resource pushed.
+        primaryRequest = newRequest("POST", primaryResource, primaryFields);
+        final CountDownLatch primaryResponseLatch = new CountDownLatch(1);
+        final CountDownLatch pushLatch = new CountDownLatch(1);
+        session.newStream(new HeadersFrame(primaryRequest, null, true), new Promise.Adapter<>(), new Stream.Listener.Adapter()
+        {
+            @Override
+            public Stream.Listener onPush(Stream stream, PushPromiseFrame frame)
+            {
+                return new Adapter()
+                {
+                    @Override
+                    public void onData(Stream stream, DataFrame frame, Callback callback)
+                    {
+                        callback.succeeded();
+                        if (frame.isEndStream())
+                            pushLatch.countDown();
+                    }
+                };
+            }
+
+            @Override
+            public void onData(Stream stream, DataFrame frame, Callback callback)
+            {
+                callback.succeeded();
+                if (frame.isEndStream())
+                    primaryResponseLatch.countDown();
+            }
+        });
+        Assert.assertTrue(primaryResponseLatch.await(5, TimeUnit.SECONDS));
+        Assert.assertFalse(pushLatch.await(1, TimeUnit.SECONDS));
+    }
 }
diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
index dbc2baad0cd..73b77e6ba25 100644
--- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
+++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
@@ -44,6 +44,7 @@ import javax.servlet.http.HttpServletRequest;
 import org.eclipse.jetty.http.HttpField;
 import org.eclipse.jetty.http.HttpFields;
 import org.eclipse.jetty.http.HttpHeader;
+import org.eclipse.jetty.http.HttpMethod;
 import org.eclipse.jetty.http.HttpURI;
 import org.eclipse.jetty.http.HttpVersion;
 import org.eclipse.jetty.server.Dispatcher;
@@ -115,17 +116,20 @@ public class PushCacheFilter implements Filter
     @Override
     public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
     {
-        if (HttpVersion.fromString(req.getProtocol()).getVersion() < 20)
+        HttpServletRequest request = (HttpServletRequest)req;
+
+        if (HttpVersion.fromString(req.getProtocol()).getVersion() < 20 ||
+                !HttpMethod.GET.is(request.getMethod()))
         {
             chain.doFilter(req, resp);
             return;
         }
 
         long now = System.nanoTime();
-        HttpServletRequest request = (HttpServletRequest)req;
 
         // Iterating over fields is more efficient than multiple gets
-        HttpFields fields = Request.getBaseRequest(request).getHttpFields();
+        Request jettyRequest = Request.getBaseRequest(request);
+        HttpFields fields = jettyRequest.getHttpFields();
         boolean conditional = false;
         String referrer = null;
         loop:
@@ -174,7 +178,7 @@ public class PushCacheFilter implements Filter
 
             if (referredFromHere)
             {
-                if ("GET".equalsIgnoreCase(request.getMethod()))
+                if (HttpMethod.GET.is(request.getMethod()))
                 {
                     String referrerPath = referrerURI.getPath();
                     if (referrerPath == null)

From 5833f7e135f2dd07e5f6d04e14cf112cd8fc4131 Mon Sep 17 00:00:00 2001
From: Joakim Erdfelt 
Date: Mon, 14 Nov 2016 14:59:59 -0700
Subject: [PATCH 109/109] Issue #1098 - Correcting Content-Type parsing mistake
 with multiple ';' characters

---
 .../org/eclipse/jetty/http/MimeTypes.java     | 12 +++---
 .../org/eclipse/jetty/http/MimeTypesTest.java | 41 ++++++++++++-------
 2 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/MimeTypes.java b/jetty-http/src/main/java/org/eclipse/jetty/http/MimeTypes.java
index 04d8cebe6f4..ea68317c2f2 100644
--- a/jetty-http/src/main/java/org/eclipse/jetty/http/MimeTypes.java
+++ b/jetty-http/src/main/java/org/eclipse/jetty/http/MimeTypes.java
@@ -21,7 +21,6 @@ package org.eclipse.jetty.http;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.net.URL;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
@@ -30,14 +29,11 @@ import java.util.HashSet;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.MissingResourceException;
 import java.util.Properties;
-import java.util.ResourceBundle;
 import java.util.Set;
 
 import org.eclipse.jetty.util.ArrayTrie;
 import org.eclipse.jetty.util.BufferUtil;
-import org.eclipse.jetty.util.Loader;
 import org.eclipse.jetty.util.StringUtil;
 import org.eclipse.jetty.util.Trie;
 import org.eclipse.jetty.util.log.Log;
@@ -399,6 +395,12 @@ public class MimeTypes
                     quote=false;
                 continue;
             }
+            
+            if(';'==b && state<=8)
+            {
+                state = 1;
+                continue;
+            }
 
             switch(state)
             {
@@ -408,8 +410,6 @@ public class MimeTypes
                         quote=true;
                         break;
                     }
-                    if (';'==b)
-                        state=1;
                     break;
 
                 case 1: if ('c'==b) state=2; else if (' '!=b) state=0; break;
diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java b/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
index 362a211d03c..8e39c05ae25 100644
--- a/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
+++ b/jetty-http/src/test/java/org/eclipse/jetty/http/MimeTypesTest.java
@@ -18,9 +18,11 @@
 
 package org.eclipse.jetty.http;
 
+import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
 
 import org.junit.Test;
 
@@ -75,25 +77,34 @@ public class MimeTypesTest
         assertNotNull(prefix,contentType);
         assertEquals(prefix,expectedMimeType,contentType);
     }
+    
+    private void assertCharsetFromContentType(String contentType, String expectedCharset)
+    {
+        assertThat("getCharsetFromContentType(\"" + contentType + "\")",
+                MimeTypes.getCharsetFromContentType(contentType), is(expectedCharset));
+    }
 
     @Test
     public void testCharsetFromContentType()
     {
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar;charset=abc;some=else"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar;charset=abc"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar ; charset = abc"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar ; charset = abc ; some=else"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar;other=param;charset=abc;some=else"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar;other=param;charset=abc"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar other = param ; charset = abc"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar other = param ; charset = abc ; some=else"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar other = param ; charset = abc"));
-        assertEquals("abc",MimeTypes.getCharsetFromContentType("foo/bar other = param ; charset = \"abc\" ; some=else"));
-        assertEquals(null,MimeTypes.getCharsetFromContentType("foo/bar"));
-        assertEquals("utf-8",MimeTypes.getCharsetFromContentType("foo/bar;charset=uTf8"));
-        assertEquals("utf-8",MimeTypes.getCharsetFromContentType("foo/bar;other=\"charset=abc\";charset=uTf8"));
-        assertEquals("utf-8",MimeTypes.getCharsetFromContentType("application/pdf;;; charset=UTF-8"));
-        assertEquals("utf-8",MimeTypes.getCharsetFromContentType("text/html;charset=utf-8"));
+        assertCharsetFromContentType("foo/bar;charset=abc;some=else", "abc");
+        assertCharsetFromContentType("foo/bar;charset=abc", "abc");
+        assertCharsetFromContentType("foo/bar ; charset = abc", "abc");
+        assertCharsetFromContentType("foo/bar ; charset = abc ; some=else", "abc");
+        assertCharsetFromContentType("foo/bar;other=param;charset=abc;some=else", "abc");
+        assertCharsetFromContentType("foo/bar;other=param;charset=abc", "abc");
+        assertCharsetFromContentType("foo/bar other = param ; charset = abc", "abc");
+        assertCharsetFromContentType("foo/bar other = param ; charset = abc ; some=else", "abc");
+        assertCharsetFromContentType("foo/bar other = param ; charset = abc", "abc");
+        assertCharsetFromContentType("foo/bar other = param ; charset = \"abc\" ; some=else", "abc");
+        assertCharsetFromContentType("foo/bar", null);
+        assertCharsetFromContentType("foo/bar;charset=uTf8", "utf-8");
+        assertCharsetFromContentType("foo/bar;other=\"charset=abc\";charset=uTf8", "utf-8");
+        assertCharsetFromContentType("application/pdf; charset=UTF-8", "utf-8");
+        assertCharsetFromContentType("application/pdf;; charset=UTF-8", "utf-8");
+        assertCharsetFromContentType("application/pdf;;; charset=UTF-8", "utf-8");
+        assertCharsetFromContentType("application/pdf;;;; charset=UTF-8", "utf-8");
+        assertCharsetFromContentType("text/html;charset=utf-8", "utf-8");
     }
 
     @Test