propagate from branch 'i2p.i2p.zzz.i2pcontrol' (head 1334d424003d201aa352cf57a6ba2f61241ef363)

to branch 'i2p.i2p' (head fe8a90fdbdd491e16040e3ed91a35faa72fd78f2)
This commit is contained in:
zzz
2019-01-28 15:10:30 +00:00
129 changed files with 51913 additions and 42676 deletions

View File

@@ -10,4 +10,5 @@ dependencies {
compile project(':core')
compile project(':router')
compile project(':installer')
compile project(':apps:systray')
}

View File

@@ -4,14 +4,14 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# Besnik <besnik@programeshqip.org>, 2016
# Besnik <besnik@programeshqip.org>, 2016,2019
# Shpetim <shpetim@privacysolutions.no>, 2014
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"PO-Revision-Date: 2019-01-10 14:28+0000\n"
"Last-Translator: Besnik <besnik@programeshqip.org>\n"
"Language-Team: Albanian (http://www.transifex.com/otf/I2P/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -92,4 +92,4 @@ msgstr "Rrjet"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr "I2P: Djathtas-klikoni për menu"
msgstr "I2P: Djathtasklikoni për menu"

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-08 18:48+0000\n"
"PO-Revision-Date: 2018-08-08 18:52+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-11 14:13+0000\n"
"Last-Translator: erinm\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -496,7 +496,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/UpdateHandler.java:49
#: ../java/src/org/klomp/snark/UpdateRunner.java:233
msgid "Updating"
msgstr ""
msgstr "Aktualizace"
#: ../java/src/org/klomp/snark/UpdateRunner.java:118
#, java-format
@@ -1075,7 +1075,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1867
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3277
msgid "Start"
msgstr ""
msgstr "Zapnout"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1880
msgid "Remove the torrent from the active list, deleting the .torrent file"
@@ -1152,7 +1152,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152
msgid "Info"
msgstr ""
msgstr "Informace"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2226
msgid "Add Torrent"
@@ -1229,7 +1229,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2307
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2650
msgid "Standard"
msgstr ""
msgstr "Standarní"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2309
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2652
@@ -1240,7 +1240,7 @@ msgstr "Otevřít"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2311
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2654
msgid "Private"
msgstr ""
msgstr "Soukromé "
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2315
msgid "none"
@@ -1298,7 +1298,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410
msgid "Language"
msgstr ""
msgstr "Jazyk"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2421
msgid "Theme"
@@ -1316,7 +1316,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2531
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3622
msgid "Configure"
msgstr ""
msgstr "Konfigurovat"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448
msgid "Refresh time"
@@ -1548,7 +1548,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3222
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3416
msgid "Remaining"
msgstr ""
msgstr "Zbývá"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3231
msgid "Skipped"
@@ -1602,7 +1602,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3313
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3324
msgid "Resource"
msgstr ""
msgstr "Zdroj"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3325
@@ -1643,7 +1643,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3556
msgid "High"
msgstr ""
msgstr "Vysoká"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3559
msgid "Download file at normal priority"
@@ -1659,7 +1659,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3571
msgid "Skip"
msgstr ""
msgstr "Přeskočit"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3583
msgid "Set all high"

View File

@@ -14,8 +14,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-08 18:48+0000\n"
"PO-Revision-Date: 2018-08-08 18:52+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-14 18:40+0000\n"
"Last-Translator: A C <ana@shiftout.net>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1596,7 +1596,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3313
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3324
msgid "Resource"
msgstr ""
msgstr "Resursă"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3325

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-08 18:48+0000\n"
"PO-Revision-Date: 2018-08-08 18:52+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-15 12:18+0000\n"
"Last-Translator: erinm\n"
"Language-Team: Slovak (http://www.transifex.com/otf/I2P/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1298,7 +1298,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410
msgid "Language"
msgstr ""
msgstr "Jazyk"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2421
msgid "Theme"
@@ -1316,7 +1316,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2531
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3622
msgid "Configure"
msgstr ""
msgstr "Konfigurácia"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448
msgid "Refresh time"
@@ -1602,7 +1602,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3313
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3324
msgid "Resource"
msgstr ""
msgstr "Zdroj"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3325

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-08 18:48+0000\n"
"PO-Revision-Date: 2018-08-19 20:51+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-10 14:20+0000\n"
"Last-Translator: Besnik <besnik@programeshqip.org>\n"
"Language-Team: Albanian (http://www.transifex.com/otf/I2P/language/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1061,7 +1061,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1867
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3277
msgid "Start"
msgstr ""
msgstr "Nisje"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1880
msgid "Remove the torrent from the active list, deleting the .torrent file"
@@ -1138,7 +1138,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152
msgid "Info"
msgstr ""
msgstr "Info"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2226
msgid "Add Torrent"
@@ -1226,7 +1226,7 @@ msgstr "Hape"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2311
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2654
msgid "Private"
msgstr ""
msgstr "Private"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2315
msgid "none"
@@ -1530,7 +1530,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3222
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3416
msgid "Remaining"
msgstr ""
msgstr "Të mbetur"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3231
msgid "Skipped"
@@ -1584,7 +1584,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3313
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3324
msgid "Resource"
msgstr ""
msgstr "Burimi"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3325
@@ -1625,7 +1625,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3556
msgid "High"
msgstr ""
msgstr "E lartë"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3559
msgid "Download file at normal priority"

View File

@@ -311,6 +311,7 @@
<!-- these are to detect tomcat version and reproducible build setting -->
<jvmarg value="-Dbuild.reproducible=${build.reproducible}" />
<jvmarg value="-Dwith-libtomcat8-java=${with-libtomcat8-java}" />
<jvmarg value="-Dwith-libtomcat9-java=${with-libtomcat9-java}" />
<jvmarg value="-Djasper.jar=../../jetty/jettylib/jasper-runtime.jar" />
<classpath>
<pathelement location="../../jetty/jettylib/jasper-runtime.jar" />

View File

@@ -11,14 +11,14 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-05 23:01+0000\n"
"PO-Revision-Date: 2017-06-30 21:33+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-15 12:18+0000\n"
"Last-Translator: erinm\n"
"Language-Team: Slovak (http://www.transifex.com/otf/I2P/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
#: ../java/build/Proxy.java:5 ../java/build/Proxy.java:11
#: ../java/build/Proxy.java:42 ../java/build/Proxy.java:48

View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:35+0000\n"
"Last-Translator: IDRASSI Mounir <mounir.idrassi@idrix.fr>\n"
"PO-Revision-Date: 2019-01-13 23:22+0000\n"
"Last-Translator: vargaviktor <viktor.varga@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/otf/I2P/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1411,7 +1411,7 @@ msgstr "Célállomás"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:365
msgid "Hostname"
msgstr ""
msgstr "Gépnév"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
msgid "New hidden service"

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:35+0000\n"
"Last-Translator: pol polearnik <polearnik@mail.ru>\n"
"PO-Revision-Date: 2019-01-16 13:42+0000\n"
"Last-Translator: A C <ana@shiftout.net>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -139,6 +139,8 @@
no system jars: Precise, Trusty
with-libtomcat8-java: Jessie (without backports), Wheezy
with-libtomcat8-java AND with-libjetty9-java: Xenial, Jessie (with backports), Stretch
with-libtomcat9-java: Buster
with-libtomcat9-java AND with-libjetty9-java: Buster
with-libjetty9-java (only): not supported
-->
<target name="copyJettylib" depends="mkJettylibdir, copyJettylib1, copyTomcatLib1, copyJettylib2, copyJettylib3, copyTomcatLib" />
@@ -195,9 +197,12 @@
</jar>
</target>
<!-- Make javax.servlet.jar -->
<!-- If with-libtomcat8-java but not with-libjetty9-java, we don't do this -->
<target name="copyJettylib2" depends="extractJettylib" unless="${with-libtomcat8-java}" >
<!--
Make javax.servlet.jar.
If with-libtomcat8-java or with-libtomcat9-java but not with-libjetty9-java, we don't do this.
copyTomcatLib1 dependency to set the with-libtomcat-java variable.
-->
<target name="copyJettylib2" depends="extractJettylib, copyTomcatLib1" unless="${with-libtomcat-java}" >
<jar destfile="jettylib/javax.servlet.jar" duplicate="preserve" filesetmanifest="mergewithoutmain" >
<!-- all versions - Servlet API -->
<zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/servlet-api-3.1.jar" />
@@ -256,6 +261,7 @@
<istrue value="${with-libtomcat6-java}" />
<istrue value="${with-libtomcat7-java}" />
<istrue value="${with-libtomcat8-java}" />
<istrue value="${with-libtomcat9-java}" />
</or>
</condition>
<condition property="with-libtomcat-without-libjetty" >

View File

@@ -43,7 +43,8 @@ public class JspC {
// if true, try to make web.xml reproducible
private static final boolean REPRODUCIBLE = Boolean.valueOf(System.getProperty("build.reproducible"));
// if true, we must get the Tomcat version out of the jasper jar's manifest
private static final boolean SYSTEM_TOMCAT = Boolean.valueOf(System.getProperty("with-libtomcat8-java"));
private static final boolean SYSTEM_TOMCAT = Boolean.valueOf(System.getProperty("with-libtomcat8-java")) ||
Boolean.valueOf(System.getProperty("with-libtomcat9-java"));
// path to the jasper jar
private static final String JASPER_JAR = System.getProperty("jasper.jar");

View File

@@ -429,6 +429,7 @@
<!-- these are to detect tomcat version and reproducible build setting -->
<jvmarg value="-Dbuild.reproducible=${build.reproducible}" />
<jvmarg value="-Dwith-libtomcat8-java=${with-libtomcat8-java}" />
<jvmarg value="-Dwith-libtomcat9-java=${with-libtomcat9-java}" />
<jvmarg value="-Djasper.jar=../../jetty/jettylib/jasper-runtime.jar" />
<classpath>
<pathelement location="../../jetty/jettylib/jasper-runtime.jar" />

View File

@@ -85,6 +85,21 @@ public class MLabRunner {
* or null if there was already a test in progress.
*/
public ToolRun runNDT(final ToolListener listener) {
boolean useSSL = _context.getProperty(PROP_SSL, DEFAULT_USE_SSL);
return runNDT(listener, useSSL, null);
}
/**
* Non-blocking, spawns a thread and returns immediately.
*
* @param listener use to detect completion and get results
* @param use_SSL whether to use SSL to talk to the servers
* @param serverHost if non-null, bypass the name server and run test with this host
* @return a ToolRun object which may be used to cancel the test,
* or null if there was already a test in progress.
* @since 0.9.39
*/
public ToolRun runNDT(final ToolListener listener, final boolean use_SSL, final String serverHost) {
if (!_running.compareAndSet(false, true)) {
listener.reportSummary("Test already running");
listener.reportDetail("Test already running");
@@ -113,52 +128,54 @@ public class MLabRunner {
// The first is to switch to our new name server, ns.measurementlab.net. For example: http://ns.measurementlab.net/ndt will return a JSON string with the closest NDT server. Example integration can be found on www.measurementlab.net/p/ndt.html
// The other option, discouraged, is to continue using donar which should still be resolving. It just uses ns.measurementlab.net on the backend now. However, this is currently down according to my tests, so we'll work on getting this back as soon as possible.
String server_host = null;
String server_host = serverHost;
String server_city = null;
String server_country = null;
boolean useSSL = _context.getProperty(PROP_SSL, DEFAULT_USE_SSL);
boolean useSSL = use_SSL;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
// http to name server
// public EepGet(I2PAppContext ctx, boolean shouldProxy, String proxyHost, int proxyPort,
// int numRetries, long minSize, long maxSize, String outputFile, OutputStream outputStream,
// String url, boolean allowCaching, String etag, String postData) {
//EepGet eepget = new EepGet(_context, false, null, 0,
// 0, 2, 1024, null, baos,
// NS_URL, false, null, null);
// https to name server
String nsURL = useSSL ? NS_URL_SSL_SSL : NS_URL_SSL;
EepGet eepget = new SSLEepGet(_context, baos, nsURL);
boolean ok = eepget.fetch(NS_TIMEOUT, NS_TIMEOUT, NS_TIMEOUT);
if (!ok)
throw new IOException("ns fetch failed");
int code = eepget.getStatusCode();
if (code != 200)
throw new IOException("ns fetch failed: " + code);
JSONParser parser = new JSONParser();
byte[] b = baos.toByteArray();
String s = new String(b, "ISO-8859-1");
JSONObject map = (JSONObject) parser.parse(s);
if (map == null) {
throw new IOException("no map");
if (server_host == null) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
// http to name server
// public EepGet(I2PAppContext ctx, boolean shouldProxy, String proxyHost, int proxyPort,
// int numRetries, long minSize, long maxSize, String outputFile, OutputStream outputStream,
// String url, boolean allowCaching, String etag, String postData) {
//EepGet eepget = new EepGet(_context, false, null, 0,
// 0, 2, 1024, null, baos,
// NS_URL, false, null, null);
// https to name server
String nsURL = useSSL ? NS_URL_SSL_SSL : NS_URL_SSL;
EepGet eepget = new SSLEepGet(_context, baos, nsURL);
boolean ok = eepget.fetch(NS_TIMEOUT, NS_TIMEOUT, NS_TIMEOUT);
if (!ok)
throw new IOException("ns fetch failed");
int code = eepget.getStatusCode();
if (code != 200)
throw new IOException("ns fetch failed: " + code);
JSONParser parser = new JSONParser();
byte[] b = baos.toByteArray();
String s = new String(b, "ISO-8859-1");
JSONObject map = (JSONObject) parser.parse(s);
if (map == null) {
throw new IOException("no map");
}
if (_log.shouldWarn())
_log.warn("Got response: " + DataHelper.getUTF8(b));
// TODO use IP instead to avoid another lookup? - no, won't work with ssl
// use "fqdn" in response instead of "url" since ndt_ssl does not have url
server_host = (String)map.get("fqdn");
if (server_host == null) {
throw new IOException("no fqdn");
}
server_city = (String) map.get("city");
server_country = (String) map.get("country");
// ignore the returned port in the URL (7123) which is the applet, not the control port
if (_log.shouldWarn())
_log.warn("Selected server: " + server_host);
} catch (Exception e) {
if (_log.shouldWarn())
_log.warn("Failed to get server", e);
}
if (_log.shouldWarn())
_log.warn("Got response: " + DataHelper.getUTF8(b));
// TODO use IP instead to avoid another lookup? - no, won't work with ssl
// use "fqdn" in response instead of "url" since ndt_ssl does not have url
server_host = (String)map.get("fqdn");
if (server_host == null) {
throw new IOException("no fqdn");
}
server_city = (String) map.get("city");
server_country = (String) map.get("country");
// ignore the returned port in the URL (7123) which is the applet, not the control port
if (_log.shouldWarn())
_log.warn("Selected server: " + server_host);
} catch (Exception e) {
if (_log.shouldWarn())
_log.warn("Failed to get server", e);
}
if (server_host == null) {
@@ -171,7 +188,18 @@ public class MLabRunner {
String[] args = useSSL ? new String[] { "-s", server_host } : new String[] { server_host };
long start = System.currentTimeMillis();
final Tcpbw100 test = Tcpbw100.mainSupport(args);
final Tcpbw100 test;
try {
test = Tcpbw100.mainSupport(args);
} catch (IllegalArgumentException iae) {
String err = "Failed to connect to bandwidth test server " + server_host;
_log.error(err, iae);
if (listener != null) {
listener.reportSummary(err);
listener.reportDetail(err);
}
return;
}
final AtomicBoolean cancelled = new AtomicBoolean();
run.addListener(
@@ -359,11 +387,17 @@ public class MLabRunner {
/** standalone test */
public static void main(String[] args) {
boolean useSSL = args.length > 0 && args[0].equals("-s");
System.setProperty(PROP_SSL, Boolean.toString(useSSL));
String host;
if (useSSL && args.length > 1)
host = args[1];
else if (!useSSL && args.length > 0)
host = args[0];
else
host = null;
I2PAppContext ctx = I2PAppContext.getGlobalContext();
MLabRunner mlab = MLabRunner.getInstance(ctx);
TestListener lsnr = new TestListener();
mlab.runNDT(lsnr);
mlab.runNDT(lsnr, useSSL, host);
try { Thread.sleep(2000); } catch (InterruptedException ie) { return; }
for (int i = 0; i < 180; i++) {
if (lsnr.isComplete())

View File

@@ -21,11 +21,11 @@ import java.net.Socket;
public class OsfwWorker implements Runnable {
private ServerSocket _srvSocket;
private int _iTestTime;
private final ServerSocket _srvSocket;
private final int _iTestTime;
private boolean _iFinalized = false;
// local Tcpbw100 Applet reference
Tcpbw100 _localTcpAppObj;
private final Tcpbw100 _localTcpAppObj;
/**
* Constructor
@@ -39,6 +39,7 @@ public class OsfwWorker implements Runnable {
OsfwWorker(ServerSocket srvSocketParam, int iParamTestTime) {
this._srvSocket = srvSocketParam;
this._iTestTime = iParamTestTime;
this._localTcpAppObj = null;
}
/**

View File

@@ -12,8 +12,8 @@ import java.net.Socket;
* */
public class Protocol {
private InputStream _ctlInStream;
private OutputStream _ctlOutStream;
private final InputStream _ctlInStream;
private final OutputStream _ctlOutStream;
private boolean jsonSupport = true;
/**

View File

@@ -318,13 +318,17 @@ public class Tcpbw100 extends JApplet implements ActionListener {
/**
* public static void main for invoking as an Application
* @param args String array of command line arguments
* */
* @throws IllegalArgumentException on bad hostname
**/
public static void main(String[] args) {
Tcpbw100 test = mainSupport( args );
test.runIt();
}
/** bigly */
/**
* bigly
* @throws IllegalArgumentException on bad hostname
**/
public static Tcpbw100 mainSupport(String[] args) {
JFrame frame = new JFrame("ANL/Internet2 NDT (applet)");
boolean useSSL = args.length > 0 && args[0].equals("-s");

View File

@@ -63,7 +63,7 @@ public class StatSummarizer implements Runnable, ClientApp {
/**
* @return null if disabled
* @since 0.0.38
* @since 0.9.38
*/
public static StatSummarizer instance(I2PAppContext ctx) {
ClientApp app = ctx.clientAppManager().getRegisteredApp(NAME);
@@ -99,7 +99,7 @@ public class StatSummarizer implements Runnable, ClientApp {
}
}
/** @since 0.0.38 */
/** @since 0.9.38 */
public static boolean isDisabled(I2PAppContext ctx) {
return ctx.clientAppManager().getRegisteredApp(NAME) == null;
}
@@ -270,7 +270,7 @@ public class StatSummarizer implements Runnable, ClientApp {
// at java.lang.Class.forName(Class.java:270)
// at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
setDisabled();
String s = "Error rendering - disabling graph generation. Install ttf-dejavu font package?";
String s = "Error rendering - disabling graph generation. Install fonts-dejavu font package?";
_log.logAlways(Log.WARN, s);
IOException ioe = new IOException(s);
ioe.initCause(ncdfe);
@@ -359,7 +359,7 @@ public class StatSummarizer implements Runnable, ClientApp {
// at java.lang.Class.forName(Class.java:270)
// at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
setDisabled();
String s = "Error rendering - disabling graph generation. Install ttf-dejavu font package?";
String s = "Error rendering - disabling graph generation. Install fonts-dejavu font package?";
_log.logAlways(Log.WARN, s);
IOException ioe = new IOException(s);
ioe.initCause(ncdfe);

View File

@@ -139,8 +139,11 @@ public class WebAppStarter {
if (classNames.length == 0)
classNames = wac.getDefaultConfigurationClasses();
String[] newClassNames = new String[classNames.length + 1];
for (int j = 0; j < classNames.length; j++)
for (int j = 0; j < classNames.length; j++) {
newClassNames[j] = classNames[j];
// fix for Jetty 9.4 ticket #2385
wac.prependServerClass("-" + classNames[j]);
}
newClassNames[classNames.length] = WebAppConfiguration.class.getName();
wac.setConfigurationClasses(newClassNames);
}

View File

@@ -32,6 +32,7 @@ import net.i2p.data.Destination;
import net.i2p.data.Hash;
import net.i2p.data.Lease;
import net.i2p.data.LeaseSet;
import net.i2p.data.LeaseSet2;
import net.i2p.data.router.RouterAddress;
import net.i2p.data.router.RouterInfo;
import net.i2p.router.RouterContext;
@@ -519,11 +520,21 @@ class NetDbRenderer {
median = dist;
}
buf.append("&nbsp;&nbsp;<b>Distance: </b>").append(fmt.format(biLog2(dist)));
buf.append("&nbsp;&nbsp;<b>Type: </b>").append(ls.getType());
int type = ls.getType();
buf.append("&nbsp;&nbsp;<b>Type: </b>").append(type);
if (type != DatabaseEntry.KEY_TYPE_LEASESET) {
LeaseSet2 ls2 = (LeaseSet2) ls;
buf.append("&nbsp;&nbsp;<b>Unpublished? </b>").append(ls2.isUnpublished());
boolean isOff = ls2.isOffline();
buf.append("&nbsp;&nbsp;<b>Offline signed? </b>").append(isOff);
if (isOff)
buf.append("&nbsp;&nbsp;<b>Type: </b>").append(ls2.getTransientSigningKey().getType());
}
buf.append("</td></tr>\n<tr><td colspan=\"2\">");
//buf.append(dest.toBase32()).append("<br>");
buf.append("<b>Signature type:</b> ").append(dest.getSigningPublicKey().getType());
buf.append("&nbsp;&nbsp;<b>Encryption Key:</b> ").append(ls.getEncryptionKey().toBase64().substring(0, 20)).append("&hellip;");
if (type != DatabaseEntry.KEY_TYPE_META_LS2)
buf.append("&nbsp;&nbsp;<b>Encryption Key:</b> ").append(ls.getEncryptionKey().toBase64().substring(0, 20)).append("&hellip;");
buf.append("</td></tr>\n<tr><td colspan=\"2\">");
buf.append("<b>Routing Key:</b> ").append(ls.getRoutingKey().toBase64());
buf.append("</td></tr>");

View File

@@ -50,4 +50,4 @@
response.setHeader("Location", buf.toString());
// force commitment
response.getOutputStream().close();
%>
%>

View File

@@ -243,7 +243,7 @@
</p><p>
<%=intl._t("Otherwise, the recommended way to browse I2P websites is with a separate profile in the Firefox browser.")%>
<ol><li><a href="https://www.mozilla.org/firefox/" target="_blank"><%=intl._t("Install Firefox")%></a>
</li><li><a href="https://geti2p.net/download#windows" target="_blank"><%=intl._t("Install the I2P Firefox profile")%></a>
</li><li><a href="https://geti2p.net/firefox" target="_blank"><%=intl._t("Install the I2P Firefox profile")%></a>
</li></ol>
<%
} //isWindows()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:36+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-11 14:12+0000\n"
"Last-Translator: erinm\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -68,7 +68,7 @@ msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:238
msgid "Key"
msgstr ""
msgstr "Klíč"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:240
#: ../src/java/src/i2p/susi/dns/AddressBean.java:265
@@ -346,7 +346,7 @@ msgstr "Přehled"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:184
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:194
msgid "Private"
msgstr ""
msgstr "Soukromé "
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:207
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:199
@@ -657,7 +657,7 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:361
msgid "Notes"
msgstr ""
msgstr "Poznámky"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:388
msgid "Visual Identification for"

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:36+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-13 23:22+0000\n"
"Last-Translator: vargaviktor <viktor.varga@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/otf/I2P/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -422,7 +422,7 @@ msgstr "Keresés"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:609
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:255
msgid "Hostname"
msgstr ""
msgstr "Gépnév"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:373
msgid "Link (b32)"

View File

@@ -14,8 +14,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:36+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2019-01-16 13:42+0000\n"
"Last-Translator: A C <ana@shiftout.net>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -75,6 +75,7 @@
<!-- these are to detect tomcat version and reproducible build setting -->
<jvmarg value="-Dbuild.reproducible=${build.reproducible}" />
<jvmarg value="-Dwith-libtomcat8-java=${with-libtomcat8-java}" />
<jvmarg value="-Dwith-libtomcat9-java=${with-libtomcat9-java}" />
<jvmarg value="-Djasper.jar=${lib}/jasper-runtime.jar" />
<arg value="-d" />
<arg value="${tmp}" />

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:37+0000\n"
"Last-Translator: titus <titus0818@gmail.com>\n"
"PO-Revision-Date: 2019-01-14 14:45+0000\n"
"Last-Translator: A C <ana@shiftout.net>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -557,7 +557,7 @@ msgstr "Înaintare"
#: src/src/i2p/susi/webmail/WebMail.java:3358
msgid "Save As"
msgstr ""
msgstr "Salvează ca"
#: src/src/i2p/susi/webmail/WebMail.java:3360
#: src/src/i2p/susi/webmail/WebMail.java:3362

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-13 18:18+0000\n"
"PO-Revision-Date: 2018-06-13 18:37+0000\n"
"Last-Translator: Robert Kirschner <robertkirschner@yahoo.com>\n"
"PO-Revision-Date: 2019-01-15 12:18+0000\n"
"Last-Translator: erinm\n"
"Language-Team: Slovak (http://www.transifex.com/otf/I2P/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -64,7 +64,7 @@ msgstr "Inbox"
#: src/src/i2p/susi/webmail/WebMail.java:536
msgid "unknown"
msgstr ""
msgstr "neznámy"
#: src/src/i2p/susi/webmail/WebMail.java:585
#, java-format
@@ -242,7 +242,7 @@ msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:2258
#: src/src/i2p/susi/webmail/WebMail.java:3074
msgid "Login"
msgstr ""
msgstr "Prihlásenie"
#: src/src/i2p/susi/webmail/WebMail.java:2260
#: src/src/i2p/susi/webmail/WebMail.java:2386
@@ -466,7 +466,7 @@ msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:3147
#: src/src/i2p/susi/webmail/WebMail.java:3425
msgid "Date"
msgstr ""
msgstr "Dátum"
#: src/src/i2p/susi/webmail/WebMail.java:3150
msgid "Size"
@@ -559,7 +559,7 @@ msgstr "Preposlať"
#: src/src/i2p/susi/webmail/WebMail.java:3358
msgid "Save As"
msgstr ""
msgstr "Uložiť ako"
#: src/src/i2p/susi/webmail/WebMail.java:3360
#: src/src/i2p/susi/webmail/WebMail.java:3362

View File

@@ -95,4 +95,23 @@ public class Attachment {
public void deleteData() {
data.delete();
}
/**
* @since 0.9.38
*/
@Override
public int hashCode() {
return fileName.hashCode() ^ data.hashCode();
}
/**
* @since 0.9.38
*/
@Override
public boolean equals (Object o) {
if (o == null || !(o instanceof Attachment))
return false;
Attachment a = (Attachment) o;
return fileName.equals(a.fileName) && data.equals(a.data);
}
}

View File

@@ -71,7 +71,7 @@ class Draft extends Mail {
String name = DataHelper.getUTF8(b);
String type = flds[1];
String enc = flds[2];
b = Base64.decode(flds[0]);
b = Base64.decode(flds[3]);
if (b == null)
continue;
String path = DataHelper.getUTF8(b);

View File

@@ -1405,15 +1405,15 @@ public class WebMail extends HttpServlet
State state = null;
String filename = request.getFilename( NEW_FILENAME );
// We handle an attachment whether sending or uploading
if (filename != null &&
(buttonPressed(request, NEW_UPLOAD) || buttonPressed(request, SEND))) {
if (filename != null && filename.length() > 0 &&
(buttonPressed(request, NEW_UPLOAD) || buttonPressed(request, SEND) || buttonPressed(request, SAVE_AS_DRAFT))) {
int i = filename.lastIndexOf('/');
if( i != - 1 )
filename = filename.substring( i + 1 );
i = filename.lastIndexOf('\\');
if( i != -1 )
filename = filename.substring( i + 1 );
if( filename != null && filename.length() > 0 ) {
if (filename.length() > 0) {
InputStream in = null;
OutputStream out = null;
I2PAppContext ctx = I2PAppContext.getGlobalContext();
@@ -1452,6 +1452,12 @@ public class WebMail extends HttpServlet
sessionObject.attachments.add(
new Attachment(filename, contentType, encodeTo, f)
);
// Save the draft
String uidl = Base64.decodeToString(request.getParameter(NEW_UIDL));
if (uidl != null) {
StringBuilder draft = composeDraft(sessionObject, request);
saveDraft(sessionObject, uidl, draft);
}
} else {
sessionObject.error += _t("No Encoding found for {0}", encodeTo) + '\n';
}
@@ -1466,6 +1472,7 @@ public class WebMail extends HttpServlet
state = State.NEW;
}
else if( sessionObject.attachments != null && buttonPressed( request, DELETE_ATTACHMENT ) ) {
boolean deleted = false;
for (String item : getCheckedItems(request)) {
try {
int n = Integer.parseInt(item);
@@ -1473,11 +1480,21 @@ public class WebMail extends HttpServlet
Attachment attachment = sessionObject.attachments.get(i);
if( attachment.hashCode() == n ) {
sessionObject.attachments.remove( i );
attachment.deleteData();
deleted = true;
break;
}
}
} catch (NumberFormatException nfe) {}
}
// Save the draft or else the attachment comes back
if (deleted) {
String uidl = Base64.decodeToString(request.getParameter(NEW_UIDL));
if (uidl != null) {
StringBuilder draft = composeDraft(sessionObject, request);
saveDraft(sessionObject, uidl, draft);
}
}
state = State.NEW;
}
return state;
@@ -2893,6 +2910,7 @@ public class WebMail extends HttpServlet
}
} else {
sessionObject.error += relay.error;
if (log.shouldWarn()) log.warn("Error sending mail: " + relay.error);
}
sessionObject.info = sessionObject.info.replace(_t("Sending mail.") + '\n', "");
}
@@ -2997,7 +3015,11 @@ public class WebMail extends HttpServlet
if (!a.isEmpty()) {
if (sessionObject.attachments == null)
sessionObject.attachments = new ArrayList<Attachment>(a.size());
else
sessionObject.attachments.clear();
sessionObject.attachments.addAll(a);
} else if (sessionObject.attachments != null) {
sessionObject.attachments.clear();
}
// needed when processing the CANCEL button
out.println("<input type=\"hidden\" name=\"" + DRAFT_EXISTS + "\" value=\"1\">");
@@ -3036,7 +3058,7 @@ public class WebMail extends HttpServlet
"<tr><td align=\"right\">" + _t("Subject") + ":</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_SUBJECT + "\" value=\"" + quoteHTML(subject) + "\"></td></tr>\n" +
"<tr><td></td><td align=\"left\"><textarea cols=\"" + Config.getProperty( CONFIG_COMPOSER_COLS, 80 )+ "\" rows=\"" + Config.getProperty( CONFIG_COMPOSER_ROWS, 10 )+ "\" name=\"" + NEW_TEXT + "\">" + text + "</textarea></td></tr>" +
"<tr class=\"bottombuttons\"><td colspan=\"2\" align=\"center\"><hr></td></tr>\n" +
"<tr class=\"bottombuttons\"><td align=\"right\">" + _t("Add Attachment") + ":</td><td id=\"addattach\" align=\"left\"><input type=\"file\" size=\"50%\" name=\"" + NEW_FILENAME + "\" value=\"\">&nbsp;" + button(NEW_UPLOAD, _t("Add another attachment")) + "</td></tr>");
"<tr class=\"bottombuttons\"><td align=\"right\">" + _t("Add Attachment") + ":</td><td id=\"addattach\" align=\"left\"><input type=\"file\" size=\"50%\" name=\"" + NEW_FILENAME + "\" value=\"\">&nbsp;" + button(NEW_UPLOAD, _t("Add Attachment")) + "</td></tr>");
if( sessionObject.attachments != null && !sessionObject.attachments.isEmpty() ) {
boolean wroteHeader = false;

View File

@@ -346,6 +346,8 @@ public class SMTPClient {
error += _t("Error sending mail") + " (" + result + ")\n";
}
} catch (IOException e) {
if (_log.shouldWarn())
_log.warn("Error sending mail", e);
error += _t("Error sending mail") + ": " + e.getMessage() + '\n';
}
if( !mailSent && lastResponse.length() > 0 ) {

View File

@@ -150,6 +150,8 @@ javac.version=1.7
#with-libjetty9-java=true
# Don't include tomcat files, we will use libtomcat8-java package
#with-libtomcat8-java=true
# Don't include tomcat files, we will use libtomcat9-java package
#with-libtomcat9-java=true
# Don't include jstl.jar and standard.jar, we will use libtaglibs-standard-* packages
#with-libtaglibs-standard=true
# Don't include jstl.jar and standard.jar, we will use glassfish-javaee package

View File

@@ -819,6 +819,7 @@
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc access="package"
source="${javac.version}"
destdir="./build/javadoc"
packagenames="*"
use="true"
@@ -1374,6 +1375,7 @@
<istrue value="${with-libtomcat6-java}" />
<istrue value="${with-libtomcat7-java}" />
<istrue value="${with-libtomcat8-java}" />
<istrue value="${with-libtomcat9-java}" />
</or>
</condition>
</target>

View File

@@ -18,7 +18,7 @@ public class CoreVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = "0.9.37";
public final static String VERSION = "0.9.38";
/**
* For Vuze.

View File

@@ -209,8 +209,7 @@ public abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2
private static final long MAX_SEND_WAIT = 10*1000;
private static final String MIN_FAST_VERSION = "0.9.4";
////// TESTING, change to 38 before release
private static final String MIN_LS2_VERSION = "0.9.37";
private static final String MIN_LS2_VERSION = "0.9.38";
/** @param routerVersion as rcvd in the SetDateMessage, may be null for very old routers */
void dateUpdated(String routerVersion) {

View File

@@ -128,6 +128,8 @@ class RequestLeaseSetMessageHandler extends HandlerImpl {
session.destroySession();
return;
}
if (Boolean.parseBoolean(session.getOptions().getProperty("i2cp.dontPublishLeaseSet")))
((LeaseSet2)leaseSet).setUnpublished();
} else {
leaseSet = new LeaseSet();
}

View File

@@ -53,6 +53,8 @@ class RequestVariableLeaseSetMessageHandler extends RequestLeaseSetMessageHandle
session.destroySession();
return;
}
if (Boolean.parseBoolean(session.getOptions().getProperty("i2cp.dontPublishLeaseSet")))
((LeaseSet2)leaseSet).setUnpublished();
} else {
leaseSet = new LeaseSet();
}

View File

@@ -30,16 +30,26 @@ public enum EncType {
*/
ELGAMAL_2048(0, 256, 256, EncAlgo.ELGAMAL, "ElGamal/None/NoPadding", CryptoConstants.I2P_ELGAMAL_2048_SPEC, "0"),
/** Pubkey 64 bytes; privkey 32 bytes; */
EC_P256(1, 64, 32, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P256_SPEC, "0.9.20"),
/** Pubkey 96 bytes; privkey 48 bytes; */
EC_P384(2, 96, 48, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P384_SPEC, "0.9.20"),
/** Pubkey 132 bytes; privkey 66 bytes; */
EC_P521(3, 132, 66, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P521_SPEC, "0.9.20"),
/**
* Used by i2pd. Not yet supported by Java I2P.
* Pubkey 64 bytes; privkey 32 bytes.
*/
EC_P256(1, 64, 32, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P256_SPEC, "0.9.38"),
/**
* Reserved, not used by anybody.
* Pubkey 96 bytes; privkey 48 bytes.
*/
EC_P384(2, 96, 48, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P384_SPEC, "0.9.38"),
/**
* Reserved, not used by anybody.
* Pubkey 132 bytes; privkey 66 bytes.
*/
EC_P521(3, 132, 66, EncAlgo.EC, "EC/None/NoPadding", ECConstants.P521_SPEC, "0.9.38"),
/**
* Proposal 144. Not yet supported by anybody.
* Pubkey 32 bytes; privkey 32 bytes
* @since 0.9.38
*/

View File

@@ -298,6 +298,7 @@ public class EncryptedLeaseSet extends LeaseSet2 {
buf.append("\n\tTransient Expires: ").append(new java.util.Date(_transientExpires));
buf.append("\n\tOffline Signature: ").append(_offlineSignature);
}
buf.append("\n\tUnpublished? ").append(isUnpublished());
buf.append("\n\tSignature: ").append(_signature);
buf.append("\n\tPublished: ").append(new java.util.Date(_published));
buf.append("\n\tExpires: ").append(new java.util.Date(_expires));

View File

@@ -59,6 +59,18 @@ public class LeaseSet2 extends LeaseSet {
public void setUnpublished() {
_flags |= FLAG_UNPUBLISHED;
}
/**
* If true, we received this LeaseSet by a remote peer publishing it to
* us, AND the unpublished flag is not set.
* Default false.
*
* @since 0.9.39 overridden
*/
@Override
public boolean getReceivedAsPublished() {
return super.getReceivedAsPublished() && !isUnpublished();
}
public String getOption(String opt) {
if (_options == null)
@@ -66,6 +78,24 @@ public class LeaseSet2 extends LeaseSet {
return _options.getProperty(opt);
}
/**
* If more than one key, return the first supported one.
* If none supported, return the first one.
*
* @since 0.9.39 overridden
*/
@Override
public PublicKey getEncryptionKey() {
if (_encryptionKeys != null) {
for (PublicKey pk : _encryptionKeys) {
EncType type = pk.getType();
if (type != null && type.isAvailable())
return pk;
}
}
return _encryptionKey;
}
/**
* Add an encryption key.
*/
@@ -120,6 +150,13 @@ public class LeaseSet2 extends LeaseSet {
return (_flags & FLAG_OFFLINE_KEYS) != 0;
}
/**
* @return transient public key or null if not offline signed
*/
public SigningPublicKey getTransientSigningKey() {
return _transientSigningPublicKey;
}
/**
* Destination must be previously set.
*
@@ -533,6 +570,7 @@ public class LeaseSet2 extends LeaseSet {
buf.append("\n\t\t[").append(key).append("] = [").append(val).append("]");
}
}
buf.append("\n\tUnpublished? ").append(isUnpublished());
buf.append("\n\tSignature: ").append(_signature);
buf.append("\n\tPublished: ").append(new java.util.Date(_published));
buf.append("\n\tExpires: ").append(new java.util.Date(_expires));

View File

@@ -171,6 +171,7 @@ public class MetaLeaseSet extends LeaseSet2 {
buf.append("\n\t\t[").append(key).append("] = [").append(val).append("]");
}
}
buf.append("\n\tUnpublished? ").append(isUnpublished());
buf.append("\n\tSignature: ").append(_signature);
buf.append("\n\tPublished: ").append(new java.util.Date(_published));
buf.append("\n\tExpires: ").append(new java.util.Date(_expires));

View File

@@ -1,3 +1,9 @@
i2p (0.9.38-1ubuntu1) bionic; 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

View File

@@ -12,12 +12,12 @@ Build-Depends: debhelper (>= 9.20160709)
,openjdk-9-jdk
,libjetty9-java (>= 9.2.22)
,libtaglibs-standard-jstlel-java
,libtomcat8-java
,libtomcat9-java
,dh-apparmor
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (< 3)
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.5)
,libservice-wrapper-java
,po-debconf
@@ -79,14 +79,14 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (< 3),
libjson-simple-java (<< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat8-java,
libtomcat9-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -96,5 +96,5 @@ Description: Invisible Internet Project (I2P) - Router
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -113,16 +113,28 @@ endif
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
@#/bin/echo -e "with-libtomcat8-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
@# 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

1025
debian-alt/disco/changelog Normal file

File diff suppressed because it is too large Load Diff

99
debian-alt/disco/control Normal file
View File

@@ -0,0 +1,99 @@
Source: i2p
Maintainer: zzz <zzz@i2pmail.org>
Section: net
Standards-Version: 3.9.8
Priority: optional
Bugs: mailto:zzz@i2pmail.org
Homepage: https://geti2p.net/
Build-Depends: debhelper (>= 9.20160709)
,ant (>= 1.8)
,debconf
,openjdk-8-jdk
,libjetty9-java
,libtaglibs-standard-jstlel-java
,libtomcat9-java
,dh-apparmor
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.5)
,libservice-wrapper-java
,po-debconf
Package: i2p
Architecture: all
Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
adduser,
debconf,
i2p-router (>= 0.8.6-5),
libjbigi-jni,
lsb-base,
service-wrapper
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
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
This package depends on the router, jbigi, the java service wrapper, and
includes support to run I2P as a daemon.
Package: libjbigi-jni
Architecture: any
Section: java
Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}, i2p-router
Homepage: https://geti2p.net/
Description: Invisible Internet Project (I2P) - libjbigi library
This Package contains the libjbigi JNI library (and on x86 platforms, jcpuid).
.
libjbigi is a math library that is part of the I2P installation. Use of this
library greatly enhances the efficiency of cryptographic algorithms, such as
the ones used by I2P. You can expect to see a 5-7x speed improvement on certain
tasks, such as elGamal encryption/decryption.
Package: i2p-doc
Architecture: all
Section: doc
Priority: extra
Depends: ${misc:Depends}
Suggests: i2p, default-jdk-doc
Description: Invisible Internet Project (I2P) - developer documentation
I2P is an anonymizing network, offering a simple layer that identity-sensitive
applications can use to securely communicate. All data is wrapped with several
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
This package contains the Javadoc files.
Package: i2p-router
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,
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (<< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat9-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
Description: Invisible Internet Project (I2P) - Router
I2P is an anonymizing network, offering a simple layer that identity-sensitive
applications can use to securely communicate. All data is wrapped with several
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -0,0 +1,132 @@
usr/share/common-licenses/GPL-2 usr/share/doc/i2p-router/licenses/LICENSE-GPLv2.txt
usr/share/common-licenses/LGPL-2.1 usr/share/doc/i2p-router/licenses/LICENSE-LGPLv2.1.txt
usr/share/common-licenses/Apache-2.0 usr/share/doc/i2p-router/licenses/LICENSE-Apache2.0.txt
usr/share/common-licenses/BSD usr/share/doc/i2p-router/licenses/LICENSE-BSD.txt
# comment out if not building with libjetty9-java
# ubuntu: in trusty vivid wily xenial
# debian: in wheezy jessie stretch sid
usr/share/java/jetty9-apache-jsp.jar usr/share/i2p/lib/jetty-apache-jsp.jar
usr/share/java/jetty9-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
usr/share/java/jetty9-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
usr/share/java/jetty9-http.jar usr/share/i2p/lib/jetty-http.jar
usr/share/java/jetty9-io.jar usr/share/i2p/lib/jetty-io.jar
# legacy name in lib/
usr/share/java/jetty9-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
usr/share/java/jetty9-security.jar usr/share/i2p/lib/jetty-security.jar
usr/share/java/jetty9-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
usr/share/java/jetty9-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
usr/share/java/jetty9-start.jar usr/share/i2p/lib/jetty-start.jar
usr/share/java/jetty9-util.jar usr/share/i2p/lib/jetty-util.jar
usr/share/java/jetty9-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
usr/share/java/jetty9-xml.jar usr/share/i2p/lib/jetty-xml.jar
# legacy name in lib/
usr/share/java/jetty9-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
# legacy name in lib/
usr/share/java/jetty9-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
# following two are from libservlet3.1-java which is a dependency of libjetty9-java
# legacy name in lib/
usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
# combined into javax.servlet.jar in non-package builds
usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
# comment out if not building with libtomcat8-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
# 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
# combined into commons-el.jar in non-package builds
#usr/share/java/tomcat8-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
# 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/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/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/tomcat9-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
# legacy name in lib/
usr/share/java/tomcat9-el-api.jar usr/share/i2p/lib/commons-el.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
usr/share/java/taglibs-standard-jstlel.jar usr/share/i2p/lib/jstlel.jar
# comment out if not building with glassfish-javaee
# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail
#usr/share/java/glassfish-javaee.jar usr/share/i2p/lib/jstl.jar
#usr/share/java/glassfish-appserv-jstl.jar usr/share/i2p/lib/standard.jar
# comment out if not building with libjakarta-taglibs-standard-java
# ubuntu and debian: everywhere
#usr/share/java/standard.jar usr/share/i2p/lib/standard.jar
# comment out if not building with libjstl1.1-java
# ubuntu and debian: everywhere
#usr/share/java/jstl1.1.jar usr/share/i2p/lib/jstl.jar
# comment out if not building with gettext-base
# ubuntu and debian: everywhere
usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
# comment out if not building with libgetopt-java
# ubuntu and debian: everywhere
usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
# comment out if not building with libjson-simple-java
# ubuntu: trusty+; debian: jessie+
usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
# comment out if not building with famfamfam-flag-png
# ubuntu: trusty+
# debian: everywhere
usr/share/flags/countries/16x11 usr/share/i2p/docs/icons/flags
usr/share/flags/countries/16x11/az.png usr/share/i2p/eepsite/docroot/help/lib/az.png
usr/share/flags/countries/16x11/cn.png usr/share/i2p/eepsite/docroot/help/lib/cn.png
usr/share/flags/countries/16x11/de.png usr/share/i2p/eepsite/docroot/help/lib/de.png
usr/share/flags/countries/16x11/es.png usr/share/i2p/eepsite/docroot/help/lib/es.png
usr/share/flags/countries/16x11/fr.png usr/share/i2p/eepsite/docroot/help/lib/fr.png
usr/share/flags/countries/16x11/it.png usr/share/i2p/eepsite/docroot/help/lib/it.png
usr/share/flags/countries/16x11/nl.png usr/share/i2p/eepsite/docroot/help/lib/nl.png
usr/share/flags/countries/16x11/pl.png usr/share/i2p/eepsite/docroot/help/lib/pl.png
usr/share/flags/countries/16x11/pt.png usr/share/i2p/eepsite/docroot/help/lib/pt.png
usr/share/flags/countries/16x11/ru.png usr/share/i2p/eepsite/docroot/help/lib/ru.png
usr/share/flags/countries/16x11/se.png usr/share/i2p/eepsite/docroot/help/lib/se.png
usr/share/flags/countries/16x11/tr.png usr/share/i2p/eepsite/docroot/help/lib/tr.png
usr/share/flags/countries/16x11/us.png usr/share/i2p/eepsite/docroot/help/lib/us.png
# comment out if not building with libhttpclient-java and libhttpcore-java
# 2 MB of dependencies vs. 20 KB of copied source
# Requires 4.4 or higher.
# Debian: Not in wheezy/jessie
# Ubuntu: Only in wily and later
#usr/share/java/httpclient.jar usr/share/i2p/lib/httpclient.jar
#usr/share/java/httpcore.jar usr/share/i2p/lib/httpcore.jar

View File

@@ -54,8 +54,8 @@
+import javax.servlet.ServletRequest;
import net.i2p.I2PAppContext;
import net.i2p.app.ClientAppManager;
@@ -46,6 +47,7 @@
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;
@@ -63,7 +63,7 @@
import org.eclipse.jetty.security.authentication.DigestAuthenticator;
import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.ConnectionFactory;
@@ -932,6 +934,8 @@
@@ -959,6 +961,8 @@
} else {
HashLoginService realm = new CustomHashLoginService(JETTY_REALM, context.getContextPath(),
ctx.logManager().getLog(RouterConsoleRunner.class));
@@ -72,7 +72,7 @@
sec.setLoginService(realm);
sec.setAuthenticator(authenticator);
String[] role = new String[] {JETTY_ROLE};
@@ -939,7 +943,7 @@
@@ -966,7 +970,7 @@
String user = e.getKey();
String pw = e.getValue();
Credential cred = Credential.getCredential(MD5_CREDENTIAL_TYPE + pw);
@@ -81,7 +81,7 @@
Constraint constraint = new Constraint(user, JETTY_ROLE);
constraint.setAuthenticate(true);
ConstraintMapping cm = new ConstraintMapping();
@@ -959,7 +963,7 @@
@@ -986,7 +990,7 @@
try {
// each char truncated to 8 bytes
String user2 = new String(b2, "ISO-8859-1");
@@ -90,7 +90,7 @@
constraint = new Constraint(user2, JETTY_ROLE);
constraint.setAuthenticate(true);
cm = new ConstraintMapping();
@@ -970,7 +974,7 @@
@@ -997,7 +1001,7 @@
// each UTF-8 byte as a char
// this is what chrome does
String user3 = new String(b1, "ISO-8859-1");
@@ -99,7 +99,7 @@
constraint = new Constraint(user3, JETTY_ROLE);
constraint.setAuthenticate(true);
cm = new ConstraintMapping();
@@ -1045,8 +1049,8 @@
@@ -1072,8 +1076,8 @@
}
@Override

233
debian-alt/disco/rules Executable file
View File

@@ -0,0 +1,233 @@
#!/usr/bin/make -f
# Quoting Policy version 3.9.2.0, 2011-04-07 section 4.9:
# /start quote
# For some packages, notably ones where the same source tree is compiled in
# different ways to produce two binary packages, the build target does not make
# much sense. For these packages it is good enough to provide two (or more)
# targets (build-a and build-b or whatever) for each of the ways of building the
# package, and a build target that does nothing. The binary target will have to
# build the package in each of the possible ways and make the binary package out
# of each.
# ...
# When a package has a configuration and build routine which takes a long time,
# or when the makefiles are poorly designed, or when build needs to run clean
# first, it is a good idea to touch build when the build process is complete.
# This will ensure that if debian/rules build is run again it will not rebuild
# the whole program.
# /end quote
# Since that fits building I2P very well, we override the build target.
#
build:
@echo 'The build target is disabled. Use the appropriate binary target.'
#JAVA_HOME=/usr/lib/jvm/default-java
export DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(DEB_HOST_ARCH)
I2P=$(CURDIR)/pkg-temp
ROUTERVERSION=$(CURDIR)/router/java/src/net/i2p/router/RouterVersion.java
export DEB_BUILD_HARDENING=1
# I2P's version will be displayed in the router console as "$I2PVERSION-$EXTRAPREFIX$DEBIANVERSION", eg. 0.8.12-0-deb1
#export EXTRAPREFIX := deb
export JAVA_HOME I2P
export DEBIANVERSION := $(shell dpkg-parsechangelog |awk -F' ' '/^Version:/{print $$2}' |sed 's/.*-\([.0-9A-Za-z~+]\{1,\}\)$$/\1/')
# required for jbigi/jcpuid build
export BITS := $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
#export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
%:
dh $@ --with systemd,bash-completion
clean: createcopyright
override_dh_auto_clean:
-[ -r $(CURDIR)/debian/routerversion.java.bak ] && mv -f $(CURDIR)/debian/routerversion.java.bak $(ROUTERVERSION)
dh_auto_clean
ant distclean
find $(CURDIR)/core \( -name '*\.so' -o -name '*\.o' \) -exec rm -f {} \;
rm -rf $(CURDIR)/core/c/jcpuid/lib/
rm -f $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
rm -rf $(CURDIR)/debian/python-i2p
rm -f $(CURDIR)/override.properties
rm -f $(CURDIR)/apps/susidns/src/lib/standard.jar
rm -f $(CURDIR)/apps/susidns/src/lib/jstl.jar
rm -f $(CURDIR)/apps/susidns/src/lib/jstlel.jar
debconf-updatepo
override_dh_auto_build:
override_dh_systemd_enable:
# We purposely do not set I2P to start at boot.
# This matches the behavior of the initscript
# and the setting RUN_DAEMON=false in /etc/default/i2p
binary-indep: build-indep
build-indep:
dh_prep
mkdir -p $(CURDIR)/installer/lib/wrapper/all
ln -sf /usr/share/java/wrapper.jar $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
if [ ! -e $(CURDIR)/debian/routerversion.java.bak ]; then \
cp $(ROUTERVERSION) $(CURDIR)/debian/routerversion.java.bak; \
fi
ifeq "$(findstring deb,$(shell grep 'deb' $(ROUTERVERSION)))" ""
sed -e "s/\(.*EXTRA\ =\ \)[^ ]*\"\(.*\)\"/\1\"-$$EXTRAPREFIX$$DEBIANVERSION\"/" < $(ROUTERVERSION) > $(ROUTERVERSION).tmp
mv -f $(ROUTERVERSION).tmp $(ROUTERVERSION)
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 "build.built-by=debian" >> $(CURDIR)/override.properties
@/bin/echo -e "build.reproducible=true" >> $(CURDIR)/override.properties
@# debian and ubuntu: everywhere
@/bin/echo -e "with-geoip-database=true" >> $(CURDIR)/override.properties
@# ubuntu: in xenial
@# debian: in jessie-backports stretch sid
@/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
mkdir -p $(CURDIR)/apps/jetty/jettylib
ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
@# following two are from libservlet3.1-java which is a dependency of libjetty9-java
ln -sf /usr/share/java/servlet-api-3.1.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
@# 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
@#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
@# 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/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
ln -sf /usr/share/java/taglibs-standard-spec.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar
ln -sf /usr/share/java/taglibs-standard-impl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar
ln -sf /usr/share/java/taglibs-standard-jstlel.jar $(CURDIR)/apps/susidns/src/lib/jstlel.jar
@# debian and ubuntu: everywhere
@#/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties
@# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail
@#ln -sf /usr/share/java/glassfish-javaee.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar
@#ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar
@# debian and ubuntu: everywhere
@#/bin/echo -e "with-libjakarta-taglibs-standard-java=true" >> $(CURDIR)/override.properties
@#ln -sf /usr/share/java/standard.jar $(CURDIR)/apps/susidns/src/lib/standard.jar
@# debian and ubuntu: everywhere
@#/bin/echo -e "with-libjstl1.1-java=true" >> $(CURDIR)/override.properties
@#ln -sf /usr/share/java/jstl1.1.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar
@# debian and ubuntu: everywhere
@/bin/echo -e "with-gettext-base=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/libintl.jar $(CURDIR)/core/java/build/libintl.jar
@# debian and ubuntu: everywhere
@/bin/echo -e "with-libgetopt-java=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
@# debian: jessie+; ubuntu: trusty+
@/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
@# 2 MB of dependencies vs. 20 KB of copied source
@# Requires 4.4 or higher.
@# Debian: Not in wheezy/jessie
@# Ubuntu: Only in wily and later
@#/bin/echo -e "with-libhttpclient-java=true" >> $(CURDIR)/override.properties
@#mkdir -p $(CURDIR)/core/java/build
@#ln -sf /usr/share/java/httpclient.jar $(CURDIR)/core/java/build/httpclient.jar
@#ln -sf /usr/share/java/httpcore.jar $(CURDIR)/core/java/build/httpcore.jar
TZ=UTC JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 ant preppkg-unix javadoc
echo router.updateDisabled=true > $(I2P)/router.config
mv $(I2P)/runplain.sh $(I2P)/i2prouter-nowrapper
binary-arch: build-arch
build-arch:
# build jbigi
cd $(CURDIR)/core/c/jbigi && ./build_jbigi.sh dynamic
# build jcpuid
cd $(CURDIR)/core/c/jcpuid && ./build.sh
binary: binary-arch binary-indep
createcopyright:
@echo " *** Creating debian/copyright*** "
@rm -f $(CURDIR)/debian/copyright
@/bin/echo -e "This package was Debianized by kytv <killyourtv@i2pmail.org>" >> $(CURDIR)/debian/copyright
@/bin/echo -e "Sun, 23 Jan 2011 20:26:51 +0000" >> $(CURDIR)/debian/copyright
@/bin/echo -e "\nIt was downloaded from https://geti2p.net" >> $(CURDIR)/debian/copyright
@/bin/echo -e "\nI2P is tracked upstream using the Monotone VCS" >> $(CURDIR)/debian/copyright
@/bin/echo -e "Complete information on fetching the source with monotone can be found" >> $(CURDIR)/debian/copyright
@/bin/echo -e "at https://geti2p.net/newdevelopers#getting-the-i2p-code\n\n\n" >> $(CURDIR)/debian/copyright
@/bin/cat $(CURDIR)/LICENSE.txt >> $(CURDIR)/debian/copyright
@/bin/echo -e "\n\n The debian packaging has been released into the public domain." >> $(CURDIR)/debian/copyright
override_dh_compress:
dh_compress -X.xsl -X.xml
override_dh_install:
dh_install --list-missing
dh_apparmor --profile-name=system_i2p -pi2p
dh_apparmor --profile-name=usr.bin.i2prouter -pi2p
override_dh_installchangelogs:
dh_installchangelogs history.txt
override_dh_installdocs:
dh_installdocs -pi2p -plibjbigi-jni --link-doc=i2p-router
dh_installdocs --remaining-packages
override_dh_shlibdeps:
dh_shlibdeps -llibjbigi-jni debian/libjbigi-jni/usr/lib/jni/*.so
#override_dh_installinit:
# dh_installinit -r
get-orig-source:
uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download

View File

@@ -76,6 +76,7 @@ reprepro -v update trusty
reprepro -v update xenial
reprepro -v update bionic
reprepro -v update cosmic
reprepro -v update disco
# todo when set up
# To add or remove distributions, edit /var/www/debian/conf/distributions
# and /var/www/debian/conf/updates
@@ -92,25 +93,28 @@ reprepro -v copysrc wheezy precise i2p
# Note that syntax is reprepro copysrc TO FROM package!
reprepro -v copysrc jessie trusty i2p
# To copy bionic to stretch and sid:
# To copy bionic to stretch:
# Note that syntax is reprepro copysrc TO FROM package!
reprepro -v copysrc stretch bionic i2p
reprepro -v copysrc sid bionic i2p
# To copy disco to sid:
# Note that syntax is reprepro copysrc TO FROM package!
reprepro -v copysrc sid disco i2p
# install in the architectures not copied from ubuntu
# 'flood' should do this but forgot how, can't make it work any more
reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p_0.9.xxp-1~precise+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p-doc_0.9.xxp-1~precise+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p-router_0.9.xxp-1~precise+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p_0.9.xxp-2~trusty+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-doc_0.9.xxp-2~trusty+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-router_0.9.xxp-2~trusty+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p_0.9.xxp-1~trusty+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-doc_0.9.xxp-1~trusty+1_all.deb
reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-router_0.9.xxp-1~trusty+1_all.deb
reprepro -v -A 'armel|armhf' includedeb stretch i2p_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb stretch i2p-doc_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb stretch i2p-router_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p-doc_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p-router_0.9.xx-1ubuntu1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p_0.9.xx-1~disco+1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p-doc_0.9.xx-1~disco+1_all.deb
reprepro -v -A 'armel|armhf' includedeb sid i2p-router_0.9.xx-1~disco+1_all.deb

View File

@@ -17,7 +17,8 @@ Min version Max version Uses src pkg Copied to Debian
precise saucy precise wheezy
trusty wily precise jessie
xenial yakkety xenial --
bionic cosmic bionic stretch, buster, sid
bionic cosmic bionic stretch
disco disco bionic buster, sid
Prep (first time only)

View File

@@ -16,7 +16,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,dh-apparmor
,gettext
,libgetopt-java
,libjson-simple-java (< 3)
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -79,12 +79,12 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
libtomcat8-java,
geoip-database,
gettext-base,
libjson-simple-java (< 3),
libjson-simple-java (<< 3),
libgetopt-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -94,5 +94,5 @@ Description: Router for I2P
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -1,3 +1,15 @@
i2p (0.9.38p-2~precise+1) precise; urgency=medium
* Fix broken build
-- zzz on i2p (key signing) <zzz@i2pmail.org> Sat, 26 Jan 2019 12:12:12 +0000
i2p (0.9.38p-1~precise+1) precise; urgency=medium
* Backport to Precise
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 23 Jan 2019 12:12:12 +0000
i2p (0.9.37p-1~precise+1) precise; urgency=medium
* Backport to Precise

View File

@@ -82,7 +82,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
glassfish-javaee
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -92,5 +92,5 @@ Description: Invisible Internet Project (I2P) - Router
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -199,5 +199,8 @@ override_dh_shlibdeps:
#override_dh_installinit:
# dh_installinit -r
override_dh_builddeb:
dh_builddeb -- -Zxz
get-orig-source:
uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download

View File

@@ -1,3 +1,15 @@
i2p (0.9.38p-4~trusty+1) trusty; urgency=medium
* Fix broken build
-- zzz on i2p (key signing) <zzz@i2pmail.org> Sat, 26 Jan 2019 12:12:12 +0000
i2p (0.9.38p-1~trusty+1) trusty; urgency=medium
* Backport to Trusty
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 23 Jan 2019 12:12:12 +0000
i2p (0.9.37p-2~trusty+1) trusty; urgency=medium
* Backport to Trusty

View File

@@ -18,7 +18,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (< 3)
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -81,12 +81,12 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (< 3),
libjson-simple-java (<< 3),
glassfish-javaee,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -96,5 +96,5 @@ Description: Invisible Internet Project (I2P) - Router
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -206,5 +206,8 @@ override_dh_shlibdeps:
#override_dh_installinit:
# dh_installinit -r
override_dh_builddeb:
dh_builddeb -- -Zxz
get-orig-source:
uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download

View File

@@ -80,7 +80,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
glassfish-javaee
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -90,5 +90,5 @@ Description: Router for I2P
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -1,3 +1,9 @@
i2p (0.9.38x-1~xenial+1) xenial; urgency=medium
* Backport to Xenial
-- zzz on i2p (key signing) <zzz@i2pmail.org> Wed, 23 Jan 2019 12:12:12 +0000
i2p (0.9.37x-1~xenial+1) xenial; urgency=medium
* Backport to Xenial

View File

@@ -17,7 +17,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (< 3);
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -83,11 +83,11 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (< 3),
libjson-simple-java (<< 3),
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -97,5 +97,5 @@ Description: Invisible Internet Project (I2P) - Router
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

18
debian/apparmor/i2p vendored
View File

@@ -6,6 +6,11 @@
#include <abstractions/nameservice>
#include <abstractions/ssl_certs>
# for launching browswers
#include <abstractions/ubuntu-helpers>
#include <abstractions/ubuntu-browsers>
#include <abstractions/ubuntu-console-browsers>
network inet stream,
network inet dgram,
network inet6 stream,
@@ -14,11 +19,14 @@
# Needed by Java
@{PROC} r,
owner @{PROC}/[0-9]*/ r,
owner @{PROC}/[0-9]*/cgroup r,
owner @{PROC}/[0-9]*/mountinfo r,
owner @{PROC}/[0-9]*/status r,
@{PROC}/[0-9]*/net/ipv6_route r,
@{PROC}/[0-9]*/net/if_inet6 r,
/sys/devices/system/cpu/ r,
/sys/devices/system/cpu/** r,
/sys/fs/cgroup/** r,
/etc/ssl/certs/java/** r,
/etc/timezone r,
@@ -58,11 +66,14 @@
/usr/share/java/gnu-getopt.jar r,
/usr/share/java/gnu-getopt-*.jar r,
/usr/share/java/jetty9-*.jar r,
/usr/share/java/json-simple.jar r,
/usr/share/java/json-simple-*.jar r,
/usr/share/java/jsp-api-*.jar r,
/usr/share/java/servlet-api-*.jar r,
/usr/share/java/standard.jar r,
/usr/share/java/standard-*.jar r,
/usr/share/java/tomcat8-*.jar r,
/usr/share/java/tomcat9-*.jar r,
/usr/share/java/taglibs-standard-*.jar r,
/usr/share/flags/countries/16x11/* r,
@@ -75,8 +86,8 @@
# 'm' is needed by the I2P-Bote plugin
/{,lib/live/mount/overlay/}tmp/ rwm,
owner /{,lib/live/mount/overlay/}tmp/hsperfdata_i2psvc/ rwk,
owner /{,lib/live/mount/overlay/}tmp/hsperfdata_i2psvc/** rw,
owner /{,lib/live/mount/overlay/}tmp/hsperfdata_*/ rwk,
owner /{,lib/live/mount/overlay/}tmp/hsperfdata_*/** rw,
owner /{,lib/live/mount/overlay/}tmp/wrapper* rwk,
owner /{,lib/live/mount/overlay/}tmp/wrapper*/** rw,
# Scrypt used by I2P-Bote
@@ -89,6 +100,9 @@
# temp dir (non-service)
owner /{,lib/live/mount/overlay/}tmp/i2p-*.tmp/ rwm,
owner /{,lib/live/mount/overlay/}tmp/i2p-*.tmp/** rwkm,
# temp dir (Jetty default)
owner /{,lib/live/mount/overlay/}tmp/jetty-*/ rwm,
owner /{,lib/live/mount/overlay/}tmp/jetty-*/** rwkm,
# /graphs in the router console
owner /{,lib/live/mount/overlay/}tmp/imageio[0-9]*.tmp rwk,

View File

@@ -20,7 +20,7 @@
/bin/cat rix,
/bin/grep rix,
/bin/mkdir rix,
/bin/ps rix,
/bin/ps rUx,
/bin/rm rix,
/bin/sed rix,
/bin/sleep rix,
@@ -34,7 +34,8 @@
/usr/bin/dirname rix,
/usr/bin/expr rix,
/usr/bin/id rix,
/usr/bin/ldd rix,
# should replace this in i2prouter with something safer
/usr/bin/ldd rUx,
/usr/bin/tail rix,
/usr/bin/tr rix,

8
debian/control vendored
View File

@@ -16,7 +16,7 @@ Build-Depends: debhelper (>= 9.20160709)
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (< 3)
,libjson-simple-java (<< 3)
,libgmp-dev (>= 2:5.0.5)
,libservice-wrapper-java
,po-debconf
@@ -78,14 +78,14 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (< 3),
libjson-simple-java (<< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat8-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni, ttf-dejavu
Recommends: libjbigi-jni, fonts-dejavu
Suggests: apparmor
,privoxy
,syndie
@@ -95,5 +95,5 @@ Description: Invisible Internet Project (I2P) - Router
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
TrueType fonts (such as those provided in the package fonts-dejavu) are required
in order to generate graphs.

View File

@@ -1,3 +1,51 @@
2019-01-27 zzz
* NDT:
- Catch exception on DNS lookup failure (ticket #2399)
- Add support for specifying server in CLI (ticket #2413)
2019-01-24 zzz
* Debian:
- Fix Debian control files (ticket #2401)
- Add build option for libtomcat9 (ticket #2364)
- Fix PPA builds for precise and trusty (ticket #2408)
* 2019-01-22 0.9.38 released
2019-01-21 zzz
* Debian:
- Add source param to javadoc target (ticket #2394)
- Replace ttf-dejavu with fonts-dejavu (ticket #2395)
* Reseed: Update SSL cert
2019-01-18 zzz
* Build:
- Update translations
- Add files for Disco
* NTCP: Stop X25519KeyFactory on shutdown (ticket #2388)
* Plugins: Fix loading of webapp configuration classes (ticket #2385)
2019-01-15 zzz
* Debian: AppArmor updates (ticket #2319)
* SusiMail:
- Fix sending mail with attachments (ticket #2373)
- Fix deleting attachments from drafts
- Fix dup attachments after clicking add attachment without browsing first
- Fix update of draft folder after saving as draft
- Change text of add attachment button for clarity
2019-01-13 zzz
* I2CP: Set LS2 unpublished bit, show in debug output
2019-01-12 zzz
* NetDB: Use isSlow() in floodfill criteria
* SSU: More consolidation of clock().now() calls
2019-01-10 zzz
* I2CP:
- Router-side handling of meta LS2
- Remove client-side-only options from those sent to router
- Router-side stub for encrypted LS2
2019-01-09 zzz
* Console: Fix broken image link on /configui
* I2CP: Stub out client-side creation of meta and enc. LS2

View File

@@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>0.9.37</appversion>
<appversion>0.9.38</appversion>
<authors>
<author name="I2P" email="https://geti2p.net/"/>
</authors>

View File

@@ -10,7 +10,7 @@
<info>
<appname>i2p</appname>
<appversion>0.9.37</appversion>
<appversion>0.9.38</appversion>
<authors>
<author name="I2P" email="https://geti2p.net/"/>
</authors>

View File

@@ -1,23 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDvTCCAqWgAwIBAgIJAOeW0ejPrHimMA0GCSqGSIb3DQEBCwUAMHUxCzAJBgNV
MIIDwDCCAqigAwIBAgIJAJg8XhFtYLZsMA0GCSqGSIb3DQEBCwUAMHUxCzAJBgNV
BAYTAlVTMQ0wCwYDVQQIDARub25lMQ0wCwYDVQQHDARub25lMQ0wCwYDVQQKDARu
b25lMQ0wCwYDVQQLDARub25lMRUwEwYDVQQDDAxpMnAubW9vby5jb20xEzARBgkq
hkiG9w0BCQEWBG5vbmUwHhcNMTUwMjA4MTczMzA5WhcNMTkwMzE5MTczMzA5WjB1
hkiG9w0BCQEWBG5vbmUwHhcNMTkwMTE5MTU0NjQ5WhcNMjQwMTE4MTU0NjQ5WjB1
MQswCQYDVQQGEwJVUzENMAsGA1UECAwEbm9uZTENMAsGA1UEBwwEbm9uZTENMAsG
A1UECgwEbm9uZTENMAsGA1UECwwEbm9uZTEVMBMGA1UEAwwMaTJwLm1vb28uY29t
MRMwEQYJKoZIhvcNAQkBFgRub25lMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAqxej7oRl9GOb8benIBCENrJXoow1iWhI9M+2nU0SaonrCDql5M2YMlwd
HzYUWtFbRjz2NinjB0fgFq9cfzHfr1Sc8k/OeGg1jvNfqt8wWo9tryQNjiHtDQUZ
6lQ5T13I+lj0CBasowgbApKQfrYjvaeuTaVYTfP8IVA60hoUQ+sy9JN+Unsx3/0Y
PLLd98+bT27qYuBNRB1g/ifUTd9Wosj2PevGBlCxYDaUjmCG4Q8kcQr87KvM6RTu
3AV61s/Wyy1j2YemlGG/ZhJ44YnlVMSu1vTjt9HInVf3lRRx/+RzbQO3lqeVC8LC
Bq3KbSlfJVx4vHslfHwBFw9A4rmD1QIDAQABo1AwTjAdBgNVHQ4EFgQUsSUvX0ED
yivB67iksVwZ+b8vLtQwHwYDVR0jBBgwFoAUsSUvX0EDyivB67iksVwZ+b8vLtQw
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAde4wts7Q8TylFEc38ftJ
2f285fFIR7P1SSbBcHPK2eBwLEg0zJyFrCeiHuEpPrn+d5GqL2zOskjfcESGmDBT
aFajj8jPBJj/AmpkdWJG6a1YKro5tu9wrlenGwHOHu2/Cl0IJvafxrOs2x4G+2Nl
5Hcw/FIy8mK7eIch4pACfi0zNMZ6KMCKfX9bxPrQo78WdBfVjbrIBlgyOQJ5NJEF
JlWvS7Butv7eERi4I2huN5VRJSCFzjbuO+tjP3I8IB6WgdBmTeqq8ObtXRgahBuD
ZmkvqVSfIzK5JN4GjO8FOdCBomuwm9A92kgmAptwQwAHM9qCDJpH8L07/7poxlGb
iA==
CgKCAQEAtktZpI/J3n3TBoq0WvTN2fGRIFLBH8tEguRr6Asw3dmC4Jabxeyf0rH2
SC4cJFa735KJvuo0RU2lcN81nL42EybpH8AAy/oUvn9Ots/xhHhdqxM+QsZkq5CD
EqErPQ/KFyWCM9k1FSJydpllYtwqxBk61ouDTzgkA2C6xe4GD4oehENwVsC8olQZ
amF2m1/DjiZr+cd11oIfErKeucULQ37XMnA1RO9dJwIqsu27COd8R0iYwQLE6F8u
35ytoDo/PTm2VJDIMOjdWwmGg7saFzGLXcQqb2u8K2tbv7dd5swVhxNC7zNF47fO
/ArWrW03Y6o5OC5AQl9f6AiCY/dm0QIDAQABo1MwUTAdBgNVHQ4EFgQUHFHmYgpI
PKCOZ6sjJ73Ii87z9e8wHwYDVR0jBBgwFoAUHFHmYgpIPKCOZ6sjJ73Ii87z9e8w
DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAehxU/OpdLIv1Qa6z
U1loCXG277nI5qPQDOd+xT3m8gdhkbCzV7N7Amrp8R65XktqwOCvkFRejcrjk39v
7yUNu17rnVLxuHE07LZ+4S4vNEmlvEFOEBJLDWqMg2wd6bVuySVY/X02nqwLfnuJ
1iRsyWlu47AU2wVHqqMBO/+3LOMtXwwbLmlrM/3HTyYjH7GgEuRQyVLcbt6vRI/L
5x/FNI6xeo4sJjxIDiE2tGrEdxR9Zeeqqigphp7fQBoAUm7ir1DchR3ejsIS1KXd
Yx79dFKRLKZNVUKyejYVkSC18cxQ8DGAhpQA80xnv5d4EF6KdZLJAeF6ANdJ40Yv
6hOzag==
-----END CERTIFICATE-----

View File

@@ -92,7 +92,7 @@
<li>
<b>Chrome/Chromium:</b> Settings ➜ Advanced Settings ➜ Privacy ➜ Clear browsing data</li>
<li>
<b>Opera:</b> Settings ➜ Privacy ➜ Clear browsing data</li>
<b>Opera:</b> Impostazioni ➜ Privacy ➜ Elimina dati navigazione</li>
</ul>
<h2>Registra il tuo dominio I2P</h2>
@@ -165,7 +165,7 @@
<p>If you have any questions, the following places are available for support:</p>
<ul>
<li>Our IRC support channel:<ul>
<li>Il nostro canel IRC di supporto:<ul>
<li><a href="irc://irc.freenode.net/i2p">#i2p su Freenode</a></li>
<li>Anonymously using your local <a href="irc://127.0.0.1:6668/i2p">I2P IRC tunnel</a>.</li>
</ul>

View File

@@ -165,10 +165,11 @@ Jika berhasil, I2P seharusnya menunjukkan status "Network: OK" di panel samping
<li>
<b>Port Forwarding</b><br>
Open <a href="/confignet">I2P's port</a> on your modem, router and/or firewall(s) for better connectivity (ideally both UDP and TCP).
More information on how to go about port forwarding can be easily found through a web search.
Should you have any difficulties, you may request assistance in our forums and IRC channels listed below.
Note that I2P does not support connecting to the internet via an http or socks proxy [patches welcome!], though you can connect to proxies via I2P itself once connected to the network.</li>
Buka<a href="/confignet">port I2P pada modem, router dan/atau firewall Anda untuk koneksi yang lebih baik (idealnya baik UDP dan TCP).
Informasi lebih lanjut tentang bagaimana cara meneruskan port forwarding dapat dengan mudah ditemukan melalui pencarian web. 
"Jika Anda mengalami kesulitan, Anda dapat meminta bantuan di forum kami dan saluran IRC yang tercantum di bawah ini.
Perhatikan bahwa I2P tidak mendukung koneksi ke internet melalui proxy http atau socks [patch diterima!], meskipun Anda dapat terhubung ke proksi melalui I2P sendiri setelah terhubung ke jaringan.</a>
</li>
<li>
<b>Cara Mendapatkan Bantuang Secara Online</b><br>

View File

@@ -163,11 +163,11 @@ Modeminiz ya da yönelticiniz üzerinde UPnP özelliğinin desteklendiğinden em
Başarılı olursa, I2P yönelticisi bağlantı sınamalarını tamamladıktan sonra I2P yan çubuğunda "Ağ: Tamam" iletisi görüntülenir.</li>
<li>
<b>Port Forwarding</b><br>
Open <a href="/confignet">I2P's port</a> on your modem, router and/or firewall(s) for better connectivity (ideally both UDP and TCP).
More information on how to go about port forwarding can be easily found through a web search.
Should you have any difficulties, you may request assistance in our forums and IRC channels listed below.
Note that I2P does not support connecting to the internet via an http or socks proxy [patches welcome!], though you can connect to proxies via I2P itself once connected to the network.</li>
<b>Kapıları Yönlendirin</b><br>
Daha iyi bir bağlantı için <a href="/confignet">I2Pkapı numaralarını</a> modeminiz, yönelticiniz ya da güvenlik duvarınız üzerinde açın (ideal olarak hem UDP hem TCP).
Kapı yönlendirme hakkında ayrıntılı bilgilere web üzerinde yapacağınız basit bir arama ile erişebilirsiniz.
Sorun yaşamanız durumunda aşağıda listelenen forumlarımıza ve IRC kanallarına bakabilirsiniz.
I2P İnternet bağlantısının bir http ya da socks vekil sunucusu üzerinden bağlanamayacağını unutmayın [yamalarınızı bekliyoruz!]. Ancak bir kez ağa bağlandığında I2P üzerinden vekil sunuculara bağlanabilirsiniz.</li>
<li>
<b>Çevrimiçi Destek Alın</b><br><a href="http://i2p-projekt.i2p/" target="_blank">I2P web sitesindeki</a> bilgilere bakabilir, <a href="http://forums.i2p/" target="_blank">I2P tartışma forumuna</a> iletiler gönderebilir ya da I2P içindeki Irc2P IRC ağında <a href="irc://127.0.0.1:6668/i2p">#i2p</a> ve <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> kanallarında takılabilirsiniz.

Some files were not shown because too many files have changed in this diff Show More