Commit Graph

151 Commits

Author SHA1 Message Date
Greg Wilkins ff0d1b4c14 481903 Module Descriptions 2015-11-12 10:48:04 +11:00
Simone Bordet 279e56d336 481718 - Improve stream interleaving.
Introduced the constraint in the API that Stream.headers() and
Stream.data() calls cannot be invoked if the previous operation did
not complete.

Improved interleaving by appending unfinished DATA frames at the end
of the queue, rather than prepending them.
2015-11-09 21:58:48 +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 3fd8a2e666 479537 - Server preface sent after client preface reply.
Fixed by anticipating the onPreface() callback on server before
processing the client preface's SETTINGS frame.
2015-10-12 17:52:19 +02:00
Simone Bordet 83c5105e71 478434 - Priority weights should be between 1 and 256 inclusive.
Added required +1 in parsers and -1 in generators to convert from
unsigned byte to weight.
2015-09-26 00:14:45 +02:00
Simone Bordet 0c9eba0485 478275 - Priority information in HEADERS frame is not sent.
Now the priority information present in HEADERS frame is correctly
generated and sent as part of the HEADERS frame.
2015-09-25 13:00:26 +02:00
Simone Bordet 30532786cc Improved logging. 2015-09-14 11:51:19 +02:00
Simone Bordet f2a3bd8f05 477087 - Enforce that the preface contains a SETTINGS frame.
Now the ServerParser enforces that the preface bytes are followed by
a SETTINGS frame.
2015-09-10 19:04:47 +02:00
Simone Bordet 25ed10d205 473118 - HTTP/2 server does not retrieve Host header from client. 2015-07-28 12:26:53 +02:00
Greg Wilkins 607239028c 470727 - Thread Starvation of selector wakeups.
Changed the CallBack.NonBlocking to a default Callback.isNonBlocking, so that wrapping callbacks can determine if they are NonBlocking or not.
2015-07-22 17:31:54 +10:00
Simone Bordet c367ea8a85 441020 - Support HEADERS followed by CONTINUATION+. 2015-07-08 18:55:47 +02:00
Greg Wilkins 30f8eb234e Allow HTTP2C to be configured separately from HTTP2 2015-06-17 15:01:17 +10:00
Joakim Erdfelt 7c737a587b Removing [version] sections in modules 2015-06-12 09:14:34 -07:00
Joakim Erdfelt 916efd6aa7 469860 - Add module metadata versioning to support backwards compat
+ Adding [version] section to all existing jetty 9.3 distro modules
+ Updating testcases in jetty-start with new [version] sections too
+ Adding extra testcases for versioned modules
2015-06-10 10:59:18 -07:00
Simone Bordet a6ff4da9b1 Made the cipher comparator a constant field. 2015-05-26 18:03:55 +02:00
Greg Wilkins bd27e7d2d4 467730 - HTTP2 requires enabled ciphers to be sorted by blacklist 2015-05-21 01:41:12 +10:00
Greg Wilkins 356600716d Draft 14 9.2.2 protection 2015-05-13 10:26:45 +10:00
Greg Wilkins 5d041ad54f 466645 Allow XmlConfiguration Properties to use Elements or Attributes 2015-05-07 16:24:11 +10:00
Greg Wilkins 8b39e7ffb8 464629 JDK8 Socket customization
Added the SocketCustomizationListener class which may be added as a bean to either a Connector or a ConnectionFactory
so that customizations may be made per connector by connection type or even per connection factory.

SSL is unwrapped.
2015-04-30 11:46:10 +10:00
Simone Bordet a6cc4ff2f5 465857 - Support HTTP/2 clear-text server-side upgrade.
Fixed and test both types of upgrade, from HTTP/1.1 via its
upgrade mechanism, and direct HTTP/2.
2015-04-29 22:27:50 +02:00
Simone Bordet 2de8eb936d 464708 - Support HttpConfiguration.delayDispatchUntilContent in HTTP/2. 2015-04-24 12:36:53 +02:00
Simone Bordet 3d5164b651 Hiding exception stack printed by a successful test. 2015-04-24 12:26:36 +02:00
Simone Bordet e868ab0b0d 464706 - HTTP/2 and async I/O: onDataAvailable() not called.
Changed HTTPServerConnection to return a Runnable to be run by the
execution strategy also in case of content.
This allows onDataAvailable() to be called at the proper times.
2015-04-15 17:21:17 +02:00
Simone Bordet 55e74c6867 460187 - infinite recursion in sending error.
Added test case.
2015-04-14 22:11:59 +02:00
Simone Bordet 599ab9bb1b 460671 - Rationalize property names.
Property format is now "jetty.<module|component>.<propertyName>".

Updated all references with new properties.
2015-04-13 16:21:48 +02:00
Greg Wilkins 663ff827ed Blacklist ciphers only for h2-16 and later 2015-04-09 10:31:45 +10:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Simone Bordet e255bda694 459845 - Support upgrade from http1 to http2.
Simplified upgrade mechanism, and made it available through clearer
internal APIs.
2015-03-20 15:02:40 +01:00
Simone Bordet 2a21f8cb2f Renamed ISession.control() to ISession.frames(). 2015-03-20 15:02:07 +01:00
Greg Wilkins caacebc223 459845 - Support upgrade from http1 to http2
functioning implementation.  Not exactly the most elegant solution, but works with nghttp2 -u
2015-03-19 12:02:54 +11:00
Simone Bordet 81f29576e6 Prevented NPE in abort(). 2015-03-16 08:17:25 +01:00
Simone Bordet 4f0c63734c 462162 - StackOverflowException when response commit fails.
Fixed HttpChannel to avoid to stack overflow in case of unusual
exceptions thrown while committing.
Now it directly calls the transport to try to send a 500.
2015-03-15 12:10:27 +01:00
Greg Wilkins 3f795da26c 459845 - Support upgrade from http1 to http2
Generalised Upgrade Connection Factories
2015-03-13 13:59:29 +11:00
Simone Bordet feed8ea158 Small refactoring of HTTP/2 upgrade code. 2015-03-12 19:08:26 +01:00
Greg Wilkins b7d719be5f 459845 - Support upgrade from http1 to http2
Parse setting frame.
2015-03-13 00:54:33 +11:00
Simone Bordet 005870811d Fixed compilation issue: using Jetty's B64Code instead of JDK8 Base64. 2015-03-12 11:06:30 +01:00
Greg Wilkins 0dd58d2efe 459845 - Support upgrade from http1 to http2
Moved the sneaky direct upgrade to its own method and added support to detect a standard upgrade.
The standard upgrade now creates the h2c connection and decodes the settings header, but it does not yet process the
settings nor send a response to the request.
2015-03-12 16:52:17 +11:00
Simone Bordet 560ec6301e 423974 - Optimize flow control.
Made the buffering flow control strategy the default.
2015-03-11 16:27:31 +01:00
Simone Bordet 48887377c9 459081 - http2 push failures.
Introduced ExecutionStrategy.dispatch() to handle the case where
resources that are being pushed block.
2015-03-11 00:12:57 +01:00
Simone Bordet 73821e7ac6 461052 - Local streams created after INITIAL_WINDOW_SIZE setting have wrong send window.
Fixed by tracking both send and recv initial stream windows.
This is needed because both client and server may send an
INITIAL_WINDOW_SIZE setting, and they must be treated
separately.
2015-02-27 19:21:35 +01:00
Greg Wilkins 5d6bb9f5d0 460210 - ExecutionStragegy producer for SelectManager calls onOpen from produce method
Additional refactoring to better handle HttpInput state.   Moved the unready and read possible states into the HttpChannelState
2015-02-23 23:06:23 +11:00
Greg Wilkins b60ea47ef4 Revert "Revert "Fixed AsyncIO double dispatch""
This reverts commit 8bd94ec6be.
This is a revert of the revert to add back in the useful debug, plus some TODO comments describing the problems
2015-02-20 00:18:29 +11:00
Greg Wilkins 8bd94ec6be Revert "Fixed AsyncIO double dispatch"
This reverts commit 968063c1ab.
2015-02-20 00:03:40 +11:00
Greg Wilkins 968063c1ab Fixed AsyncIO double dispatch 2015-02-19 18:13:31 +11:00
Simone Bordet 84b8882624 Using TestTracker Rule in test classes. 2015-02-18 23:00:37 +01:00
Simone Bordet d4809e9b79 Improved handling of the stream close state.
Now the stream close state is updated when the frame has been
successfully written, and when it is received.
The stream is closed in case of failures.
Just after the stream close state update, if the stream is closed
then it is removed from the session.
2015-02-18 23:00:37 +01:00
Greg Wilkins c090f179a7 459845 - Support upgrade from http1 to http2/websocket
Added jetty-http2c.xml and http2c.mod
2015-02-13 15:06:24 +11:00
Greg Wilkins 4db654ad32 Organised http2 imports 2015-02-13 13:43:32 +11:00
Greg Wilkins 98e3a28794 459845 - Support upgrade from http1 to http2/websocket
Added test harness for h2c upgrade.
2015-02-13 13:41:14 +11:00
Greg Wilkins c3332e7d2e 459845 - Support upgrade from http1 to http2/websocket
Added support for unofficial "upgrade" from http/1 to h2c
2015-02-13 12:16:03 +11:00