Debian: Change debian files from stretch (Jetty 9.2, Tomcat 8, Java 8) to buster (Jetty 9.4, Tomcat 9, Java 11)

Add debian-alt/stretch files
Update debian-alt/precise, trusty, xenial, bionic, disco to include
 the changes from buster, not stretch
Remove debian-alt/buster, unstable files
Doc updates
This commit is contained in:
zzz
2019-07-26 12:48:17 +00:00
parent 3a0873c991
commit 240d59393f
25 changed files with 280 additions and 2526 deletions

84
debian/changelog vendored
View File

@@ -1,3 +1,87 @@
i2p (0.9.41-1~disco+1) disco; urgency=medium
* New upstream version 0.9.41
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 3 Jul 2019 12:12:12 +0000
i2p (0.9.40-1~disco+1) disco; urgency=medium
* New upstream version 0.9.40
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 8 May 2019 12:12:12 +0000
i2p (0.9.39-1~disco+1) disco; urgency=medium
* New upstream version 0.9.39
-- zzz on i2p (key signing) <zzz@i2pmail.org> Fri, 22 Mar 2019 12:12:12 +0000
i2p (0.9.38-1~disco+1) disco; urgency=medium
* New upstream version 0.9.38
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 23 Jan 2019 12:12:12 +0000
i2p (0.9.37-1ubuntu1) bionic; urgency=medium
* New upstream version 0.9.37
-- zzz on i2p (key signing) <zzz@i2pmail.org> Fri, 05 Oct 2018 12:12:12 +0000
i2p (0.9.36-2ubuntu1) bionic; urgency=medium
* New upstream version 0.9.36
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 23 Aug 2018 12:12:12 +0000
i2p (0.9.35-1ubuntu1) artful; urgency=medium
* New upstream version 0.9.35
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 27 Jun 2018 12:12:12 +0000
i2p (0.9.34-2ubuntu1) artful; urgency=medium
* New upstream version 0.9.34
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 11 Apr 2018 12:12:12 +0000
i2p (0.9.33-1ubuntu1) artful; urgency=medium
* New upstream version 0.9.33
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 30 Jan 2018 12:12:12 +0000
i2p (0.9.32-1ubuntu1) xenial; urgency=medium
* New upstream version 0.9.32
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 08 Nov 2017 12:12:12 +0000
i2p (0.9.31-1ubuntu1) xenial; urgency=medium
* New upstream version 0.9.31
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 09 Aug 2017 12:12:12 +0000
i2p (0.9.30-3ubuntu1) xenial; urgency=medium
* New upstream version 0.9.30
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 03 May 2017 12:12:12 +0000
i2p (0.9.29-1ubuntu1) trusty; urgency=medium
* New upstream version 0.9.29
-- zzz on i2p (key signing) <zzz@i2pmail.org> Mon, 27 Feb 2017 12:12:12 +0000
i2p (0.9.28-1ubuntu1) trusty; urgency=medium
* New upstream version 0.9.28
-- zzz on i2p (key signing) <zzz@i2pmail.org> Tue, 13 Dec 2016 12:12:12 +0000
i2p (0.9.27-1~deb8u+1) stable; urgency=medium
* Backport to Jessie

19
debian/control vendored
View File

@@ -1,17 +1,19 @@
Source: i2p
Maintainer: zzz <zzz@i2pmail.org>
Section: net
Standards-Version: 3.9.8
Standards-Version: 4.3.0
Priority: optional
Bugs: mailto:zzz@i2pmail.org
Homepage: https://geti2p.net/
Vcs-Browser: https://salsa.debian.org/debian/i2p
Vcs-Git: https://salsa.debian.org/debian/i2p.git
Build-Depends: debhelper (>= 9.20160709)
,ant (>= 1.8)
,debconf
,openjdk-8-jdk
,default-jdk
,libjetty9-java
,libtaglibs-standard-jstlel-java
,libtomcat8-java
,libtomcat9-java
,dh-apparmor
,bash-completion
,gettext
@@ -27,11 +29,13 @@ Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
adduser,
apparmor,
debconf,
i2p-router (>= 0.8.6-5),
libjbigi-jni,
lsb-base,
service-wrapper
service-wrapper,
ucf (>= 0.28)
Description: Invisible Internet Project (I2P) - anonymous network
I2P is an anonymizing network, offering a simple layer that identity-sensitive
applications can use to securely communicate. All data is wrapped with several
@@ -74,15 +78,16 @@ Architecture: all
Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
openjdk-9-jre-headless | openjdk-8-jre-headless | default-jre-headless | java9-runtime-headless | java8-runtime-headless,
openjdk-11-jre-headless | java11-runtime-headless,
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (<< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat8-java,
famfamfam-flag-png
libtomcat9-java,
famfamfam-flag-png,
sensible-utils
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, fonts-dejavu

View File

@@ -33,24 +33,25 @@ usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
# comment out if not building with libtomcat8-java
# comment out if not building with libtomcat9-java
# ubuntu: only in xenial+
# debian: wheezy-backports, jessie+
# legacy name, contains only tomcat-juli, not commons-logging
usr/share/java/tomcat8-juli.jar usr/share/i2p/lib/commons-logging.jar
usr/share/java/tomcat8-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
usr/share/java/tomcat9-juli.jar usr/share/i2p/lib/commons-logging.jar
usr/share/java/tomcat9-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
# combined into jasper-runtime.jar in non-package builds
usr/share/java/tomcat8-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
usr/share/java/tomcat8-api.jar usr/share/i2p/lib/tomcat-api.jar
usr/share/java/tomcat8-util.jar usr/share/i2p/lib/tomcat-util.jar
usr/share/java/tomcat8-util-scan.jar usr/share/i2p/lib/tomcat-util-scan.jar
usr/share/java/tomcat9-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
usr/share/java/tomcat9-api.jar usr/share/i2p/lib/tomcat-api.jar
usr/share/java/tomcat9-util.jar usr/share/i2p/lib/tomcat-util.jar
usr/share/java/tomcat9-util-scan.jar usr/share/i2p/lib/tomcat-util-scan.jar
# combined into commons-el.jar in non-package builds
usr/share/java/tomcat8-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
usr/share/java/tomcat9-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
# legacy name in lib/
usr/share/java/tomcat8-el-api.jar usr/share/i2p/lib/commons-el.jar
usr/share/java/tomcat9-el-api.jar usr/share/i2p/lib/commons-el.jar
# tomcat pulls in ecj, link to it for eepsite webapps needing a compiler
usr/share/java/ecj.jar usr/share/i2p/lib/ecj.jar
# comment out if not building with libtaglibs-standard
usr/share/java/taglibs-standard-spec.jar usr/share/i2p/lib/jstl.jar
usr/share/java/taglibs-standard-impl.jar usr/share/i2p/lib/standard.jar

4
debian/i2p.postinst vendored
View File

@@ -71,8 +71,8 @@ case "$1" in
sed -e "s/User=.*/User=$I2PUSER/" < "$systemdservice" > "$systemdservice.tmp"
mv -f "$systemdservice.tmp" "$systemdservice"
chmod 0644 -f "$systemdservice"
if grep -q 'systemd' /proc/1/comm > /dev/null 2>&1; then
systemctl --system daemon-reload
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload || true
if [ $RUN_DAEMON = 'true' ]; then
deb-systemd-helper enable i2p.service
else

View File

@@ -0,0 +1,126 @@
--- a/apps/jetty/java/src/net/i2p/jetty/JettyXmlConfigurationParser.java
+++ b/apps/jetty/java/src/net/i2p/jetty/JettyXmlConfigurationParser.java
@@ -43,9 +43,9 @@
private static XmlParser initParser()
{
XmlParser parser = new XmlParser();
- URL config60 = Loader.getResource(XmlConfiguration.class, "org/eclipse/jetty/xml/configure_6_0.dtd");
- URL config76 = Loader.getResource(XmlConfiguration.class,"org/eclipse/jetty/xml/configure_7_6.dtd");
- URL config90 = Loader.getResource(XmlConfiguration.class,"org/eclipse/jetty/xml/configure_9_0.dtd");
+ URL config60 = Loader.getResource("org/eclipse/jetty/xml/configure_6_0.dtd");
+ URL config76 = Loader.getResource("org/eclipse/jetty/xml/configure_7_6.dtd");
+ URL config90 = Loader.getResource("org/eclipse/jetty/xml/configure_9_0.dtd");
parser.redirectEntity("configure.dtd",config90);
parser.redirectEntity("configure_1_0.dtd",config60);
parser.redirectEntity("configure_1_1.dtd",config60);
--- a/apps/jetty/java/src/net/i2p/servlet/I2PDefaultServlet.java
+++ b/apps/jetty/java/src/net/i2p/servlet/I2PDefaultServlet.java
@@ -132,7 +132,6 @@
*
* Get the resource list as a HTML directory listing.
*/
- @Override
protected void sendDirectory(HttpServletRequest request,
HttpServletResponse response,
Resource resource,
--- a/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java
+++ b/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java
@@ -317,7 +317,7 @@
buf.append(request.getMethod());
buf.append(' ');
- request.getUri().writeTo(u8buf);
+ u8buf.append(request.getHttpURI().toString());
buf.append(' ');
buf.append(request.getProtocol());
--- a/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java
@@ -15,7 +15,7 @@
import net.i2p.util.PortMapper;
import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.servlets.gzip.GzipHandler;
+import org.eclipse.jetty.server.handler.gzip.GzipHandler;
/**
* Block certain Host headers to prevent DNS rebinding attacks.
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -22,6 +22,7 @@
import java.util.SortedSet;
import java.util.StringTokenizer;
import java.util.concurrent.LinkedBlockingQueue;
+import javax.servlet.ServletRequest;
import net.i2p.I2PAppContext;
import net.i2p.app.ClientApp;
@@ -48,6 +49,7 @@
import org.eclipse.jetty.security.HashLoginService;
import org.eclipse.jetty.security.ConstraintMapping;
import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.UserStore;
import org.eclipse.jetty.security.authentication.DigestAuthenticator;
import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.ConnectionFactory;
@@ -959,6 +961,8 @@
} else {
HashLoginService realm = new CustomHashLoginService(JETTY_REALM, context.getContextPath(),
ctx.logManager().getLog(RouterConsoleRunner.class));
+ UserStore userStore = new UserStore();
+ realm.setUserStore(userStore);
sec.setLoginService(realm);
sec.setAuthenticator(authenticator);
String[] role = new String[] {JETTY_ROLE};
@@ -966,7 +970,7 @@
String user = e.getKey();
String pw = e.getValue();
Credential cred = Credential.getCredential(MD5_CREDENTIAL_TYPE + pw);
- realm.putUser(user, cred, role);
+ userStore.addUser(user, cred, role);
Constraint constraint = new Constraint(user, JETTY_ROLE);
constraint.setAuthenticate(true);
ConstraintMapping cm = new ConstraintMapping();
@@ -986,7 +990,7 @@
try {
// each char truncated to 8 bytes
String user2 = new String(b2, "ISO-8859-1");
- realm.putUser(user2, cred, role);
+ userStore.addUser(user2, cred, role);
constraint = new Constraint(user2, JETTY_ROLE);
constraint.setAuthenticate(true);
cm = new ConstraintMapping();
@@ -997,7 +1001,7 @@
// each UTF-8 byte as a char
// this is what chrome does
String user3 = new String(b1, "ISO-8859-1");
- realm.putUser(user3, cred, role);
+ userStore.addUser(user3, cred, role);
constraint = new Constraint(user3, JETTY_ROLE);
constraint.setAuthenticate(true);
cm = new ConstraintMapping();
@@ -1072,8 +1076,8 @@
}
@Override
- public UserIdentity login(String username, Object credentials) {
- UserIdentity rv = super.login(username, credentials);
+ public UserIdentity login(String username, Object credentials, ServletRequest request) {
+ UserIdentity rv = super.login(username, credentials, request);
if (rv == null)
//_log.logAlways(net.i2p.util.Log.WARN, "Console authentication failed, webapp: " + _webapp + ", user: " + username);
_log.logAlways(net.i2p.util.Log.WARN, "Console authentication failed, user: " + username);
--- a/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java
@@ -85,9 +85,9 @@
String testPath = pathInContext.substring(0, len - 4) + '_' + lang + ".jsp";
// Do we have a servlet for the new path that isn't the catchall *.jsp?
@SuppressWarnings("rawtypes")
- Map.Entry servlet = _wac.getServletHandler().getHolderEntry(testPath);
+ org.eclipse.jetty.http.pathmap.MappedResource servlet = _wac.getServletHandler().getMappedServlet(testPath);
if (servlet != null) {
- String servletPath = (String) servlet.getKey();
+ String servletPath = servlet.getPathSpec().getDeclaration();
if (servletPath != null && !servletPath.startsWith("*")) {
// success!!
//System.err.println("Servlet is: " + servletPath);

View File

@@ -1 +1,2 @@
0001-path-substitution.patch
0002-jetty-compatibility.patch

27
debian/rules vendored
View File

@@ -25,6 +25,7 @@ build:
@echo 'The build target is disabled. Use the appropriate binary target.'
JAVA_HOME=/usr/lib/jvm/default-java
I2P=$(CURDIR)/pkg-temp
ROUTERVERSION=$(CURDIR)/router/java/src/net/i2p/router/RouterVersion.java
export DEB_BUILD_HARDENING=1
@@ -78,9 +79,9 @@ else
@echo "Already found deb in version, not doing anything"
endif
@# build options
@/bin/echo -e "javac.version=1.8" > $(CURDIR)/override.properties
@/bin/echo -e "javac.compilerargs=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
@/bin/echo -e "javac.compilerargs7=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
# @/bin/echo -e "javac.version=1.8" > $(CURDIR)/override.properties
# @/bin/echo -e "javac.compilerargs=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
# @/bin/echo -e "javac.compilerargs7=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
@/bin/echo -e "build.built-by=debian" >> $(CURDIR)/override.properties
@/bin/echo -e "build.reproducible=true" >> $(CURDIR)/override.properties
@@ -110,17 +111,17 @@ endif
@# this is roughly the same as tomcat8-jsp-api.jar, we use this one
ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
@# debian and ubuntu: wheezy-backports, jessie+, xenial+
@/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
@# debian and ubuntu: buster, disco
@/bin/echo -e "with-libtomcat9-java=true" >> $(CURDIR)/override.properties
mkdir -p $(CURDIR)/apps/jetty/jettylib
ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
ln -sf /usr/share/java/tomcat9-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
ln -sf /usr/share/java/tomcat9-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
ln -sf /usr/share/java/tomcat9-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
ln -sf /usr/share/java/tomcat9-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
ln -sf /usr/share/java/tomcat9-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
ln -sf /usr/share/java/tomcat9-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
ln -sf /usr/share/java/tomcat9-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
ln -sf /usr/share/java/tomcat9-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
@# debian and ubuntu: stretch+, zesty+
@/bin/echo -e "with-libtaglibs-standard=true" >> $(CURDIR)/override.properties