Opened 4 years ago

Closed 16 months ago

#2098 closed defect (fixed)

Jetty 9.3/9.4

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.47
Component: apps/jetty Version: 0.9.32
Keywords: Cc: villain, Masayuki Hatta
Parent Tickets: Sensitive: no


Placeholder/tracker ticket

Quote gregw
"9.2.22 is an old release that is past end-of-life. I assume you are using it because you are using java7, which is also end-of-life"

lol. Can't even think about 9.3/9.4 until it appears in Debian. They've already shifted focus to Jetty 10, requiring Java 9. lol again. We just moved to 9.2 in 0.9.30 2017-05.

Target late 2018 / early 2019, maybe.


#2511: Require Java 8closedzzz

Change History (13)

comment:1 Changed 4 years ago by zzz

Status: newopen

EOL declared 2018-03-08
although it says "Major security issues will still be addressed".

A day after 9.2.23 release
At first glance, none of the fixed items looks important.

Still no sign of 9.3/9.4 in Debian.
9.3 requires Java 8; 9.4 requires Java 9.

Continues to be low priority and problematic unless something major goes unfixed in 9.2.x. Late 2018 is unlikely.

comment:2 Changed 3 years ago by zzz

first 9.4.x problem (reported with 9.4.11)
HostCheckHandler? extends GzipHandler?
ERROR [uter Console] outer.startup.RouterAppManager?: Client net.i2p.router.web.RouterConsoleRunner?@3d8e9f8b failed to start
java.lang.NoClassDefFoundError?: org/eclipse/jetty/servlets/gzip/GzipHandler

late 2019 a more realistic target

comment:4 Changed 3 years ago by zzz

Sid updated to 9.4, here's the ticket, with a patch

Will see how much of this we can put in now that's compatible with both 9.2 and 9.4, but the GzipHandler? class moving definitely isn't, as noted in comments above.

comment:5 Changed 3 years ago by zzz

Cc: Masayuki Hatta added

I've reviewed the patch and it looks reasonable. I won't have any time to test it before January, but perhaps mhatta and villain can do that.

The changes mainly affect:
1) Console password handling. To test, set a console password on /configui
2) Jetty xml configuration file parsing. To test, go to the SSL wizard on an i2ptunnel eepsite edit page.
See if anything breaks, and check the logs for anything unusual.

For the near-term, the best approach is to maintain this as a Debian patch. I don't plan to migrate to 9.4 for a long time because it would require us to bump our minimum java requirement to Java 9, which I don't think we want to do until probably 2020 at the earliest. Perhaps we'll go to Java 8 in 2019.

comment:6 Changed 3 years ago by Masayuki Hatta

I uploaded 0.9.37-3 to Debian sid. It contains the following patch:

Console password handling seems to work. I'm not sure what "SSL wizard" means. Let's see what happens.

comment:7 Changed 3 years ago by zzz

I checked the patch in under debian-alt/sid/, then refreshed the patch and moved it to debian-alt/disco/ for the release, as disco switched to 9.4. I've also started a branch i2p.i2p.zzz.jetty94 that has the patch applied, and the jetty 9.4.14 jars, for testing.

comment:8 Changed 19 months ago by zzz

Milestone: eventually0.9.47
Owner: set to zzz
Sensitive: unset
Status: openaccepted

Pencil in for 0.9.47 Fall 2020. We would bundle 9.3.28 or higher (Java 8 compatible) instead of 9.2.x, and drop Java 7 as a JVM. Any old distros that don't have java 8 we would no longer support.

We would drop the 9.4 Debian patches. 9.3 and 9.4 are essentially the same.

Android and the core/router/i2ptunnel libs would stay at Java 7 compatibility.

comment:9 Changed 19 months ago by zzz

Add a subticket #2511 (Require Java 8).

comment:10 Changed 19 months ago by zzz

Jetty 9.3 will be EOL soon
It still should be our target; no way we can require java 9 for 9.4

comment:11 Changed 18 months ago by zzz

GzipHandler? fix #2599 in 90dcc8a6964eac73ea6071e44c10e4866427fbdc to be 0.9.45-8
See also branches i2p.i2p.zzz.jetty93 and i2p.i2p.zzz.jetty9428
i2p.i2p.zzz.jetty94 branch is abandoned.
The jetty93 branch should have everything we need, except for respinning all the debian patches, still todo.

comment:12 Changed 18 months ago by zzz

All six supported distros precise, trusty, xenial, bionic, disco, and debian will require a new 0002-jetty patch file.

precise and trusty will be to patch from 9.3 back to 9.2, which is roughly the parts of the first rev of the i2p.i2p.zzz.jetty93 branch that aren't already in trunk
Actually, we'll have to abandon wheezy/jessie and precise/trusty as they don't have Jetty 9.2.
See http://zzz.i2p/topics/2847

xenial will be the above plus the current 0002-jetty-old-api.patch
bionic, disco, and debian will be the patch from 9.3 forward to 9.4, which should be roughly the first rev in the i2p.i2p.zzz.jetty9428 branch

Last edited 18 months ago by zzz (previous) (diff)

comment:13 Changed 16 months ago by zzz

Resolution: fixed
Status: acceptedclosed

In ba7d2d518268407924d0ce6d8a9ed7d8bd8f89bb 0.9.46-2
Debian and website changes to follow

Note: See TracTickets for help on using tickets.