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
Joakim Erdfelt
0b69f00665
Updating to version 9.4.12-SNAPSHOT
2018-07-11 17:32:16 -05:00
Joakim Erdfelt
260596dd10
Updating to version 9.4.12.RC0
2018-07-11 16:30:55 -05: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
Joakim Erdfelt
e4bfe00dce
Updating to version 9.4.12-SNAPSHOT
2018-06-05 14:18:37 -05:00
Joakim Erdfelt
d5fc0523cf
Updating to version 9.4.11.v20180605
2018-06-05 13:23:02 -05:00
Joakim Erdfelt
5eefa90e05
Updating to version 9.3.25-SNAPSHOT
2018-06-05 13:13:07 -05:00
Joakim Erdfelt
84205aa28f
Updating to version 9.3.24.v20180605
2018-06-05 12:11:03 -05:00
Joakim Erdfelt
f0ff571c98
Reverting version to 9.3.24-SNAPSHOT
2018-06-05 12:06:58 -05:00
Joakim Erdfelt
13640c297c
Bumping version to 9.3.25-SNAPSHOT
2018-06-05 11:58:37 -05: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
Joakim Erdfelt
1732ffca51
Updating to version 9.4.11-SNAPSHOT
2018-05-03 11:48:05 -05:00
Joakim Erdfelt
daa59876e6
Updating to version 9.4.10.v20180503
2018-05-03 10:55:19 -05: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