Commit Graph

1712 Commits

Author SHA1 Message Date
WalkerWatch 90f15f278b 9.4.x->10.0.x 2018-08-27 22:58:01 -04:00
Simone Bordet 5b5f2fcf5f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2018-08-27 10:29:12 +02:00
Ivanov Anton 6211564f79 Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton 03c0d58727 Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton 3d87265a0a Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton a458bfaaf4 Issue #2860 fixes after review 2018-08-27 08:29:29 +03:00
Ivanov Anton 084d6ce443 Issue #2860 Fix leakage of HttpDestinations in HttpClient
Signed-off-by: Ivanov Anton <an.ivanov@corp.mail.ru>
2018-08-25 18:27:18 +03:00
Simone Bordet 33a1367325 Fixes #2821 - AuthenticationProtocolHandler should not always cache Authentication.Result.
Now the Result is cached only if getURI() returns non-null.
2018-08-24 17:32:58 +02:00
Greg Wilkins 5afe2e215f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-23 17:17:46 +10:00
Greg Wilkins f15bd225b4 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-21 14:47:19 +10:00
Joakim Erdfelt ce6bc23ccb Issue #2817 - Client SSL Defaults
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-16 14:35:39 -05:00
Simone Bordet dd428b24a7 Cosmetics and removed unused code.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-14 15:22:19 +02:00
WalkerWatch b249021b6d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-08-07 21:18:25 -04:00
Joakim Erdfelt 9390c2df3f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-06 09:04:58 -05:00
lachan-roberts a60a8b8678 Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
add header info's upfront and mutate the param map instead of adding them lazily

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 17:39:26 +10:00
lachan-roberts f735c0427f Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
process the param value with QuotedCSV.unquote()

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 17:30:47 +10:00
lachan-roberts 96f5773e4f Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
Increased complexity of regex in order to use only one regex pattern and reworked state machine into simple for loop

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 11:42:52 +10:00
lachan-roberts 58f2b8f360 Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
Splitting elements into list using QuotedCSV and processing with state machine instead of using regex to split into multiple challenges.

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-31 19:26:10 +10:00
Lachlan Roberts 1373e90e32 Issue #2737 - Allow "=" characters in the AuthenticationProtocolHandler PARAM_PATTERN
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-07-19 21:26:59 +10:00
Simone Bordet 0892ed8983 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-07-18 16:25:39 +02:00
Greg Wilkins 17b6eee5ac
Jetty 9.4.x 2233 ssl flush try again 2 (#2726)
Major refactor of SslConnection to address #2233 and to simplify in preparation for java-11 support.

Made the `needFillInterest` and `onIncompleteFlush` methods the primary stateful methods with state for fill and flush side that does not reproduce state already held by the SslEngine itself.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-18 10:11:35 +02:00
lachan-roberts e05c11ae30 Changing default Http headerCacheSize from 512 to 4096
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-10 10:39:45 +10:00
Joakim Erdfelt 0cd4dacbac Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	VERSION.txt
#	aggregates/jetty-all-compact3/pom.xml
#	aggregates/jetty-all/pom.xml
#	apache-jsp/pom.xml
#	apache-jstl/pom.xml
#	examples/async-rest/async-rest-jar/pom.xml
#	examples/async-rest/async-rest-webapp/pom.xml
#	examples/async-rest/pom.xml
#	examples/embedded/pom.xml
#	examples/pom.xml
#	jetty-alpn/jetty-alpn-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
#	jetty-alpn/jetty-alpn-java-client/pom.xml
#	jetty-alpn/jetty-alpn-java-server/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
#	jetty-alpn/jetty-alpn-server/pom.xml
#	jetty-alpn/pom.xml
#	jetty-annotations/pom.xml
#	jetty-ant/pom.xml
#	jetty-bom/pom.xml
#	jetty-cdi/cdi-2/pom.xml
#	jetty-cdi/cdi-core/pom.xml
#	jetty-cdi/cdi-full-servlet/pom.xml
#	jetty-cdi/cdi-servlet/pom.xml
#	jetty-cdi/cdi-websocket/pom.xml
#	jetty-cdi/pom.xml
#	jetty-cdi/test-cdi-webapp/pom.xml
#	jetty-client/pom.xml
#	jetty-continuation/pom.xml
#	jetty-deploy/pom.xml
#	jetty-distribution/pom.xml
#	jetty-documentation/pom.xml
#	jetty-fcgi/fcgi-client/pom.xml
#	jetty-fcgi/fcgi-server/pom.xml
#	jetty-fcgi/pom.xml
#	jetty-gcloud/jetty-gcloud-session-manager/pom.xml
#	jetty-gcloud/pom.xml
#	jetty-hazelcast/pom.xml
#	jetty-home/pom.xml
#	jetty-http-spi/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-common/pom.xml
#	jetty-http2/http2-hpack/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-http2/pom.xml
#	jetty-infinispan/pom.xml
#	jetty-io/pom.xml
#	jetty-jaas/pom.xml
#	jetty-jaspi/pom.xml
#	jetty-jmx/pom.xml
#	jetty-jndi/pom.xml
#	jetty-jspc-maven-plugin/pom.xml
#	jetty-maven-plugin/pom.xml
#	jetty-memcached/jetty-memcached-sessions/pom.xml
#	jetty-memcached/pom.xml
#	jetty-nosql/pom.xml
#	jetty-osgi/jetty-osgi-alpn/pom.xml
#	jetty-osgi/jetty-osgi-boot-jsp/pom.xml
#	jetty-osgi/jetty-osgi-boot-warurl/pom.xml
#	jetty-osgi/jetty-osgi-boot/pom.xml
#	jetty-osgi/jetty-osgi-httpservice/pom.xml
#	jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi-context/pom.xml
#	jetty-osgi/test-jetty-osgi-fragment/pom.xml
#	jetty-osgi/test-jetty-osgi-server/pom.xml
#	jetty-osgi/test-jetty-osgi-webapp/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-plus/pom.xml
#	jetty-proxy/pom.xml
#	jetty-quickstart/pom.xml
#	jetty-rewrite/pom.xml
#	jetty-runner/pom.xml
#	jetty-security/pom.xml
#	jetty-server/pom.xml
#	jetty-server/src/main/config/etc/jetty-http.xml
#	jetty-server/src/main/config/etc/jetty-ssl.xml
#	jetty-servlet/pom.xml
#	jetty-servlets/pom.xml
#	jetty-spring/pom.xml
#	jetty-start/pom.xml
#	jetty-unixsocket/pom.xml
#	jetty-util-ajax/pom.xml
#	jetty-util/pom.xml
#	jetty-util/src/main/java/org/eclipse/jetty/util/MultiException.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/MultiExceptionTest.java
#	jetty-webapp/pom.xml
#	jetty-websocket/javax-websocket-client-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointConfig.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
#	jetty-websocket/pom.xml
#	jetty-websocket/websocket-api/pom.xml
#	jetty-websocket/websocket-client/pom.xml
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java
#	jetty-websocket/websocket-common/pom.xml
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulator.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
#	jetty-websocket/websocket-server/pom.xml
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilterTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
#	jetty-websocket/websocket-servlet/pom.xml
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/extensions/FragmentExtensionTest.java
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/jsr356/sockets/pong/PongContextListener.java
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/jsr356/ConfiguratorTest.java
#	jetty-xml/pom.xml
#	pom.xml
#	tests/pom.xml
#	tests/test-continuation/pom.xml
#	tests/test-http-client-transport/pom.xml
#	tests/test-integration/pom.xml
#	tests/test-jmx/jmx-webapp-it/pom.xml
#	tests/test-jmx/jmx-webapp/pom.xml
#	tests/test-jmx/pom.xml
#	tests/test-loginservice/pom.xml
#	tests/test-quickstart/pom.xml
#	tests/test-sessions/pom.xml
#	tests/test-sessions/test-file-sessions/pom.xml
#	tests/test-sessions/test-gcloud-sessions/pom.xml
#	tests/test-sessions/test-hazelcast-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/pom.xml
#	tests/test-sessions/test-jdbc-sessions/pom.xml
#	tests/test-sessions/test-memcached-sessions/pom.xml
#	tests/test-sessions/test-mongodb-sessions/pom.xml
#	tests/test-sessions/test-sessions-common/pom.xml
#	tests/test-webapps/pom.xml
#	tests/test-webapps/test-http2-webapp/pom.xml
#	tests/test-webapps/test-jaas-webapp/pom.xml
#	tests/test-webapps/test-jetty-webapp/pom.xml
#	tests/test-webapps/test-jndi-webapp/pom.xml
#	tests/test-webapps/test-mock-resources/pom.xml
#	tests/test-webapps/test-proxy-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/pom.xml
#	tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
#	tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
#	tests/test-webapps/test-webapp-rfc2616/pom.xml
2018-06-12 11:11:38 -05:00
Simone Bordet fbcc752ad7
Fixes #2631 - Buffering capacity exceeded for HEAD requests with large Content-Length. (#2640)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-08 17:48:58 +02:00
Simone Bordet f6be906caf Fixes #2621 - Test failure: HttpDestinationOverHTTPTest#test_Acquire_Process_Release_Acquire_ReturnsSameConnection().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-05 16:56:44 +02:00
Simone Bordet 09ee85a74f Fixes #2574 - Clarify max request queued exception message.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-01 17:07:20 +02:00
Lachlan Roberts 903803c30e Issue #2584 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-30 14:26:54 +10:00
Lachlan Roberts 69aaabac24 fixes to printed exception stack traces in tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-29 17:55:14 +10:00
Greg Wilkins b93cc5abb6 Issue #2549 ConsumeAll forced EOF or EarlyEOF
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-17 13:05:13 +10:00
Simone Bordet 744f9054b3 Fixes #2547 - Review usages of ServerSocket[Channel].accept().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-16 18:40:10 +02:00
Greg Wilkins 621b946b10 Issue #2540 ignore flaky test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-16 14:09:22 +10:00
Simone Bordet d4144f2863 Fixes #2518 - How to handle 100-continue responses that don't fire onComplete callback.
HttpClient was confused by servers that responded
with two 100 Continue in the same HTTP conversation.

Now, whether the 100 Continue response has been handled
already is stored per-request, not per-conversation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 22:33:27 +02:00
Simone Bordet 67a3497755 Code cleanups.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 22:33:27 +02:00
Simone Bordet 0374d40cae
Issue #2439 - Remove HTTP/2 data copy. (#2444)
* Issue #2439 - Remove HTTP/2 data copy.

Implemented reference counting for the network buffer, with the
semantic that calling succeeded() on callbacks decrements the
reference count.
Introduced interface Retainable, used by the client when notifying
multiple application content listeners.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 09:39:57 +02:00
Lachlan Roberts 04ae33c4ac Switched getHeaderInfo from recursion to iteration.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-25 16:09:55 +10:00
Lachlan Roberts 7adad0bdc6 Merge remote-tracking branch 'origin/jetty-9.4.x-1555-wwwAuthenticate-Parsing' into jetty-9.4.x-1555-wwwAuthenticate-Parsing 2018-04-24 11:28:44 +10:00
Lachlan Roberts fc5c438d72 Changes after review 1
Changed the base64 pattern to only accept token68 pattern from rfc7235#appendix-C
Add limit to recusion depth of multiple challange matching to stop any vulnerablilties related to malicious server overflowing client stack
Regex no longer allows trailing whitespace

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-24 11:16:31 +10:00
Joakim Erdfelt 8763c6065d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-04-20 11:32:46 -05:00
Lachlan adb844de64
Merge branch 'jetty-9.4.x' into jetty-9.4.x-1555-wwwAuthenticate-Parsing 2018-04-18 16:06:02 +10:00
Lachlan Roberts 5a1325949e Changes to allow for other formats specified in RFC7235
- Multiple challanges in the same header can now be parsed successfully.
    - Will now allow a base64 value after the auth-scheme instead of parameters. Which can be used for the Negotiate auth-scheme.
    - Added more in depth testing for tricky cases.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-18 16:02:33 +10:00
Lachlan Roberts 497b87eb2e Fixed bug with regex and style cleanup.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-17 17:34:16 +10:00
Lachlan Roberts ee09904809 Reworked the way authentication parameters are parsed.
Removed the regex to separate out the realm parameter and instead parse it with the other parameters into HeaderInfo.

Changed HeaderInfo to store the parsed parameters as a Map instead of the un-parsed parameters in a string.

The parsing of the parameters is now done in AuthenticationProtocolHandler.newHeaderInfo(String) and then passed into the HeaderInfo instead of Parsing it in DigestAuthentication.

Replaced the usage of splitParams(String) with QuotedCSV used to parse the parameters.

Added test to check the ordering of parameters doesn't matter.

Allow not to have a realm parameter, changed DigestAuthentication.matches() to not match if realm is null, so that Digest Authentication requires realm parameter but any Basic Authentication can be done without it. There is currently no tests for this.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-17 17:04:44 +10:00
Lachlan Roberts 29dccf668c Changes after review 1
Regex will now look for comma and spaces before realm. Preventing issues accepting params with realm as a suffix like blahrealm.
Stops adding double commas when extracting realm param.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-12 10:33:47 +10:00
Lachlan Roberts bc4ad7c61a Changed regex for AUTHENTICATE_PATTERN so that the realm doesn't need to appear as first parameter. #1555
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-10 14:47:00 +10:00
Jan Bartel 67d887758d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-03-29 17:36:29 +11:00
Simone Bordet ef48bc6f58 Fixes #2388 - AtomicBiInteger.compareAndSet(long,int,int) not using encoded parameter.
Fixed method, added Javadocs and cleaned up code with a few renamings
to better comply with AtomicLong naming.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-28 00:37:21 +02:00
Joakim Erdfelt 1c04f9838d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x-fixed 2018-03-22 16:42:42 -05:00
Simone Bordet e651d2d69b
Fixes #2350 - Support multiplexing in RoundRobinConnectionPool. (#2352)
Introduced ConnectionPool.Multiplexable for connection pools that support multiplexing.
Reworked RoundRobinConnectionPool to support multiplexing.
Moved tests to test RoundRobinConnectionPool with both HTTP/1.1 and HTTP/2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-21 16:29:30 +01:00
Simone Bordet 8251ed5a12
Fixes #2311 - TimeoutException when server sends unexpected content. (#2324)
Now exiting the parse loop when the response is complete; if there
are bytes remaining in the buffer, then it's cleared out.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-21 16:25:18 +01:00
WalkerWatch 534b8ea38b Add edit warning for .mod files. Resolves #173 2018-03-15 13:23:42 -04:00
Joakim Erdfelt 484280bac6 Issue #2218 - Windows Selector Bug
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-14 17:42:50 -05:00
Simone Bordet 8b391a88dd Fixes #2318 - HttpParser.Listener.onBadMessage() should take BadMessageException.
Changed the signature of HttpParser.Listener.onBadMessage()
to take a BadMessageException and updated dependent code.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-12 19:51:57 +01:00
Greg Wilkins cf0b6140fe
Merge pull request #2299 from olamy/feature/available_processors
#2298 Override the processor number with an environment variable
2018-03-08 08:36:52 +11:00
olivier lamy 7004aaa538 #2298 Override the processor number with an environment variable
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-03-07 21:02:26 +10:00
Simone Bordet b71cd70bf7 Fixes #2297 - HTTP/2 client transport should honor HttpClient.connectBlocking.
Introduced property connectBlocking in HTTP2Client so that it can
be forwarded by HttpClient and then used for HTTP/2 connects.

Also introduced HTTP2Client.bindAddress, again forwarded from HttpClient.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-07 11:52:28 +01:00
Greg Wilkins 74055b9837
Jetty 9.4.x 2293 pending multiplexed (#2294)
Issue #2293 Pending Multiplexed Connections

Added a AtomicBiInteger to allow both total connections and pending connections to be encoded in the
same atomic int.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-07 19:31:22 +11:00
Greg Wilkins bcb9fa3b32
Merge pull request #2257 from lachlan-roberts/jetty-9.4.x-2206-ReferenceEquality
Resolved errorprone ReferenceEquality warnings #2206
2018-03-07 11:11:40 +11:00
Joakim Erdfelt e3e3f9eb0b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x-fixed 2018-03-06 11:16:25 -06:00
Simone Bordet 8fcfdd9d7f Fixes #2273 - Test failure: RoundRobinConnectionPoolTest.testRoundRobin.
Now making sure all connections are opened before testing
the round robin behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-06 10:00:15 +01:00
Greg Wilkins a272fb6e39
Improve executorSizedThreadPool (#2253)
Improve executorSizedThreadPool (#2253)

* Improve executorSizedThreadPool

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

* Improved implementation.

Implemented name, thread priorities, thread group and daemon properties.
Implemented toString(), dump() and using a thread factory.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* added threadpool benchmark;

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

* Renamed ExecutorSizedThreadPool to ExecutorThreadPool

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 19:07:41 +11:00
Lachlan Roberts 31347db71b changes after second review from gregw
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 17:21:15 +11:00
Lachlan Roberts 020ebde77c found additional ReferenceEquality warnings which have been resolved
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 14:28:11 +11:00
Lachlan Roberts a639ee9275 Resolved errorprone MissingOverride warnings #2206
`@Override` was added to methods which were missing the annotation #2206

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Simone Bordet cd7432da95 Issue #2238 - RoundRobinConnectionPoolTest.testRoundRobin test failure
Improved logging in case of test failures.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-27 18:49:23 +01:00
Joakim Erdfelt be64f322ad Issue #2217 adding parameter naming to help identify test run 2018-02-26 14:01:26 -06:00
Jesse McConnell cb67476de0
Resolves #2241 clean up javadoc warnings 2018-02-23 14:18:52 -06:00
Jesse McConnell d179bcf7ac
Resolves #2241 clean up javadoc warnings 2018-02-23 14:09:33 -06:00
Greg Wilkins b94d26a720 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 10:19:32 +11:00
Jan Bartel 07b14b6454 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-30 13:08:54 +01:00
Alex Bleasdale 8a17563e6b Fixes #2160 - Digest authentication should use absolute path
Modified uri value in Authorized header as per discussion in #2160.

Signed-off-by: Alex Bleasdale <ableasdale@marklogic.com>
Reviewed-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-29 10:04:44 +01:00
Greg Wilkins 214298b71b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-16 17:59:28 +01:00
Greg Wilkins c606d5f103 Issue #2126 removed sleep from test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-16 17:56:03 +01:00
Jan Bartel 709da5efc6 Issue #2126 2018-01-16 17:47:07 +01:00
Simone Bordet 0b3a276a9b
Fixes #2117 - Allow to configure HttpClient default request Content-Type (#2118)
* Fixes #2117 - Allow to configure HttpClient default request Content-Type.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-13 10:31:13 +01:00
Greg Wilkins ec9827bb35 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-11 16:57:33 +01:00
Greg Wilkins 8b7480f088 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-10 22:25:49 +01:00
Simone Bordet 6cefd1c7dd Issue #1918 - Scalable scheduler implementation.
Fixed destroy of HttpChannel for HTTP/1.1: not at release()
because the connection and therefore the channel will be reused,
but at close(), when we're sure the connection will not be reused.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 19:42:28 +01:00
Greg Wilkins 7138dc3828
Jetty 9.4.x #1918 scalable scheduler3 (#2101)
* Scalable scheduler changes for #1918
* Added HttpChannel.destroy to destroy CyclicTimer
* fixed rebase with HttpConnectionOverFCGI
* renamed to acquire
* Destroying the HttpChannel consistently in all transports.
* updated headers
* cleanup after final review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 16:56:41 +01:00
Greg Wilkins 356bf2e06f
Issue #2046 - Graceful stop of connections (#2100)
* Clean up of actions (now updates) prior to #2046 fix
* prevent exceptions from termincating lifecycle doStop or destroy
* Refactored ManagedSelector stop to always close endpoints
* Fixed NPE if SelectorManager is already stopped
* refactored after review
* further simplifications after review
* Wait only for oshut endpoints
* Cleanup from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-09 20:36:41 +01:00
Joakim Erdfelt d5a0878019 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 10:08:30 -06:00
Joakim Erdfelt 21365234f8 Issue #2108 - Updating license headers for year 2018 2018-01-09 09:44:41 -06:00
Joakim Erdfelt 41ed9f29f4 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-01-09 09:37:25 -06:00
Joakim Erdfelt fa4c7b0ca9 Issue #2108 - Updating license headers for year 2018 2018-01-09 08:39:37 -06:00
Joakim Erdfelt 067fc5d2d8 Issue #2108 - Upgrade licenses for 2018 2018-01-09 07:42:06 -06:00
Greg Wilkins 54f49dec7d Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-09 13:32:19 +01:00
Greg Wilkins 45e3abbdcf Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 13:17:32 +01:00
Greg Wilkins 88cf4603c5
Merge branch 'jetty-9.4.x' into bugfix/javadoc_fixes_2056 2018-01-08 21:31:48 +01:00
Greg Wilkins b2ff7c5cb8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-08 21:30:12 +01:00
Greg Wilkins a81c1f3880 fixes after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-08 16:09:22 +01:00
olivier lamy 1a49a6fb7e more javadoc fixes #2056
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 12:28:12 +11:00
Simone Bordet 4606c773b1 Issue #2065 - Backport #347 to Jetty 9.2.x.
Fixed the mistake of resetting idleTimeoutStamp rather than
idleTimeoutGuard.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-05 10:47:39 +01:00
Simone Bordet 48c77b8608
Fixes #2088 - Recycle HTTP/2 channels on the client. (#2089)
Removed the distinction between pushed and non-pushed channels; only
non-pushed channels are released and recycled if they're not failed.

Properly resetting HttpReceiverOverHTTP2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 07:09:08 -08:00
Greg Wilkins 41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed (#2083)
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01:00
Greg Wilkins 12647f51e7 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-27 16:04:16 +01:00
Greg Wilkins 22beb1d02a Updated tests to use _LEGACY modes
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 14:16:23 +01:00
Greg Wilkins 7e516e29fb pass existing compliance tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 18:00:03 +01:00
Greg Wilkins d8dead35ae Issue #2022 Fine Gramed Compliance Modes
Added HttpComplianceSection and an EnumSet within HttpCompliance

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 14:41:18 +01:00
Greg Wilkins c5fc35fa05 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2017-12-23 11:12:48 +01:00
Simone Bordet 005ae95bea
Fixes #1949 - Client-side problems with digest authentication. (#1991)
Introduced ContentProvider.isReproducible() to detect whether the
request content can be provided more than once, and modified
ContentProvider implementation accordingly.

Modified AuthenticationProtocolHandler to not send an authenticated
request if the content is not reproducible.

Modified AuthenticationProtocolHandler to tolerate request failures.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-21 02:34:39 -08:00
WalkerWatch 05c3413907 Merge branch 'jetty-9.4.x' 2017-12-19 10:04:28 -05:00
Simone Bordet b68fbc4cfb Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-12-16 23:36:53 +01:00
Simone Bordet 37388ef105 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2017-12-16 23:28:05 +01:00
Simone Bordet eaa4c70cfc Issue #2065 - Backport #347 to Jetty 9.2.x.
Implemented as integer guard + timestamp.
The timestamp is not enough to guard against long times spent sending
(and/or in application callbacks during sends).
2017-12-16 22:25:59 +01:00
Simone Bordet ce4fad3deb Fixes #2065 - Backport #347 to Jetty 9.2.x. 2017-12-15 17:48:47 +01:00
Greg Wilkins c6c5a3b890 Merge branch 'issue-2022' of https://github.com/Baqend/jetty.project into jetty-9.4.x-2022-FineGrainedComplianceModes 2017-12-15 16:19:14 +01:00
fb 7ee8bb82c6 Same code style fixes and remove unnecessary code reformatting
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:23:17 +01:00
fb a324a5ad77 Implement weak http header parsing and make the compliance mode configurable in the client
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:13:48 +01:00
fb b76240e678 Fixes #2022 - Ignore invalid chars in http header names, when the compliance mode is not RFC7230
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:12:34 +01:00
WalkerWatch c5f7e2a523 Merge branch 'jetty-9.4.x' 2017-12-14 13:38:27 -05:00
Simone Bordet d3db89d7e3 Fixes #2019 - Expose HttpClientTransport in JMX.
Added missing @ManagedObject annotation to AbstractConnectorHttpClientTransport.

Also exported to JMX the "multiplexed" attribute for the FCGI transport
and the "useALPN" attribute for the HTTP/2 transport.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 12:28:46 +01:00
Simone Bordet ba5ed4c6ce Issue #2050 - Clarify ObjectMBean getObject[Name|Context]Basis() methods.
Clarified the role of the HttpClient name with respect to JMX.
Improved test case.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 11:24:43 +01:00
Simone Bordet f2bf3d63bc Fixes #2020 - Introduce a name for `HttpClient` instances.
Added HttpClientMBean, and overridden getObjectContextBasis() so that
the HttpClient name is inherited by children components such as the
HttpClientTransport, the ThreadPool, etc.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 11:24:43 +01:00
Greg Wilkins bb0f06fecc Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-14 18:15:55 +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
Simone Bordet 108d56707b Merged branch 'jetty-9.4.x' into 'master'. 2017-10-30 12:58:48 +01:00
Simone Bordet 333c22d670 Issue #1924 - ManagedSelector livelock.
* Actually using the MAX_ACTION_PERIOD value rather than a harcoded one.
* Waking up the selector outside the sync block.
2017-10-30 00:36:01 +01:00
Greg Wilkins 4fa2140d17 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-29 08:21:22 +11:00
Greg Wilkins ab849e8cc5 Issue #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Added a LiveLock (BusyBlocking) test.
Modified ManagedSelector to fair share between actions and selecting
2017-10-28 14:55:40 +11:00
Simone Bordet 52a585a2ea Merged branch 'jetty-9.4.x' into 'master'. 2017-10-25 11:23:00 +02:00
Simone Bordet 76e744979b Issue #1893 - Jetty HttpClient Connection TTL.
Removed test for TTL functionality.
Added test for the round robin behavior.
2017-10-25 11:22:46 +02:00
Simone Bordet 2cd04a1b17 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-25 11:03:17 +02:00
Simone Bordet 6e8242d1a4 Issue #1893 - Jetty HttpClient Connection TTL.
Removed the functionality, not needed anymore.
2017-10-25 11:02:33 +02:00
Simone Bordet 50d3aa9333 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-23 17:37:54 +02:00
Simone Bordet ddf074d78f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-10-23 17:37:23 +02:00
Simone Bordet 4d8ab1828e Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2017-10-23 17:36:39 +02:00
Simone Bordet e449387158 Fixes #1914 - jetty client fails to parse response with RFC2045 conformant Content-Type: charset="utf-8". 2017-10-23 17:36:11 +02:00
Simone Bordet 01a5415796 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-19 17:48:10 +02:00
Simone Bordet 0d3827d882 Fixes #1893 - Jetty HttpClient Connection TTL.
Implemented live timeout on RoundRobinConnectionPool.
2017-10-19 17:47:35 +02:00
Simone Bordet d2fc88839c Added/fixed @ManagedObject annotation. 2017-10-19 17:47:35 +02:00
Simone Bordet 0ba9c56f85 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-16 18:24:27 +02:00
Simone Bordet 850e70f27c Fixes #1897 - Introduce a round-robin connection pool for HttpClient. 2017-10-16 18:21:36 +02:00
Simone Bordet 17df0bf930 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-11 17:39:45 +02:00
Simone Bordet 91c11f5a64 Fixes #1888 - Implement cookie matching on Path attribute.
Implemented path matching following RFC 6265.
2017-10-11 17:39:06 +02:00
Simone Bordet 14f7b03060 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 16:00:04 +02:00
Simone Bordet a436b9eb6c Fixes #1878 - Handle 100 Continue response without Expect header.
Fixed - again - accept().
2017-10-09 15:59:41 +02:00
Simone Bordet c26373783b Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 13:38:49 +02:00
Simone Bordet 6fd3351272 Fixes #1878 - Handle 100 Continue response without Expect header.
Fixed accept() to test for the response code being indeed 100.
2017-10-09 13:38:17 +02:00
Simone Bordet 8efbc53d64 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 12:08:41 +02:00
Simone Bordet c69c7b29c7 Fixes #1878 - Handle 100 Continue response without Expect header. 2017-10-09 12:08:24 +02:00
Simone Bordet 22e9c5a7bf Merged branch 'jetty-9.4.x' into 'master'. 2017-10-03 10:19:41 +02:00
Simone Bordet a4d7b4c4dc Removed unnecessary code. 2017-10-03 10:19:06 +02:00
Simone Bordet bee383c894 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-03 01:22:35 +02:00
Simone Bordet 3b98a6c000 Issue #1851 - Improve insufficient thread warnings/errors.
ThreadBudget -> ThreadPoolBudget.
Added selectors to the leased threads.
2017-10-02 13:40:31 +02:00
Simone Bordet 17a1484143 Code cleanups.
Removed unnecessary imports and fixed typos.
2017-10-02 11:43:45 +02:00
Greg Wilkins 1ce96be964 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-09-28 07:58:15 +10:00
Greg Wilkins 7d98cbb870 Issue #1851 Improve insufficient thread warnings/errors
Squashed commit of the following:

commit 1d9e8e4b4d53898cb6435f67529347bd2ba82cf0
Merge: 7280594 55b0f10
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Sep 28 07:20:37 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit 7280594a0058538b603ad35625713a79830e9b93
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 22:48:58 2017 +1000

    fixed headers

commit f962f18e5b098ae40846ee3832736ee4650aed84
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:12:33 2017 +1000

    Issue #1851 added reset

commit a63894de284c8d8dc5ed031f1f6e0fccaf6c7715
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:08:53 2017 +1000

    Issue #1851 improved test

commit 8bcc460dc63273165305a7adcb88e991e30de4b7
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:03:47 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Refactor approach to use Leases, to handle multiple executors

commit fe4be5f56594f342ab5c2e6c886397d9b4fe9c14
Merge: abc5eac a248d38
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 15:37:56 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit abc5eac2b73d306a91b28ef4db778455095a5bdb
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 12:20:03 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Created a ThreadBudget class that can be used to warn/error for
    registered and unregistered allocations of threads.

    The server on doStart does an unregistered check of all its components that
    implement the Allocation interface.

    The client will register itself as an Allocation if a shared Executor is used.
2017-09-28 07:35:05 +10:00
Simone Bordet d0d52c8ba1 Merged branch 'jetty-9.4.x' into 'master'. 2017-09-25 13:05:00 +02:00
Simone Bordet 6aafc3b792 Fixes #1845 - Allow null User-Agent in HttpClient. 2017-09-25 13:03:26 +02:00
Greg Wilkins 1b7ebf5599 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-09-23 00:22:57 +10:00
Greg Wilkins a6f02c26a8 Issue #1509 Review GZIPContentDecoder buffer pooling
A temporary fix that uses a hueristic to limit the pool size.

Perhaps such a hueristic should be the default for the queue size of all ByteBufferPools, as infinite queue size is rarely going to be a good thing?

Also, I think all the pools need to have better javadoc, plus an upper/lower bound of the size of buffer that they will pool, as gzip will tend to ask for lots of random sized buffers to put the expanded data into, some could be very
large and unlikely to be reused.
2017-09-21 14:29:58 +10:00
Simone Bordet aa4a77794e Issue #212 - HttpClient to support pluggable AuthenticationStore.
AuthenticationStore must be initialized eagerly.
2017-09-14 13:00:52 +02:00
Simone Bordet ce9be291d3 Fixes #212 - HttpClient to support pluggable AuthenticationStore. 2017-09-14 11:29:39 +02:00
Simone Bordet c402f8d5fa Fixed test after #1804. 2017-09-11 17:03:22 +02:00
Simone Bordet b078c910a7 Code cleanup: replaced anonymous inner classes with lambdas. 2017-09-11 17:02:32 +02:00
Joakim Erdfelt 651f422034 Merge branch 'jetty-9.4.x' to 'master' 2017-08-18 10:54:58 -07:00
Simone Bordet 6c44538bb6 Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice.
Now destinations needs to be started in tests, take 2.
2017-08-18 19:36:27 +02:00
Simone Bordet 7390707e07 Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice.
Now destinations needs to be started in tests.
2017-08-17 16:37:13 +02:00
Simone Bordet 3b805123b8 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-17 11:47:56 +02:00
Simone Bordet bcf96517bd Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice. 2017-08-17 11:42:56 +02:00
Simone Bordet c395097812 Fixes #1749 - Dump HttpDestination exchange queue.
Improved code.
2017-08-17 11:42:27 +02:00
Simone Bordet 2bfe6fa964 Fixes #1749 - Dump HttpDestination exchange queue. 2017-08-17 11:15:23 +02:00
Joakim Erdfelt 1311052b15 Cleaning up state of branch to match the original jetty-9.4.x
+ Does not include changes to /jetty-cdi/
+ Does not include changes to /jetty-websocket/ for javax.websocket-1.1
2017-08-08 09:47:04 -07:00
Simone Bordet b1b569bd23 475546 - ClosedChannelException when connecting to HTTPS over HTTP proxy with CONNECT.
Not closing the connection if the request method is CONNECT.
2017-08-08 09:15:49 -07:00
Simone Bordet 8cfd971f92 JavaDoc clarification. 2017-08-08 09:15:14 -07:00
Simone Bordet 191b6e044f Fixes #1656 - Improve configurability of ConnectionPools.
Introduced ConnectionPool.Factory and HttpClientTransport.connectionPoolFactory.
This allows applications to create a ConnectionPool given the HttpDestination.
2017-08-08 09:14:19 -07:00
Simone Bordet be970de6db 475546 - ClosedChannelException when connecting to HTTPS over HTTP proxy with CONNECT.
Not closing the connection if the request method is CONNECT.
2017-08-02 22:29:28 +02:00
Simone Bordet 552b7c3e0e Merged branch 'jetty-9.4.x' into 'master'. 2017-07-24 11:19:04 +02:00
Simone Bordet 7b84df341f JavaDoc clarification. 2017-07-24 10:45:13 +02:00
Greg Wilkins f1146856ac Issue #1676 remove deprecated methods on HttpFields 2017-07-19 10:45:21 +02:00
Joakim Erdfelt a9c329859d Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-07-12 13:18:12 -07:00
Simone Bordet 9d0bcdbce4 Fixes #1656 - Improve configurability of ConnectionPools.
Introduced ConnectionPool.Factory and HttpClientTransport.connectionPoolFactory.
This allows applications to create a ConnectionPool given the HttpDestination.
2017-07-04 11:24:53 +02:00
Greg Wilkins 380b7d21e9 Issue #1503 Optionally strip IPv6. Default true 2017-06-06 16:58:23 +02:00
Simone Bordet 1ac103b6ce Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-05-17 13:16:21 +02:00
Simone Bordet d53af5d737 Fixes #523 - TLS close behaviour breaking session resumption.
Since requests cannot be connection delimited, don't call
sslEngine.closeInbound() on the server.

On the client, added a configuration parameter to allow missing
TLS Close Message, since many servers do that.

Introduced SslConnection.allowMissingCloseMessage so that it
throws in case of truncation attacks.
2017-05-17 13:07:21 +02:00
Simone Bordet e7ac447d63 Fixes #1452 - Add tests for [want|need]ClientAuth. 2017-04-05 15:27:57 +02:00
Simone Bordet 7fc3dac5f3 Removed truststore.jks, not needed. 2017-04-05 15:27:57 +02:00
Simone Bordet c285d6f8bb Fixes #612 - Support HTTP Trailer.
Added support on both the server and the client, for HTTP/1 and HTTP/2.
2017-04-03 22:25:50 +02:00
Joakim Erdfelt 59c31a40e3 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-14 12:07:57 -07:00
Joakim Erdfelt f293f637c8 Issue #1394 - fix default character encoding for surefire testing 2017-03-13 11:10:10 -07:00
Joakim Erdfelt 01d539e2be Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-09 14:20:19 -07:00
Joakim Erdfelt d2e35e239a Windows Test Issue
+ Changing from @Test(expect=<exception>) to
  @Rule ExpectedException for ...
  * no exception occuring when one is expected is a test failure
  * wrong exception is a test failure
  * wrong cause is a test failure
2017-03-09 06:51:57 -07:00
Greg Wilkins 0a2da4822d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-06 14:20:23 +11:00
Simone Bordet affeb67f1a Issue #1375 - Support pushed resources in HTTP client.
Implemented in the non-API HttpRequest class.
2017-03-05 19:01:08 +01:00
Carter Kozak 1a2bb90465 Issue #1309 Client GZIPContentDecoder uses client ByteBufferPool
Previously the GZIPContentDecoder would allocate a new buffer for
each gzip encoded response.

Signed-off-by: Carter Kozak <c4kofony@gmail.com>
2017-02-07 09:53:39 -05:00
Simone Bordet 7923032582 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-02-02 00:24:51 +01:00
Greg Wilkins 461c6082ae Issue #1296 - Introduce HTTP parser "content complete" event. 2017-02-01 23:54:36 +01:00
Simone Bordet 0c8273f2ca Happy New Year 2017. 2017-01-19 19:26:41 +01:00
Simone Bordet 07838b057f Happy New Year 2017. 2017-01-19 18:54:03 +01:00
Simone Bordet 347c48d657 Revert "resolve merge and update license headers"
This reverts commit 53b31b03dd, reversing
changes made to 4565c186d7.
2017-01-19 18:26:43 +01:00
Jesse McConnell 53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Jesse McConnell ce3e6dafec update license headers to 2017 2017-01-19 09:30:00 -06:00
Simone Bordet 3883b8cbb5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-01-16 19:20:24 +01:00
Simone Bordet ddc63066fc Fixes #1259 - HostnameVerificationTest.simpleGetWithHostnameVerificationEnabledTest is broken.
When a fill() triggered by a flush() throws, now the write flusher is
failed rather than completed.
This ensures that both the read and the write side see the same
exception, rather than the write side seeing a ClosedChannelException.
2017-01-16 19:05:09 +01:00
Greg Wilkins 217d7af3d5 Issue #1259 ignoring broken test 2017-01-13 15:25:22 +11:00
Greg Wilkins 20ac50480c Re added the ERROR handling for #1242 2017-01-12 09:06:22 +11:00
Simone Bordet bc86ce4d09 Fixed tests and suppressed expected exceptions. 2017-01-12 09:05:09 +11:00
Greg Wilkins 0f3f051f0e Revert "Fixed tests and suppressed expected exceptions."
This reverts commit 77b1617fdd.
2017-01-12 08:55:35 +11:00
Simone Bordet 77b1617fdd Fixed tests and suppressed expected exceptions. 2017-01-10 15:54:37 +01:00
Simone Bordet d0930e1b9a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-01-10 15:06:45 +01:00
Simone Bordet b8986d5812 Fixes #1228 - Internal error during SSL handshake.
Added a guard to avoid unwrapping during handshake if SSLEngine is
already closed.
2017-01-10 15:05:40 +01:00
Simone Bordet df51ebc029 Fixed test broken by #1172. 2016-12-22 11:14:48 +01:00
Greg Wilkins 68c8db635e ignored bad test 2016-12-22 18:27:15 +11:00
Simone Bordet 9c68bd44fa Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-12-20 16:17:14 +01:00
Simone Bordet a15f8964c4 Cleanups for #1172. 2016-12-20 16:15:35 +01:00
Konstantin Gribov 9657be1c72 Fixes #1171 - Jetty-client throws NPE for request to IDN hosts only when `HttpClient#send(...)` is called.
Added early check for null host when creating requests in HttpClient.
Added test for incorrect IDN redirect.

Signed-off-by: Konstantin Gribov <grossws@gmail.com>
Reviewed-by: Simone Bordet <simone.bordet@gmail.com>
2016-12-20 16:08:48 +01:00
Simone Bordet dd3a73e57a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-12-14 11:19:49 +01:00
Joakim Erdfelt 9b609e0f6d Issue #1161 - Leaving CookieStore alone HttpClient and WebSocketClient are stopped
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-12-14 09:00:12 +01:00
Joakim Erdfelt 646a411746 Fixing onUpgradeFrom buffer flip issue 2016-12-01 13:07:28 -07:00
Greg Wilkins 2ef23a6725 Issue #572
Improved to the toString and dump output of connections, endpoints and channel to assist with debugging
made the SSL callbacks and runnables Invocable to avoid thread starvation.
2016-11-23 16:58:35 +11:00
Simone Bordet 7716ada9dd Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-07 19:26:18 +01:00
Simone Bordet f82aa03300 Fixes #1078 - DigestAuthentication should use realm from server, even if unknown in advance. 2016-11-07 19:25:06 +01:00
Simone Bordet a51f77c390 Fixed compilation failure. 2016-11-04 12:19:48 +01:00
Simone Bordet 9760e0d4cd Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-04 12:10:10 +01:00
Simone Bordet 846d560b44 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.
2016-11-04 12:09:44 +01:00
Simone Bordet 605aadba59 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-04 09:54:36 +01:00
Simone Bordet d18b900b75 Fixes #1069 - Host header should be sent with HTTP/1.0. 2016-11-04 09:53:22 +01:00
Greg Wilkins 5395cfd021 Issue#1066 Simplify HttpGeneration
HTTP requests cannot be close limited
2016-11-04 08:29:49 +11:00
Simone Bordet 3c3be877c6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-03 14:22:23 +01:00
Simone Bordet fba901d156 Issue #1064 - HttpClient sets chunked transfer-encoding.
Fixed test assertion.
2016-11-03 14:21:40 +01:00
Simone Bordet 568d56caee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-03 11:44:59 +01:00
Simone Bordet 7e903cfc6b 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.
2016-11-03 11:40:45 +01:00
Greg Wilkins 6781a949b1 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
2016-11-03 16:55:33 +11:00
Simone Bordet f2061cbe60 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-10-06 16:33:58 +02:00
Sergiu Prodan 407111a796 Issue #295 Ensure Jetty Client use of Inflater calls .end() to avoid memory leak
Signed-off-by: Sergiu Prodan <p.sergiu92@gmail.com>
2016-10-06 16:12:53 +02:00
Sergiu Prodan f8b2979a8f Issue #295 Ensure Jetty Client use of Deflater calls .end() to avoid memory leak (#986)
* Issue #295 Ensure Jetty Client use of Inflater calls .end() to avoid memory leak

Signed-off-by: Sergiu Prodan <p.sergiu92@gmail.com>
2016-10-06 16:10:37 +02:00
Greg Wilkins 98bb582d45 Jetty 9.4.x http interceptor #382
* Issue #382 Request compression

Added identity HttpInput.Interceptor
Moved GZIPContentDecoder to jetty-http
Reworking interceptor and GZIPContentDecoder to avoid data copies
Completed and tested GZIPContentDecoder
Implemented GzipHttpInputInterceptor
updated GzipHandler.java
updated gzip module
use common GZIP decoder
Gzip Bomb
handle read() after empty interception
2016-10-05 13:49:20 +11:00
Simone Bordet 04604166bc Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 15:04:47 +02:00
Simone Bordet 94137583f8 Added assumption to make test more robust. 2016-09-26 15:04:21 +02:00
Simone Bordet 716c595cdf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 12:20:22 +02:00
Simone Bordet 777ed6ad64 Fixes #277 - Proxy servlet does not handle HTTP status 100 correctly.
Introduced overridable ContinueProtocolHandler.onContinue(), and
making sure that proxy servlets use a ContinueProtocolHandler
subclass to intercept 100 Continue responses from the server, so that
they can relay it properly to the client.
2016-09-26 12:05:03 +02:00
Simone Bordet f3751da475 Fixes #955 - Response listeners not invoked when using Connection.send(). 2016-09-23 17:04:11 +02:00
Simone Bordet 9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Andriy Rosa a9ef53b6d0 Fix HttpClient#copyRequest (#937)
Make HttpClient#copyRequest to copy custom headers with the same values.

When original request contains some custom header, say `X-Custom`, than
HttpHeader object within a HttpField will be `null`. In such case
`newRequest.getHeaders().contains(field.getName(), value)` check returns
true when there are 2 and more custom headers with the same value. As a result
not all the custom headers are being copied to the new request.

Signed-off-by: Andriy Rosa <andriyrosa@gmail.com>
2016-09-22 21:27:59 +02:00
Simone Bordet 61cd8d5379 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 18:13:12 +02:00
Simone Bordet ed14641e87 Made test more robust. 2016-09-14 18:12:34 +02:00
Simone Bordet 5ec60a30ed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 16:44:39 +02:00
Simone Bordet 571b0c74c5 Implemented PromiseWrapper's succeeded() and failed() methods. 2016-09-14 14:01:30 +02:00
Simone Bordet 448100ff80 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-06 12:02:01 +02:00
Simone Bordet 6d485b2777 Fixes #902 - Expect: 100-Continue does not work with HTTP/2.
Improved handling of the 100 status code in both client and server.
2016-09-06 12:01:24 +02:00
Greg Wilkins 5ab9846ac5 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-08-31 20:32:54 +10:00
Greg Wilkins f856107301 Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2016-08-31 19:05:57 +10:00
Greg Wilkins 0155ae761c Issue #880 Improve IPv6 support
For #880 added the HostPort class, which was used to fix #878, #879, #884 and #886
2016-08-31 16:46:11 +10:00
Simone Bordet a4a97a0257 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-17 22:11:44 +02:00
Simone Bordet bef4b56fc0 Fixes #806 - Jetty HttpClient authentication - missing any realm option.
Introduced Authentication.ANY_REALM constant to use when specifying
the realm in concrete subclasses, so that the realm match is skipped.
2016-08-17 22:10:59 +02:00
Simone Bordet c42212d7b0 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 00:08:12 +02:00
Simone Bordet 7041e5102d Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Using https scheme in CONNECT request if the proxy is secure.
A Proxy must not match its own address.
Resolved correctly request URI in case of CONNECT requests.
2016-08-11 19:25:41 +02:00
Simone Bordet 9b6c9438a7 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-10 18:37:24 +02:00
Simone Bordet 2eec2251ee Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Only successful (200) responses to a CONNECT behave like HEAD and
implicitly have no body.
2016-08-10 18:36:27 +02:00
Simone Bordet 823ba4add6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 18:15:38 +02:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Simone Bordet 6adb5eb031 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-15 18:12:02 +02:00
Simone Bordet a3b5e7ebb7 Added guards against NPE in case HttpField.getValue() returns null. 2016-07-15 15:45:50 +02:00
Simone Bordet 0d5fb1812e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-22 11:27:56 +02:00
Simone Bordet 72393bc666 Fixes #659 - CONNECT request fails spuriously.
Fixed by properly returning true from messageComplete() in case of
a 101 response or a 200 CONNECT response.
2016-06-22 11:27:28 +02:00
Simone Bordet a07461f4bd Code cleanups. 2016-06-22 11:27:28 +02:00
Simone Bordet b3fda0b733 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-20 23:11:16 +02:00
Simone Bordet 7ef22c8ebd Fixes #648 - Problem using InputStreamResponseListener to handle HTTP/2 responses.
The fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=484446
reimplemented InputStreamResponseListener using callbacks rather than
blocking waits.

However, HTTP/2 behaves a little differently than HTTP/1.
Where in HTTP/1 until the callback was completed no further calls to
onContent() were made, with HTTP/2 additional calls are made until
the flow control window is exhausted.

For this reason InputStreamResponseListener must queue content chunks
rather than dealing only with one chunk at a time.
2016-06-20 23:10:44 +02:00
Simone Bordet a565b6fa83 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-14 11:09:02 +02:00
Simone Bordet 35077c9803 Increased timeouts to avoid failures on slower machines. 2016-06-14 11:08:38 +02:00
Greg Wilkins 86e5b1cf9b Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-08 16:48:50 +10:00
Greg Wilkins d458d41632 more generous unit test timeouts 2016-06-08 16:48:19 +10:00
Simone Bordet 85b3459af5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-03 18:03:29 +02:00
Simone Bordet c05e265c5b Moved scheme checks to the right place. 2016-06-03 17:57:59 +02:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

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

* fixed http2 strategy choice

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

* code cleanups

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

* clean up seelctor actions/products

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

* cleanups
2016-06-03 09:07:00 +10:00
Greg Wilkins e1b551c2ae Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-02 08:04:56 +10:00
Simone Bordet 059fbaa1d6 Removed @Ignore from a passing test. 2016-06-01 11:56:49 +02:00
Simone Bordet 8956245026 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-01 10:48:57 +02:00
Greg Wilkins 7d6c05b5c0 Issue #610 Ignore failing test 2016-06-01 17:46:04 +10:00
Simone Bordet b912c700ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-25 19:27:46 +02:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
2016-05-25 19:27:08 +02:00
Simone Bordet 016a7b72a1 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 16:10:00 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet 5fe1ff697e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 12:42:12 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet b1ebcf9139 Using lambdas instead of anonymous inner classes. 2016-05-24 11:15:18 +02:00
Simone Bordet a37a0c18c3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-19 15:49:14 +02:00
Simone Bordet 89531a81be Fixed test. 2016-05-19 15:48:50 +02:00
Simone Bordet 922319c3a3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-12 19:30:50 +02:00
Simone Bordet e25cca33e7 Fixes #571 - AbstractAuthentication.matchesURI() fails to match scheme. 2016-05-12 19:03:52 +02:00
Simone Bordet cd2c2a6b98 Issue #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
Small refactoring.
2016-05-12 19:03:18 +02:00
Simone Bordet 242b6b5f66 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-05-12 18:59:40 +02:00
Simone Bordet f3675dbad7 Fixes #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
The issue was related to the fact that the proxy responded 407 with a
Connection: close header.

Because the endPoint underlying the original connection was closed,
it should not have been used as a tunnel.
Rather, the endPoint of the new CONNECT attempt (with the proxy
credentials) must be used for the tunnel.

Also partially backported the fix for #408.
2016-05-12 17:19:04 +02:00
Simone Bordet 1056536155 Moved HttpClientLoadTest to "tests" module to test all transports. 2016-05-06 17:10:46 +02:00
Simone Bordet e2f252f817 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-11 19:39:04 +02:00
Simone Bordet f0a1ccf4d3 Fixes #504 - HTTP/2 client transport cannot send request after idle timeout.
Made sure that the idle timeout mechanism notifies the destination
that the connection will close.

Also reviewed the close protocol to be: notify destination, then abort,
then close. In this way, HTTP/2 can send RST_STREAM before the
connection is closed.
2016-04-11 19:15:17 +02:00
Simone Bordet 11242ae1ec Fixes #503 - Wrong request-per-connection counting in MultiplexHttpDestination in case of failures. 2016-04-11 19:15:17 +02:00
Simone Bordet ac4ee8fec4 Ignoring tests that connect to external sites. 2016-04-11 19:15:17 +02:00
Simone Bordet 5aef3ba3e4 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-04 15:41:04 +02:00
Simone Bordet 5c147288ef Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Fixed by notifying the response.success event only when the callback
is succeeded.
2016-04-04 15:40:25 +02:00
Simone Bordet 1806744bf7 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 22:04:44 +02:00
Simone Bordet 3fb06cca21 Issue #476 - HttpClient should not send absolute-form target with non HttpProxy.
Fixed test case.
2016-04-01 22:04:15 +02:00
Simone Bordet 68a465d7a3 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 19:50:26 +02:00
Simone Bordet aac9f70243 Fixes #476 - HttpClient should not send absolute-form target with non HttpProxy.
Now only sending absolute-form in case of HttpProxy.
2016-04-01 17:46:22 +02:00
Simone Bordet cdcde53c6b Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:44:50 +02:00
Simone Bordet ce04cadb79 Fixes #233 - Add message to idle TimeoutException. 2016-04-01 14:44:26 +02:00
Simone Bordet 1146bce95e Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:29:38 +02:00
Simone Bordet 4aa512e468 Issue #184 - Empty Realm for BasicAuthentication.
Fixed by allowing empty realms.
2016-04-01 14:29:11 +02:00
Simone Bordet 650587ec0a Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 12:48:09 +02:00
Simone Bordet c8fea46e8f Issue #450 - Client AuthenticationProtocolHandler sends request failures to response failure listener.
Fixed by properly forwarding response success in case only the
request failed.
2016-04-01 12:46:12 +02:00
Simone Bordet a97d29f54b Removed usages of deprecated Callback.Adapter. 2016-04-01 12:46:12 +02:00
Simone Bordet 3b5ed5a822 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-25 18:34:23 +01:00
Stéphane Martin 1c8b0869fd [Jetty-Client] fix: don't add host automaticaly on http2 request.
All google server answers bad request when Host field is filled with h2 protocol.

Change-Id: I9e16f8c9f56bc26df0b0a933cee0b3a3d6c31921
Signed-off-by: Stéphane Martin <stephane.martin@neotys.com>
2016-03-25 17:45:53 +01:00
Greg Wilkins acfa1268bc Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-24 12:58:06 +11:00
Greg Wilkins 8b228073e3 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Efficiency improvements
2016-03-24 11:37:39 +11:00
Greg Wilkins d287f6e6e0 Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-17 06:27:14 +11:00
Greg Wilkins 5da034db66 Issue #431
HttClientTest cleanup
2016-03-17 06:26:20 +11:00
Joakim Erdfelt 3624339ec6 Merge branch 'jetty-9.3.x' 2016-03-16 10:29:29 -07:00
Simone Bordet be7c50fa51 Fixes #409 (Http client authentication with proxy server)
Made BasicResult a public static class so that it can be used by
applications via AuthenticationStore.addAuthenticationResult().
2016-03-16 15:52:56 +01:00
Greg Wilkins 1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Joakim Erdfelt dcfa0b8910 Merge branch 'jetty-9.3.x' 2016-03-15 07:49:28 -07:00
Simone Bordet 26f8deddf7 Introduced Callback.Nested.
Refactored code that was using nested callbacks and removed
unnecessary overrides now that we have default methods.
2016-03-15 15:24:44 +01:00
Simone Bordet 35758b6f87 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-11 11:32:32 +01:00
Simone Bordet 3f82886774 Issue #266 (jetty-client redirection process is aborted if redirect response have corrupt body)
Fixed by disabling content decode, since we are discarding the
content anway.
2016-03-11 11:31:39 +01:00
Simone Bordet 14c985802e Merged branch 'jetty-9.3.x' into 'master'. 2016-03-10 22:32:24 +01:00
Simone Bordet 2af81781cd Issue #258 (Http request to origin server over https proxy contains absolute URL)
Fixed by sending the request target in origin-form (and not in
absolute-form) when request is to a https server.
2016-03-10 22:01:17 +01:00
Simone Bordet 4039f00bda Issue #408 (Http client does not work on https with proxy)
Fixed by not considering authority-form targets to be URIs, so that
the request is correctly copied after a 407.
2016-03-10 16:10:45 +01:00
Simone Bordet e6c2c81bea Issue #417 (HttpClient: review support for OPTIONS *)
Implemented support for OPTIONS * HTTP/1.1 requests.
2016-03-10 16:10:45 +01:00
Simone Bordet ffbd817254 Issue #416 (Support HTTPS forward proxies)
Implemented. We were never checking HttpProxy.isSecure().
Now we do, and if so we wrap the connection factory with an SSL one.
2016-03-10 16:10:45 +01:00
Simone Bordet d0593ab046 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-08 11:56:14 +01:00
Simone Bordet 18b689b820 Code cleanups. 2016-03-08 11:55:54 +01:00
Simone Bordet 87ea5ac039 Fixed tests. 2016-03-08 11:55:19 +01:00
Simone Bordet 13f267bf8a Merged branch 'jetty-9.3.x' into 'master'. 2016-03-07 16:11:41 +01:00
Simone Bordet 8ad0944732 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-07 16:04:46 +01:00
Simone Bordet d36e5864db Issue #377 (HttpClient - No supported cipher suites leads to stuck requests)
Fixed by rethrowing the exception thrown by onOpen() so that the
SelectorManager can act appropriately.
2016-03-07 15:20:12 +01:00
Simone Bordet 815bc54f5d Improved failure reporting. 2016-03-07 10:35:07 +01:00
Simone Bordet 5fa6bf4c10 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-05 14:59:21 +01:00
Simone Bordet fb05062f0d Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-05 14:58:50 +01:00
Simone Bordet a4686bc6a4 Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Fixed by making sure that URI matches take into account default HTTP
ports.
2016-03-05 13:29:31 +01:00
Simone Bordet bede684cac Merged branch 'jetty-9.3.x' into 'master'. 2016-03-03 08:21:26 +01:00
Simone Bordet 311c7466b0 Issue #386 (Explicit Authorization header is dropped when handling 407s)
Fixed by copying explicitly set authorization headers.
2016-03-03 08:20:55 +01:00
Simone Bordet 6d9b36c8a4 Issue #381 (HttpClient does not send the Authorization header with authenticating proxy)
Fixed by tracking correctly the conversation attributes for
authentication, and by applying both proxy authentication results and
server authentication results.
2016-03-02 18:02:20 +01:00
Simone Bordet 53e41d291f Merged branch 'jetty-9.3.x' into 'master'. 2016-03-01 16:32:03 +01:00
Simone Bordet a8bbe8749f Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Added test case, but code seems already good.
2016-03-01 16:31:40 +01:00
Simone Bordet 24a203f976 Fixed compilation issue. 2016-03-01 15:58:32 +01:00
Simone Bordet 21abfb0351 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-01 15:35:49 +01:00
Simone Bordet 04bb4af12c Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-01 15:21:19 +01:00
Simone Bordet d53766f6fe Issue #365 (Potential connection leakage in case of aborted request)
Fixed by releasing the connection that will not be used to the pool.
2016-03-01 15:19:02 +01:00
Simone Bordet 50422a1a1f Replaced usages of Random with ThreadLocalRandom in concurrent code. 2016-02-26 10:29:58 +01:00
Greg Wilkins aa7fd02c5f Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-02-23 18:31:15 +01:00
Greg Wilkins 3c671aa8b6 Issue #346 HttpParser RFC2616 Compliance mode
Reimplmented HTTP/0.9 support in RFC2616 compliance mode
2016-02-23 17:33:53 +01:00
Simone Bordet c52c8304d8 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-22 11:34:07 +01:00
Simone Bordet 89ead7561e Issue #285 (PathContentProvider - Use of Direct buffers without pooling).
Introduced PathContentProvider.setByteBufferPool() so that a buffer
pool can be set (for example from HttpClient.getByteBufferPool()).
If present, PathContentProvider will use it.
2016-02-22 11:33:23 +01:00
Simone Bordet 51009208d4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-19 13:23:34 +01:00
Simone Bordet 1d04b9ece0 Issue #347 (Avoid sending request using a connection that is idle timing out).
Can't make atomic decisions using AtomicInteger _and_ another field.
Now using synchronized.
2016-02-19 12:22:13 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Simone Bordet 48c4e08b94 Issue #347 (Avoid sending request using a connection that is idle timing out).
Fixed by improving the guard with a timestamp, and checking that the
time elapsed from the last timestamp is enough to prove it is a real
idle timeout.
2016-02-19 11:36:06 +01:00
Simone Bordet 55817a212f Improved toString(). 2016-02-19 11:36:06 +01:00
Simone Bordet df80aef265 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-12 16:01:38 +01:00
Simone Bordet ab2a168cf9 Made MultiplexConnectionPool sweepable.
Made HttpConnectionOverHTTP2 sweepable.
2016-02-12 15:24:07 +01:00
Simone Bordet 7c7c49f06b 484446 - InputStreamResponseListener's InputStream uses default read (3) and blocks early on never-ending response.
Implemented read(byte[],int.int) to fix the reported issue.
Reworked InputStreamResponseListener to use a callback approach
rather than blocking waiting for content.
2016-02-12 11:19:31 +01:00
Simone Bordet 9c075ff85c Converted anonymous inner classes to lambdas. 2016-02-11 09:37:46 +01:00
Simone Bordet 2ac465a343 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-09 18:14:07 +01:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 145e4bee71 487511 - Jetty HTTP won't work on turkish systems.
Fixed usages of toLowerCase() and toUpperCase() to use Locale.ENGLISH.
2016-02-09 17:50:26 +01:00
Joakim Erdfelt 288f2e1f51 Fixing javadoc: Invalid member type qualification 2016-01-21 16:53:04 -07:00
Simone Bordet 6128bd6d45 Merged branch 'jetty-9.3.x' into 'master'. 2016-01-05 11:50:52 +01:00
Simone Bordet 17a1e76ba0 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-01-05 11:25:20 +01:00
Simone Bordet 0050ad5a99 484621 - Client hangs till timeout when Authentication.authenticate() throws exception.
Fixed by surrounding the call to Authentication.authenticate() with a
try/catch and acting appropriately in case of exceptions.
2016-01-05 11:03:35 +01:00
Joakim Erdfelt 4032b8579a Happy New Year 2016 (take #2) 2016-01-04 15:14:27 -07:00
Joakim Erdfelt ac24196b0d Happy New Year 2016 2016-01-04 14:34:20 -07:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00
Simone Bordet 3fb354f884 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-21 13:02:04 +01:00
Simone Bordet 8f4cc73613 484585 - Avoid sending request using a connection that is idle timing out.
Rewritten handling of idle timeouts in light of issue #484718.
2015-12-21 11:47:05 +01:00
Simone Bordet 988e596c71 484585 - Avoid sending request using a connection that is idle timing out.
Added guard to avoid that the idle timeout expires just before
sending the request.

Reworked the way idle timeouts are handled, to support the case where
the idle timeout just expired and the request can be tried on a
different connection/channel.
2015-12-18 15:56:31 +01:00
Simone Bordet bf9f39dc17 Improved exception reporting. 2015-12-14 15:00:19 +01:00
Simone Bordet 829bdd3d7c Merged branch 'jetty-9.3.x' into 'master'. 2015-12-11 21:39:03 +01:00
Simone Bordet 8d28be5786 484210 - HttpClient over HTTP/2 should honor maxConcurrentStreams.
Fixed by sending queued requests in a loop up to maxConcurrentStreams.
Also updating the maxConcurrentStreams value when received from the
server.
2015-12-11 18:00:48 +01:00
Simone Bordet e674d3ec5e 483878 - Parallel requests stuck via the http client transport over HTTP/2. 2015-12-11 17:58:31 +01:00
Simone Bordet c5e56e72e6 Added concurrent load tests. 2015-12-09 10:51:24 +01:00
Joakim Erdfelt 7cdc58e6b9 Merge branch 'jetty-9.2.x' into feature/gziphandler-config 2015-12-08 14:56:26 -07:00
Greg Wilkins 3527c6a71b StringUtil.csvSplit(String)
Conflicts:
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
	jetty-security/src/main/java/org/eclipse/jetty/security/PropertyUserStore.java
	jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
	jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
	jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java
2015-12-08 14:54:33 -07:00
Simone Bordet 4ea1bb0233 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-08 22:20:28 +01:00
Simone Bordet 8d6206b8c7 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-12-08 22:20:05 +01:00
Simone Bordet 1693dd135d 483857 - jetty-client onComplete isn't called in case of exception in GZIPContentDecoder.
Fixed by catching the exceptions and failing the callbacks.

Also using return values from HttpReceiver to compute what to
return to the parser.
2015-12-08 22:10:27 +01:00
Simone Bordet 7125d52fdf Merged branch 'jetty-9.3.x' into 'master'. 2015-11-25 19:08:29 +01:00
Simone Bordet eac966cb9b 483009 - MultiPartContentProvider may send wrong Content-Length.
Introduced method close() to signal when no more parts will be added,
and calculating the Content-Length in setListener() only if when closed.
2015-11-25 16:02:21 +01:00
Simone Bordet 50041395f9 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-25 14:00:19 +01:00
Greg Wilkins 204591ce82 482855 - Content-Length omitted for POST requests with empty body
Removed HTTP 0.9 support
A few code simplifications
Fixed clients relying on Content-Length headers being ignored
2015-11-25 20:50:59 +11:00
Greg Wilkins ff0d1b4c14 481903 Module Descriptions 2015-11-12 10:48:04 +11:00
Simone Bordet 8ed67c009f Removed usages of deprecated Callback.Adapter class. 2015-11-09 12:35:58 +01:00
Greg Wilkins 7843b7348e 480827 Implemented Unix Domain Socket Connector
Squashed commit of the following:

commit fbb680ba7cdb73495524ea9e5b0f49caee7f68d8
Merge: ed2550b 64ea0db
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Nov 6 10:44:00 2015 +1100

    Merge branch 'master' into unix-socket

commit ed2550b50f978e1984e19fbda642baf450dbe6a1
Merge: 88d7b35 de137ab
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 18:41:25 2015 +1100

    Merge branch 'master' into unix-socket

commit 88d7b35f885de2da7dec836e6e4ae2b522d517f0
Merge: 7d4155f 3e2658a
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:38:27 2015 +1100

    Merge branch 'master' into unix-socket

commit 7d4155fe4a407d493683b66709bc638879b0b422
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:24:48 2015 +1100

    Unix socket configuration

commit 2737b19f73ad153c20e1762874558a5d62849f90
Merge: cd0cc2e 92cc44c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Nov 4 15:13:40 2015 +1100

    Merge branch 'master' into unix-socket

    Conflicts:
    	jetty-server/src/main/java/org/eclipse/jetty/server/SecureRequestCustomizer.java

commit cd0cc2ef36a558d948bf26aff4f9e3519da2f823
Merge: 639753b 303f98e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Nov 2 12:21:19 2015 +1100

    Merge branch 'master' into unix-socket

commit 639753b5ed37778d7231acfe9d52039aed66351e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 15:42:58 2015 +1100

    local connectors report NOIP address

commit 6d38c4195f145b99f775a06d546960b119094b0c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 12:11:13 2015 +1100

    Gentler ssl close test

commit 40b46b66a738c9187f859d522a0165bb09b113c8
Merge: b7eb082 fa53b11
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 11:09:42 2015 +1100

    Merge branch 'master' into unix-socket

commit b7eb082be44864c058b6f01b10364013596d3650
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 08:34:30 2015 +1100

    SecureRequestCustomizer for UnixSockets

commit edbb3c080200b4c6aa2836eff6c81bf31a73a8c1
Merge: 90e8cc0 de7ac72
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:47:05 2015 +1100

    Merge branch 'master' into unix-socket

commit 90e8cc060ff6dc4b249818db38334ffa543f002f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:31:50 2015 +1100

    use proxy connection

commit b1772ef5dcac9ddf9bb5ecda1cda6d038ca21755
Merge: e95a932 9fe7332
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 16:46:29 2015 +1100

    Merge branch 'master' into unix-socket

commit e95a932bda5a96bf98ada4fb47664790af2aa0a2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:58:25 2015 +1100

    fixed config

commit f8963b2ed6b6b4b96f1d9403194c9d50ab1f12fd
Merge: 9c56b53 8b27484
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:34:28 2015 +1100

    Merge branch 'master' into unix-socket

commit 9c56b53cbec20d98e5cb05cf8d1f668fe84b95e0
Merge: 298a311 39768f8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Oct 26 13:04:34 2015 +1100

    Merge branch 'master' into unix-socket

commit 298a311af952ad3ef5d1c7635deabf47bddaa1c6
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 15:24:19 2015 +1100

    Async accepting

commit 8266753d124c04ec8bca8aa02be1ef3d826d6769
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 14:45:35 2015 +1100

    set acceptors

commit 6a56c5b9e19063fcb95cdc1228adf723c0d41362
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:44:54 2015 +1100

    licence

commit d80e5748e6c4327bae57de2af01983990dd2afe0
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:24:14 2015 +1100

    unixsocket work in progress adding modules

commit cf0c1153d9966cc7182ba29411527b4341c34da6
Merge: 645b671 c39bfa2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:52:01 2015 +1100

    Merge branch 'master' into unix-socket

commit 645b6712d37282c26011a95c8c98e45c249b2e5f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:49:52 2015 +1100

    IP headers

commit 67b210b9ea81af68ce3848a114bbbd1b80a8ca52
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 23:48:57 2015 +1100

    working with haproxy

commit e4fce9cf5d896a9a29a7c6280fcaa0336dfcc0f2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 18:25:09 2015 +1100

    unixsocket working

commit 6f013788cad44e6641cd89720c5e7f3652cdc257
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 15:39:55 2015 +1100

    work in progress
2015-11-06 11:17:46 +11:00
Simone Bordet f717ff5f49 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-04 15:06:10 +01:00
Simone Bordet afc6b9e5c0 Fixed compilation issues. 2015-11-04 15:00:39 +01:00
Simone Bordet 82d0807863 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-04 13:50:26 +01:00
Simone Bordet 7a34631397 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-11-04 13:40:44 +01:00
Simone Bordet 0172b68301 481006 - SSL requests intermittently fail with EOFException when SSL renegotiation is disallowed.
Fixed by notifying the Connection promise from onOpen() rather than
just after the creation of the connection.
2015-11-04 13:26:27 +01:00
Joakim Erdfelt 60ed6cd143 Javadoc fix: Invalid member type qualification 2015-11-02 13:33:58 -07:00
Simone Bordet 36fdf9b788 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-02 18:23:38 +01:00
Simone Bordet b102bd507a 419966 - Add ContentProvider that submits multipart/form-data.
Second implementation after feedback from the community.
2015-11-02 18:17:51 +01:00
Simone Bordet 0bd1e0ad7d 481116 - Introduce connection pooling also for HTTP/2 transport.
Implemented connection pooling for multiplexed transports.
Reworked the ConnectionPool code and its relationship with
HttpDestination.
2015-10-30 15:33:12 +01:00
Simone Bordet 0b95a9e23e Merged branch 'jetty-9.3.x' into 'master'. 2015-10-30 11:18:16 +01:00
Simone Bordet 45cd1f1ce6 Improved thread safety. 2015-10-30 11:17:28 +01:00
Simone Bordet 915a905df4 Refactored checks for secure schemes. 2015-10-29 19:27:33 +01:00
Simone Bordet 6b0e1d48c5 Fixed onUpgradeFrom(): buffer must be copied. 2015-10-29 19:26:56 +01:00
Simone Bordet 7200b2df0e 479678 - Support HTTP/1.1 Upgrade in HttpClient.
Removed leftover code.
2015-10-29 18:36:00 +01:00
Simone Bordet 3789c73ba3 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-27 15:33:21 +01:00
Simone Bordet 4134b1eca8 419966 - Add ContentProvider that submits multipart/form-data.
Implemented this functionality.
2015-10-27 15:32:26 +01:00
Simone Bordet d67cfaa910 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-26 12:35:05 +01:00