Commit Graph

15412 Commits

Author SHA1 Message Date
Simone Bordet 2067eac701 Issue #2003 - Do not submit blocking tasks as managed selector actions.
CreateEndPoint and DestroyEndPoint are now submitted directly to
the Executor, rather than being submitted as selector actions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-02 00:28:20 +01:00
Jan Bartel b1c80ba231
Issue #1986 ServletContextHandler.Context addListener() methods support session listeners (#2000)
* Issue #1986 Support session listeners in ServletContextHandler.addEventListener method.

Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-30 15:03:37 +01:00
Greg Wilkins d4061fcfeb
Issue #1966 Case Sensitive method (PR #1967)
Issue #1966 Case Sensitive method (PR #1967)

* Modified the compliance violations to warn if case insensitivety is applied to a header
* removed duplicated if
* Fixed string comparison
* Improved compliance messages and comments
* updated expected violation messages
* Require a header colon only when in 7230 compliance mode
2017-11-29 18:56:54 +01:00
Joakim Erdfelt 70fe268bde Merge branch 'release-9.4.8' into jetty-9.4.x 2017-11-29 10:52:02 -07:00
Joakim Erdfelt aeb1a1d6cd Merge tag 'jetty-9.4.8.v20171121' into jetty-9.4.x
Tag for release: jetty-9.4.8-SNAPSHOT

 + 212 HttpClient should support pluggable AuthenticationStore
 + 215 Add Conscrypt for native ALPN/TLS/SSL
 + 272 WebSocket hangs in blockingWrite
 + 487 JDK 9 build compatibility
 + 901 Overriding SSL context KeyStoreType requires explicit override of
   TrustStoreType
 + 922 Implements methods Connection.getBytes[In|Out]()
 + 1209 IllegalStateException when HTTP/2 push is disabled
 + 1213 Upgrade to ASM Version 6.0 for JDK9
 + 1509 Improve GZIPContentDecoder buffer pooling sizing
 + 1550 Resolve inconsistent Shutdown configuration with Jetty Runner
 + 1640 Introduce :run-distro goal for local jetty distribution deployment
 + 1692 Annotation scanning should ignore `module-info.class` files
 + 1696 Missing stacktraces on debug of WriteFlusher onFail
 + 1705 Rejected executions in QueuedThreadPool can lead to memory leaks
 + 1760 Update to apache jasper 8.5.20
 + 1768 Allow jetty properties to be set for the jetty:run-forked goal
 + 1782 Using assembly.tarLongFileMode=posix for jetty-home and
   jetty-distribution assembly
 + 1797 JEP 238 - Multi-Release JAR files break bytecode scanning
 + 1806 Improved ReservedThreads idle timeout
 + 1807 Add new HttpChannel listener and events for metrics libraries
 + 1814 Move JavaVersion to jetty-util for future Java 9 support requirements
 + 1818 Improve Infinispan support on JDK 9
 + 1819 Race condition during annotation parsing
 + 1823 ResourceHandler with ranged requests does not return Content-Type
   response header
 + 1829 OSGi webbundle classes scanned twice
 + 1833 Request.startAsync requires context path
 + 1835 Locker is not reentrant on ServerConnector#setConnectionFactories
 + 1836 Migrate Locker implementation to JVM ReentrantLock implementation
 + 1841 Reduce contention on ServletHolder
 + 1845 Allow null User-Agent in HttpClient
 + 1849 Refactoring of SelectorManager.defaultSchedulers()
 + 1851 Improve insufficient thread warnings/errors
 + 1854 Consistent IOException and timeout handling when extracting form
   parameters
 + 1856 ResourceHandler without ServletContext throws NPE for welcome files if
   used directly
 + 1857 GZIPContentTransformer fails to send entire message if used with
   BufferedContentTransformer
 + 1865 Improve Exception on invalid redirect usage
 + 1867 Improve Exception thrown during Expect 100 Continue
 + 1868 Need a way to randomly select ports for tests
 + 1871 JMXify SslContextFactory
 + 1878 Handle 100 Continue response without Expect header
 + 1879 'Bad tld url' seen during :jetty-run when running integration tests
 + 1881 Improve support of WebSocket over Unix Domain Socket
 + 1885 SessionHandler get/set maxInactiveInterval is not symmetric with
   negative values
 + 1888 Implement cookie matching on Path attribute per RFC 6265
 + 1891 Make HTTP/2 async error notifications configurable
 + 1892 NPE resulting from bad JEP 238 MultiReleaseJarFile structure
 + 1893 Add ability to set HttpClient Connection TTL
 + 1897 Introduce a round-robin connection pool for HttpClient
 + 1900 Update to CDI 2.0 for cdi module
 + 1901 Reimplement PathWatcher as scanner
 + 1909 Update to Apache Jasper 8.5.23
 + 1910 Remove unused jetty-jsp module
 + 1912 AbstractConnector EndPoint leak for failed SSL connections
 + 1914 HttpClient fails to parse Content-Type response header with RFC 2045
   charset="utf-8" syntax
 + 1919 Review LowResourceMonitor
 + 1920 Connect Timeouts with NonBlocking CreateEndPoint
 + 1924 ManagedSelector can livelock under high load
 + 1931 Expose RolloverOutputStream for pluggable behaviour
 + 1933 Use CLASSPATH for scanning java9 system classes
 + 1956 Store and report build information of Jetty
 + 1958 Blocking Timeout has different behavior in HttpInput vs HttpOutput
 + 1970 ManagedSelector can lose selector thread under high concurrent load
 + 1980 PushCacheFilter does not push TLS offloaded HTTP/2 requests
 + 1981 Loading resource content failed
 + 1984 Remove jetty-client dependency in jetty-rewrite
2017-11-29 10:51:22 -07:00
Greg Wilkins 6541848f28
PR #1987 AsyncICB need not execute
PR #1987  AsyncICB need not execute

The HttpOutput AsyncICB is a blocking callback, thus it is always executed and
never runs in the selector thread. It thus does not need to execute its call
the Channel.handle

* HTTP/2 must execute async callbacks
* AsyncICBr need not execute
* Invert the sense of the fix.  AsyncICB now executes, but is flagged as a non-blocking callback.
* removed import

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-29 18:48:55 +01:00
Simone Bordet 4ca0a63e58 Issue 1830 - Document Conscrypt SSL. (#2001)
Updated references to Conscrypt 1.0.0.RC11.
Used "default" rather than "native" for the JSSE docs.
Changed "two-way authentication" to "client certificate authentication".

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-28 17:23:18 -05:00
Simone Bordet 31e5531966 Small optimization when starting reserved threads.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-28 22:09:45 +01:00
WalkerWatch 00d977d5d5 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2017-11-28 14:08:50 -05:00
WalkerWatch aecf4b389b Remove NPN documentation. Resolves #1999 2017-11-28 14:08:21 -05:00
Greg Wilkins 54bf9b56bf Issue #1770 NPE protection in SniX509EKM chooseServerAlias
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-24 08:18:24 +01:00
Jan Bartel 375d7aa8da
Merge pull request #1985 from adamretter/hotfix/FormAuthenticator-session
Remove unnecessary session creation in FormAuthenticator
2017-11-23 12:58:07 +01:00
WalkerWatch 9e891a4ceb Cleaned up examples for #1830. 2017-11-22 13:39:23 -05:00
Simone Bordet d285c718b9 Issue #1901 - Reimplement PathWatcher as scanner.
Ignored PathWatcherTest because it is unstable and often fails in Jenkins.
2017-11-22 18:58:22 +01:00
Jan Bartel 7a795c9e31 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-11-22 13:58:52 +01:00
Jan Bartel 7f6e2e8dd0 Issue #1933
Cherry-pick of 29373c6 and 44d170e
2017-11-22 13:53:38 +01:00
Jan Bartel 8e6605a681 Issue #1817 2017-11-22 13:01:31 +01:00
Greg Wilkins 6ac4e770a6 Issue #1983 Warn on connection failures
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-22 11:08:20 +01:00
Jan Bartel 8cc9f9ddcf Issue #1940 Fix NPE 2017-11-22 09:37:42 +01:00
Jan Bartel 6a2f39fb3c Issue #1940 2017-11-22 00:37:51 +01:00
WalkerWatch b02f225470 Additional documentation for Conscrypt. Resolves #1830 2017-11-21 17:13:14 -05:00
Joakim Erdfelt ff53002fac Updating to version 9.4.9-SNAPSHOT 2017-11-21 13:11:31 -07:00
Joakim Erdfelt 82b8fb23f7 Updating to version 9.4.8.v20171121 2017-11-21 12:33:52 -07:00
Jan Bartel 44d170e2e0 Issue #1933
Do not set java.class.path when running with the distro.
2017-11-21 18:12:16 +01:00
Jan Bartel 26b7058186 Issue #1981 2017-11-21 17:53:44 +01:00
Adam Retter ad88309401 Don't create a session for every request if not required when doing form authentication
Signed-off-by: Adam Retter <adam.retter@googlemail.com>
2017-11-21 13:53:57 +00:00
Greg Wilkins f3041b783e Fix #1984 unused jetty-client dependency 2017-11-21 14:18:59 +01:00
Simone Bordet fab4b95925 Fixes #1980 - PushCacheFilter does not push TLS offloaded HTTP/2 requests.
Changed HttpChannel to call Request.setSecure() with the scheme of the
request URI.

Changed PushCacheFilter to rely on the referrer URI scheme, and only if
that is missing then using Request.isSecure().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-16 23:32:44 +01:00
WalkerWatch 81ec56b7c3 Added docoumentation for Conscrypt SSL.
Consolidated exisitng SSL documentation and move non-root-port80 doc. Resolves #1830.
2017-11-16 16:18:28 -05:00
Greg Wilkins b5a38d82ce
HttpParser is not using cached HTTP Field values (#1979)
* HttpParser is not using cached HTTP Field values

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-16 16:55:43 +01:00
Jan Bartel 29373c6fb4
Merge pull request #1976 from eclipse/jetty-9.4.x-1933-jdk9-classpath
Jetty 9.4.x 1933 jdk9 classpath
2017-11-16 13:57:56 +01:00
Simone Bordet 131f46df64 Improved dump of ManagedSelector.
Now also dumping the actions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-16 11:35:18 +01:00
Jan Bartel 98d8c2400d Issue #1933
Add some comments, changes from code review.

Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-16 10:01:44 +01:00
Greg Wilkins 918cf625cc
Issue #1958 Blocking timeout spurious wakeups (#1975)
* Issue #1958 Blocking timeout

Use tryFillInterested to allow retries on spurious wakeups

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-15 18:13:00 +01:00
Jan Bartel 10a6f57bd8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-1933-jdk9-classpath
Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-15 10:42:08 +01:00
Jan Bartel 12327b8876 Issue #1933
Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-15 10:33:51 +01:00
Simone Bordet 0f07c6518e
Issue #1970 - ManagedSelector loses selector thread (#1971)
* Issue #1970 - ManagedSelector loses selector thread.

Removed broken data structure ConcurrentStack (ABA problem).

Made ReservedThreadExecutor use a ConcurrentLinkedDeque
instead of ConcurrentStack.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-14 10:48:33 +01:00
Greg Wilkins 47d46ec60e
Issue #1924 - ManagedSelector livelock. (#1963)
* Issue #1924 - ManagedSelector livelock.

Alternate implementation that is count based rather than time based.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-14 10:27:04 +01:00
Greg Wilkins 48df74224a
Jetty 9.4.x 1931 rollover (#1932)
* Issue #1931 Rollover log file

Added a protected method that is called whenever a log file is rolled over.
Support a date format of "" so that a rollover file may have the same name and a backup file is created.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* removed bad javadoc

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #1931 Rollover

Replaced FilteredOutputStream with a volatile field so that rollover events will be seen immediately

* Issue #1931 Rollover

use mutex to avoid write and close race
2017-11-14 09:16:47 +01:00
Greg Wilkins c66bacba02 Issue #922 (#1965) bytesIn/Out stats
Ensure -1 fill is not appended to bytesIn counts
Don't include discarded bytes from head responses in counts
refactored gather writes in HttpConnection to be clearer and removed
redundant buffer checks
2017-11-14 09:12:00 +01:00
Olivier Lamy 786f128808 implements connection.getBytes[In|Out] for http transport #922 (#1965)
* implements connection.getBytes[In|Out] for http transport, #922

Signed-off-by: olivier lamy <olamy@webtide.com>

* use LongAdder rather than AtomicLong

Signed-off-by: olivier lamy <olamy@webtide.com>

* changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>

* changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-14 08:41:47 +01:00
Joakim Erdfelt a2c34e1d8b
Merge pull request #1960 from olamy/feature/build_properties_jetty-9.3.x_1956
(9.3.x merge) add a build.properties file containing git hash, build timestamp scm …
2017-11-10 15:55:27 -07:00
Olivier Lamy 6499baa3a2 add a build.properties file containing git hash, build timestamp scm url (#1957)
* add a build.properties file containing git hash, build timestamp and scm url #1956

Signed-off-by: olivier lamy <olamy@webtide.com>

* move build infos to Jetty class so it's available for server and client

Signed-off-by: olivier lamy <olamy@webtide.com>

* apply changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-11 09:26:00 +11:00
Olivier Lamy 9fab69ea02 add a build.properties file containing git hash, build timestamp scm url (#1957)
* add a build.properties file containing git hash, build timestamp and scm url #1956

Signed-off-by: olivier lamy <olamy@webtide.com>

* move build infos to Jetty class so it's available for server and client

Signed-off-by: olivier lamy <olamy@webtide.com>

* apply changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-10 18:39:28 +01:00
WalkerWatch 7ba4428e9f Cleaned up cross reference syntax, leaving only xref and link anchors. Resolves #716. 2017-11-09 13:45:29 -05:00
WalkerWatch 89c5332187 Updating module documentation. Resolves #1887 2017-11-09 13:33:33 -05:00
WalkerWatch 64858a5f56 Documentation update. Resolves #1549 2017-11-09 13:19:29 -05:00
WalkerWatch 1fb8b2e4ad Updated documentation for Jetty Runner. Resolves #1550 2017-11-09 13:01:24 -05:00
Chris Walker 440ebcb513
Merge pull request #1954 from olamy/bugfix/1550-inconsistencies-shutdown-jetty-runner
fix inconsistencies shutdown for JettyRunner
2017-11-09 12:44:18 -05:00
Simone Bordet 0bc8305535 Improved ReservedThreadExecutor by reporting waiting threads. 2017-11-09 10:26:11 +01:00