diff -Nru i2p-0.9.23/debian/apparmor/i2p i2p-0.9.23/debian/apparmor/i2p --- i2p-0.9.23/debian/apparmor/i2p 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/apparmor/i2p 2015-12-06 17:25:31.000000000 +0000 @@ -61,7 +61,9 @@ owner /{,lib/live/mount/overlay/}tmp/scrypt* rwk, owner /{,lib/live/mount/overlay/}tmp/scrypt*/** rw, owner /{,lib/live/mount/overlay/}tmp/i2p-daemon/ rwm, - owner /{,lib/live/mount/overlay/}tmp/i2p-daemon/** rwklm, + owner /{,lib/live/mount/overlay/}tmp/i2p-daemon/** rwkm, + # /graphs in the router console + owner /{,lib/live/mount/overlay/}tmp/imageio[0-9]*.tmp rwk, # Prevent spamming the logs deny /dev/tty rw, diff -Nru i2p-0.9.23/debian/apparmor/system_i2p i2p-0.9.23/debian/apparmor/system_i2p --- i2p-0.9.23/debian/apparmor/system_i2p 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/apparmor/system_i2p 2015-12-06 17:25:31.000000000 +0000 @@ -5,7 +5,7 @@ profile system_i2p flags=(complain) { #include - owner /{,lib/live/mount/overlay/}var/lib/i2p/** rwkl, + owner /{,lib/live/mount/overlay/}var/lib/i2p/** rwk, owner /{,lib/live/mount/overlay/}var/lib/i2p/i2p-config/eepsite/cgi-bin rix, owner /{,lib/live/mount/overlay/}var/log/i2p/* rw, diff -Nru i2p-0.9.23/debian/apparmor/usr.bin.i2prouter i2p-0.9.23/debian/apparmor/usr.bin.i2prouter --- i2p-0.9.23/debian/apparmor/usr.bin.i2prouter 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/apparmor/usr.bin.i2prouter 2015-12-06 17:25:31.000000000 +0000 @@ -40,7 +40,7 @@ @{HOME}/.java/fonts/** r, owner @{HOME}/.i2p/ rw, - owner @{HOME}/.i2p/** rwkl, + owner @{HOME}/.i2p/** rwk, owner @{HOME}/.i2p/eepsite/cgi-bin/** rix, # Prevent spamming the logs diff -Nru i2p-0.9.23/debian/changelog i2p-0.9.23/debian/changelog --- i2p-0.9.23/debian/changelog 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/changelog 2015-12-06 17:25:31.000000000 +0000 @@ -1,8 +1,19 @@ -i2p (0.9.23-1ubuntu1) trusty; urgency=medium +i2p (0.9.23-2ubuntu1) trusty; urgency=medium * Upload to PPA - -- Kill Your TV Thu, 19 Nov 2015 16:58:13 +0000 + -- Kill Your TV Sun, 06 Dec 2015 17:25:15 +0000 + +i2p (0.9.23-2) unstable; urgency=medium + + * Backport of two fixes from after the release of 0.9.23 + - debian/patches/0005-Console-Fix-escaping-of-plugin-description-on-config.patch + - debian/patches/0006-NetDb-Fix-deadlock-ticket-1722.patch + * AppArmor: + - Remove 'l' from the debian AppArmor profiles + - Allow writing to /tmp/imageio*, needed by graph creation on some systems + + -- Kill Your TV Sun, 06 Dec 2015 14:28:23 +0000 i2p (0.9.23-1) unstable; urgency=medium diff -Nru i2p-0.9.23/debian/patches/0001-path-substitution.patch i2p-0.9.23/debian/patches/0001-path-substitution.patch --- i2p-0.9.23/debian/patches/0001-path-substitution.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0001-path-substitution.patch 2015-12-06 17:25:31.000000000 +0000 @@ -8,12 +8,29 @@ Non-applicable sections (e.g., portable & windows) are also removed for the Debian wrapper.config to try to prevent confusion. --- - installer/resources/eepget | 2 +- - installer/resources/i2prouter | 82 ++++-------------------------------- - installer/resources/runplain.sh | 4 +- - installer/resources/wrapper.config | 70 ++++++------------------------ - 4 files changed, 24 insertions(+), 134 deletions(-) + installer/resources/eepget | 2 +- + installer/resources/i2prouter | 121 +++--------------------- + installer/resources/locale/po/messages_de.po | 8 +- + installer/resources/locale/po/messages_en.po | 4 +- + installer/resources/locale/po/messages_es.po | 8 +- + installer/resources/locale/po/messages_fr.po | 8 +- + installer/resources/locale/po/messages_it.po | 4 +- + installer/resources/locale/po/messages_ja.po | 8 +- + installer/resources/locale/po/messages_pl.po | 8 +- + installer/resources/locale/po/messages_pt.po | 8 +- + installer/resources/locale/po/messages_pt_BR.po | 8 +- + installer/resources/locale/po/messages_ro.po | 8 +- + installer/resources/locale/po/messages_ru.po | 8 +- + installer/resources/locale/po/messages_sk.po | 8 +- + installer/resources/locale/po/messages_sv.po | 8 +- + installer/resources/locale/po/messages_tr.po | 8 +- + installer/resources/locale/po/messages_zh.po | 8 +- + installer/resources/runplain.sh | 4 +- + installer/resources/wrapper.config | 70 +++----------- + 19 files changed, 86 insertions(+), 223 deletions(-) +diff --git a/installer/resources/eepget b/installer/resources/eepget +index 080bcc8..f2e84ba 100644 --- a/installer/resources/eepget +++ b/installer/resources/eepget @@ -1,3 +1,3 @@ @@ -21,6 +38,8 @@ -I2P="%INSTALL_PATH" +I2P="/usr/share/i2p" java -cp "$I2P/lib/i2p.jar" net.i2p.util.EepGet "$@" +diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter +index afee6b7..0d420b4 100644 --- a/installer/resources/i2prouter +++ b/installer/resources/i2prouter @@ -10,7 +10,7 @@ @@ -60,7 +79,7 @@ # PORTABLE installation: # Use the following instead. #I2PTEMP="%INSTALL_PATH" -@@ -69,8 +60,8 @@ +@@ -69,8 +60,8 @@ fi #RUN_AS_USER= # Wrapper @@ -71,7 +90,7 @@ # Priority at which to run the wrapper. See "man nice" for valid priorities. # nice is only used if a priority is specified. -@@ -177,75 +168,8 @@ +@@ -177,75 +168,8 @@ if [ ! -e "$WRAPPER_CONF" ]; then exit 1 fi @@ -147,7 +166,7 @@ if [ -n "$FIXED_COMMAND" ] then COMMAND="$FIXED_COMMAND" -@@ -1058,7 +982,6 @@ +@@ -1058,7 +982,6 @@ startwait() { if [ "X$pid" = "X" ] then eval echo " `gettext 'WARNING: $APP_LONG_NAME may have failed to start.'`" @@ -155,7 +174,7 @@ else eval echo ' running: PID:$pid' fi -@@ -1861,7 +1784,7 @@ +@@ -1861,7 +1784,7 @@ showUsage() { } showsetusermesg() { @@ -164,7 +183,7 @@ } checkifstartingasroot() { -@@ -1869,7 +1792,7 @@ +@@ -1869,7 +1792,7 @@ checkifstartingasroot() { echo "`gettext 'Running I2P as the root user is *not* recommended.'`" showsetusermesg echo @@ -173,7 +192,7 @@ exit 1 fi } -@@ -1934,24 +1857,10 @@ +@@ -1934,24 +1857,10 @@ docommand() { status ;; @@ -202,147 +221,11 @@ 'dump') checkUser "" "$COMMAND" ---- a/installer/resources/runplain.sh -+++ b/installer/resources/runplain.sh -@@ -11,8 +11,8 @@ - # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir - # should have been replaced by the izpack installer. - # If you did not run the installer, replace them with the appropriate path. --I2P="%INSTALL_PATH" --I2PTEMP="%SYSTEM_java_io_tmpdir" -+I2P="/usr/share/i2p" -+I2PTEMP="/tmp" - - # Having IPv6 enabled can cause problems with certain configurations. Changing the - # next value to true may help. ---- a/installer/resources/wrapper.config -+++ b/installer/resources/wrapper.config -@@ -8,22 +8,13 @@ - # click "Shutdown", wait 11 minutes, then start i2p. - # - # WARNING - The wrapper is NOT run (and this file is not used) --# if you start I2P with the 'no window' icon on Windows, or --# with the runplain.sh script on Linux. Use the 'restartable' --# icon on Windows or the i2prouter script on Linux to run the wrapper. -+# if you start I2P with the i2prouter-nowrapper script in Linux. -+# Use i2prouter or the initscript to run the wrapper. - # - # NOTE - Directory organization: - # The standard I2P Installation will set up a "split" directory structure - # with code in the install directory, data and configuration files in the - # user's home directory, and temporary files in the system temporary directory. --# To set up a single-directory "portable" installation suitable for --# a USB stick, make several changes specified below (search for PORTABLE). --# --# NOTE - The izpack installer performs variable subsitiution on this --# file upon installation. If you did not use izpack, you must --# find and replace all instances of (dollar)INSTALL_PATH and --# (dollar)SYSTEM_java_io_tmpdir with appropriate values --# (perhaps . and /var/tmp, respectively) - # - #******************************************************************** - # Java Application -@@ -60,13 +51,14 @@ - # classes, or all the classes of i2p.jar, are in a different directory). - # Be sure there are no other duplicate classes. - # --wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar -+wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar -+wrapper.java.classpath.2=/usr/share/java/wrapper.jar - # uncomment this to use the system classpath as well (e.g. to get tools.jar) --# wrapper.java.classpath.2=%CLASSPATH% -+# wrapper.java.classpath.3=%CLASSPATH% - --# Java Library Path (location of Wrapper.DLL or libwrapper.so) --wrapper.java.library.path.1=$INSTALL_PATH --wrapper.java.library.path.2=$INSTALL_PATH/lib -+# Java Library Path (location of libjbigi/libjcpuid) -+wrapper.java.library.path.1=/usr/lib/jni -+wrapper.java.library.path.2=/usr/share/java/lib - - # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode. - wrapper.java.additional.auto_bits=TRUE -@@ -74,7 +66,7 @@ - # Java Additional Parameters - # Numbers must be consecutive (except for stripquotes) - wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt --wrapper.java.additional.2=-Di2p.dir.base="$INSTALL_PATH" -+wrapper.java.additional.2=-Di2p.dir.base=/usr/share/i2p - wrapper.java.additional.2.stripquotes=TRUE - - # Prevent the JVM from exporting stats (and thereby causing hundreds of -@@ -146,11 +138,7 @@ - # You may wish to change this. - # NOTE: On Linux/Mac this is overridden in the i2prouter script; changes here will have no effect. - # System temp directory: --wrapper.logfile=$SYSTEM_java_io_tmpdir/wrapper.log --# PORTABLE installation: --# Use the following instead. I2P will find the logfile here, --# no need for a wrapper.java.additional line too. --#wrapper.logfile=$INSTALL_PATH/wrapper.log -+#wrapper.logfile=/tmp/wrapper.log - - # Format of output for the log file. - # The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread, -@@ -220,11 +208,7 @@ - # Linux/Mac users, do not set here, see settings in the i2prouter script. - # Directory must exist or the wrapper will fail to start. - # System temp directory: --#wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid --# PORTABLE installation: --# Use the following instead. --#wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid --# pid file for the service monitoring the JVM -+#wrapper.java.pidfile=/tmp/routerjvm.pid - # - # From i2prouter: - # -@@ -238,10 +222,7 @@ - # Linux/Mac users, do not set here, see settings in the i2prouter script. - # Directory must exist or the wrapper will fail to start. - # System temp directory: --#wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid --# PORTABLE installation: --# Use the following instead. --#wrapper.pidfile=$INSTALL_PATH/i2p.pid -+#wrapper.pidfile=/tmp/i2p.pid - - #******************************************************************** - # Wrapper General Properties -@@ -258,30 +239,3 @@ - wrapper.umask=0022 - wrapper.java.umask=0022 - wrapper.logfile.umask=0077 -- --#******************************************************************** --# Wrapper NT Service Properties --#******************************************************************** --# WARNING - Do not modify any of these properties when an application --# using this configuration file has been installed as a service. --# Please uninstall the service before modifying this section. The --# service can then be reinstalled. -- --# Name of the service --wrapper.ntservice.name=i2p -- --# Display name of the service --wrapper.ntservice.displayname=I2P Service -- --# Description of the service --wrapper.ntservice.description=The I2P router service -- --# Service dependencies. Add dependencies as needed starting from 1 --wrapper.ntservice.dependency.1= -- --# Mode in which the service is installed. AUTO_START or DEMAND_START --wrapper.ntservice.starttype=AUTO_START -- --# Allow the service to interact with the desktop. --wrapper.ntservice.interactive=false -- +diff --git a/installer/resources/locale/po/messages_de.po b/installer/resources/locale/po/messages_de.po +index c8c499a..96b615c 100644 --- a/installer/resources/locale/po/messages_de.po +++ b/installer/resources/locale/po/messages_de.po -@@ -195,15 +195,15 @@ +@@ -195,15 +195,15 @@ msgid "Request a Java thread dump if running." msgstr "Falls gestartet, fordere einen Java Thread dump an" #: ../i2prouter:1864 @@ -362,9 +245,11 @@ -"Um I2P trotzdem als root auszuführen bearbeite i2prouter und setze " +"Um I2P trotzdem als root auszuführen bearbeite /etc/default/i2p und setze " "ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_en.po b/installer/resources/locale/po/messages_en.po +index 813b061..dbc66da 100644 --- a/installer/resources/locale/po/messages_en.po +++ b/installer/resources/locale/po/messages_en.po -@@ -185,7 +185,7 @@ +@@ -185,7 +185,7 @@ msgid "Request a Java thread dump if running." msgstr "" #: ../i2prouter:1864 @@ -373,98 +258,133 @@ msgstr "" #: ../i2prouter:1869 -@@ -193,5 +193,5 @@ +@@ -193,5 +193,5 @@ msgid "Running I2P as the root user is *not* recommended." msgstr "" #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" ---- a/installer/resources/locale/po/messages_it.po -+++ b/installer/resources/locale/po/messages_it.po -@@ -187,7 +187,7 @@ - msgstr "" +diff --git a/installer/resources/locale/po/messages_es.po b/installer/resources/locale/po/messages_es.po +index fd12737..ef112e3 100644 +--- a/installer/resources/locale/po/messages_es.po ++++ b/installer/resources/locale/po/messages_es.po +@@ -193,15 +193,15 @@ msgid "Request a Java thread dump if running." + msgstr "Solicitar un volcado del hilo JAVA si se está ejecutando." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" +-msgstr "Por favor edite i2prouter e introduzca la variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" - msgstr "" ++msgstr "Por favor edite /etc/default/i2p e introduzca la variable RUN_AS_USER" #: ../i2prouter:1869 -@@ -195,5 +195,5 @@ - msgstr "" + msgid "Running I2P as the root user is *not* recommended." + msgstr "\"No\" se recomienda ejecutar I2P como root." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" ---- a/installer/resources/locale/po/messages_zh.po -+++ b/installer/resources/locale/po/messages_zh.po -@@ -187,13 +187,13 @@ - msgstr "请求Java转储(如果在运行)。" +-"Para ejecutar como root de todos modos, edite i2prouter y ponga la variable " ++"Para ejecutar como root de todos modos, edite /etc/default/i2p y ponga la variable " + "ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_fr.po b/installer/resources/locale/po/messages_fr.po +index 240be56..779d1a2 100644 +--- a/installer/resources/locale/po/messages_fr.po ++++ b/installer/resources/locale/po/messages_fr.po +@@ -190,8 +190,8 @@ msgid "Request a Java thread dump if running." + msgstr "Request a Java thread dump if running." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "请编辑 i2prouter 设置 RUN_AS_USER 变量" +-msgstr "Veuillez éditer i2prouter et paramétrer la variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "请编辑 /etc/default/i2p 设置 RUN_AS_USER 变量" ++msgstr "Veuillez éditer /etc/default/i2p et paramétrer la variable RUN_AS_USER" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "推荐 *不要* 以 root 身份运行 I2P 。" +@@ -199,7 +199,7 @@ msgstr "" + "Faire fonctionner I2P en tant qu'utilisateur root n'est *pas* recommandé." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "要以root运行,请编辑 i2prouter 并设置 ALLOW_ROOT=true。" +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "要以root运行,请编辑 /etc/default/i2p 并设置 ALLOW_ROOT=true。" ---- a/installer/resources/locale/po/messages_tr.po -+++ b/installer/resources/locale/po/messages_tr.po -@@ -188,15 +188,15 @@ - msgstr "Çalışıyorsa Java iş parçacığı dökümü isteyin." + msgstr "" +-"Pour exécuter en tant que root de toute façon, éditer i2prouter et mettre " ++"Pour exécuter en tant que root de toute façon, éditer /etc/default/i2p et mettre " + "ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_it.po b/installer/resources/locale/po/messages_it.po +index 8fb4ed3..e7be66b 100644 +--- a/installer/resources/locale/po/messages_it.po ++++ b/installer/resources/locale/po/messages_it.po +@@ -187,7 +187,7 @@ msgid "Request a Java thread dump if running." + msgstr "" #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "i2prouter dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "/etc/default/i2p dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" + msgstr "" #: ../i2prouter:1869 - msgid "Running I2P as the root user is *not* recommended." - msgstr "I2P yazılımının root olarak çalıştırmanız *önerilmez*." +@@ -195,5 +195,5 @@ msgid "Running I2P as the root user is *not* recommended." + msgstr "" #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" --"Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve " -+"Root olarak çalıştırmak için /etc/default/i2p dosyasını düzenleyin ve " - "ALLOW_ROOT=true ayarını yapın." ---- a/installer/resources/locale/po/messages_es.po -+++ b/installer/resources/locale/po/messages_es.po -@@ -193,15 +193,15 @@ - msgstr "Solicitar un volcado del hilo JAVA si se está ejecutando." +diff --git a/installer/resources/locale/po/messages_ja.po b/installer/resources/locale/po/messages_ja.po +index 294c82c..e115ff7 100644 +--- a/installer/resources/locale/po/messages_ja.po ++++ b/installer/resources/locale/po/messages_ja.po +@@ -189,15 +189,15 @@ msgid "Request a Java thread dump if running." + msgstr "起動中の場合、 Java スレッドダンプを要求" #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Por favor edite i2prouter e introduzca la variable RUN_AS_USER" +-msgstr "i2prouter を編集して、変数 RUN_AS_USER を設定してください" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Por favor edite /etc/default/i2p e introduzca la variable RUN_AS_USER" ++msgstr "/etc/default/i2p を編集して、変数 RUN_AS_USER を設定してください" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "\"No\" se recomienda ejecutar I2P como root." + msgstr "root ユーザーとしての I2P の起動は推奨され*ません*。" #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" --"Para ejecutar como root de todos modos, edite i2prouter y ponga la variable " -+"Para ejecutar como root de todos modos, edite /etc/default/i2p y ponga la variable " - "ALLOW_ROOT=true." +-"とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定す" ++"とにかく root として起動し、 /etc/default/i2p を編集して、ALLOW_ROOT=true と設定す" + "る。" +diff --git a/installer/resources/locale/po/messages_pl.po b/installer/resources/locale/po/messages_pl.po +index 9f691a9..174cbb3 100644 +--- a/installer/resources/locale/po/messages_pl.po ++++ b/installer/resources/locale/po/messages_pl.po +@@ -191,13 +191,13 @@ msgid "Request a Java thread dump if running." + msgstr "Zażądaj zrzutu wątków Java jeśli jest uruchomiona." + + #: ../i2prouter:1864 +-msgid "Please edit i2prouter and set the variable RUN_AS_USER" +-msgstr "Proszę edytuj i2prouter i ustaw zmienną RUN_AS_USER" ++msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" ++msgstr "Proszę edytuj /etc/default/i2p i ustaw zmienną RUN_AS_USER" + + #: ../i2prouter:1869 + msgid "Running I2P as the root user is *not* recommended." + msgstr "Nie jest polecane uruchamianie I2P jako root." + + #: ../i2prouter:1872 +-msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +-msgstr "Aby uruchomić jako root, edytuj i2prouter i ustaw ALLOW_ROOT=true." ++msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." ++msgstr "Aby uruchomić jako root, edytuj /etc/default/i2p i ustaw ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_pt.po b/installer/resources/locale/po/messages_pt.po +index 5a6f715..07257af 100644 --- a/installer/resources/locale/po/messages_pt.po +++ b/installer/resources/locale/po/messages_pt.po -@@ -189,15 +189,15 @@ +@@ -189,15 +189,15 @@ msgid "Request a Java thread dump if running." msgstr "Requisitar o histórico Java se iniciado." #: ../i2prouter:1864 @@ -484,32 +404,59 @@ -"Para executar como root mesmo assim, editar o i2prouter e configurar a " +"Para executar como root mesmo assim, editar o /etc/default/i2p e configurar a " "variável ALLOW_ROOT=true." ---- a/installer/resources/locale/po/messages_fr.po -+++ b/installer/resources/locale/po/messages_fr.po -@@ -190,8 +190,8 @@ - msgstr "Request a Java thread dump if running." +diff --git a/installer/resources/locale/po/messages_pt_BR.po b/installer/resources/locale/po/messages_pt_BR.po +index 21cdba7..d0bfcf4 100644 +--- a/installer/resources/locale/po/messages_pt_BR.po ++++ b/installer/resources/locale/po/messages_pt_BR.po +@@ -190,15 +190,15 @@ msgid "Request a Java thread dump if running." + msgstr "Solicitar um despejo de thread se está sendo executado." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Veuillez éditer i2prouter et paramétrer la variable RUN_AS_USER" +-msgstr "Por favor, edite i2prouter e especifique a variável RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Veuillez éditer /etc/default/i2p et paramétrer la variable RUN_AS_USER" ++msgstr "Por favor, edite /etc/default/i2p e especifique a variável RUN_AS_USER" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." -@@ -199,7 +199,7 @@ - "Faire fonctionner I2P en tant qu'utilisateur root n'est *pas* recommandé." + msgstr "Executar o roteador I2P como usuário root *não* é recomendado." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" --"Pour exécuter en tant que root de toute façon, éditer i2prouter et mettre " -+"Pour exécuter en tant que root de toute façon, éditer /etc/default/i2p et mettre " - "ALLOW_ROOT=true." + "De qualquer forma, se quiser mesmo executar o roteador como root, edite " +-"i2prouter e ponha ALLOW_ROOT=true." ++"/etc/default/i2p e ponha ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_ro.po b/installer/resources/locale/po/messages_ro.po +index 56a3a73..9a780b2 100644 +--- a/installer/resources/locale/po/messages_ro.po ++++ b/installer/resources/locale/po/messages_ro.po +@@ -187,15 +187,15 @@ msgid "Request a Java thread dump if running." + msgstr "Solicitarea dump-ului firului Java daca este pornit" + + #: ../i2prouter:1864 +-msgid "Please edit i2prouter and set the variable RUN_AS_USER" +-msgstr "Vă rugăm să editați i2prouter și setați variabila RUN_AS_USER " ++msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" ++msgstr "Vă rugăm să editați /etc/default/i2p și setați variabila RUN_AS_USER " + + #: ../i2prouter:1869 + msgid "Running I2P as the root user is *not* recommended." + msgstr "Rularea I2P ca root *nu* este recomandată." + + #: ../i2prouter:1872 +-msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." ++msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." + msgstr "" +-"Pentru a rula ca root, oricum, editati i2prouter și setați ALLOW_ROOT = " ++"Pentru a rula ca root, oricum, editati /etc/default/i2p și setați ALLOW_ROOT = " + "true." +diff --git a/installer/resources/locale/po/messages_ru.po b/installer/resources/locale/po/messages_ru.po +index a464245..e8f2d76 100644 --- a/installer/resources/locale/po/messages_ru.po +++ b/installer/resources/locale/po/messages_ru.po -@@ -193,16 +193,16 @@ +@@ -193,16 +193,16 @@ msgid "Request a Java thread dump if running." msgstr "Запросить дамп нитей Java, если запущено." #: ../i2prouter:1864 @@ -530,132 +477,238 @@ -"Чтобы всё равно запустить под root'ом, отредактируйте i2prouter и установите " +"Чтобы всё равно запустить под root'ом, отредактируйте /etc/default/i2p и установите " "ALLOW_ROOT=true." ---- a/installer/resources/locale/po/messages_sv.po -+++ b/installer/resources/locale/po/messages_sv.po -@@ -187,14 +187,14 @@ - msgstr "Fråga efter en Java thread dump vid drift." +diff --git a/installer/resources/locale/po/messages_sk.po b/installer/resources/locale/po/messages_sk.po +index 4a40f3f..7367ad5 100644 +--- a/installer/resources/locale/po/messages_sk.po ++++ b/installer/resources/locale/po/messages_sk.po +@@ -189,15 +189,15 @@ msgid "Request a Java thread dump if running." + msgstr "Vyžiadať zrušenie vlákna Javy, ak je spustený." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Var god ändra i2prouter och set variabeln RUN_AS_USER" +-msgstr "Prosím upravte i2prouter a nastavte premennú RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Var god ändra /etc/default/i2p och set variabeln RUN_AS_USER" ++msgstr "Prosím upravte /etc/default/i2p a nastavte premennú RUN_AS_USER" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "Att köra I2P som användare root är *inte* rekommenderat." + msgstr "Spúšťať I2P ako root *nie* je odporúčané." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" --"För att köra som root oavsett, ändra i2prouter och sätt ALLOW_ROOT=true" -+"För att köra som root oavsett, ändra /etc/default/i2p och sätt ALLOW_ROOT=true" ---- a/installer/resources/locale/po/messages_ro.po -+++ b/installer/resources/locale/po/messages_ro.po -@@ -187,15 +187,15 @@ - msgstr "Solicitarea dump-ului firului Java daca este pornit" +-"Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte " ++"Ak ho chcete spustiť ako root aj tak, upravte /etc/default/i2p a nastavte " + "ALLOW_ROOT=true." +diff --git a/installer/resources/locale/po/messages_sv.po b/installer/resources/locale/po/messages_sv.po +index bfbfad9..df4fe6a 100644 +--- a/installer/resources/locale/po/messages_sv.po ++++ b/installer/resources/locale/po/messages_sv.po +@@ -187,14 +187,14 @@ msgid "Request a Java thread dump if running." + msgstr "Fråga efter en Java thread dump vid drift." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Vă rugăm să editați i2prouter și setați variabila RUN_AS_USER " +-msgstr "Var god ändra i2prouter och set variabeln RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Vă rugăm să editați /etc/default/i2p și setați variabila RUN_AS_USER " ++msgstr "Var god ändra /etc/default/i2p och set variabeln RUN_AS_USER" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "Rularea I2P ca root *nu* este recomandată." + msgstr "Att köra I2P som användare root är *inte* rekommenderat." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" --"Pentru a rula ca root, oricum, editati i2prouter și setați ALLOW_ROOT = " -+"Pentru a rula ca root, oricum, editati /etc/default/i2p și setați ALLOW_ROOT = " - "true." ---- a/installer/resources/locale/po/messages_pt_BR.po -+++ b/installer/resources/locale/po/messages_pt_BR.po -@@ -190,15 +190,15 @@ - msgstr "Solicitar um despejo de thread se está sendo executado." +-"För att köra som root oavsett, ändra i2prouter och sätt ALLOW_ROOT=true" ++"För att köra som root oavsett, ändra /etc/default/i2p och sätt ALLOW_ROOT=true" +diff --git a/installer/resources/locale/po/messages_tr.po b/installer/resources/locale/po/messages_tr.po +index 1e1ec48..0e402a1 100644 +--- a/installer/resources/locale/po/messages_tr.po ++++ b/installer/resources/locale/po/messages_tr.po +@@ -188,15 +188,15 @@ msgid "Request a Java thread dump if running." + msgstr "Çalışıyorsa Java iş parçacığı dökümü isteyin." #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Por favor, edite i2prouter e especifique a variável RUN_AS_USER" +-msgstr "i2prouter dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Por favor, edite /etc/default/i2p e especifique a variável RUN_AS_USER" ++msgstr "/etc/default/i2p dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "Executar o roteador I2P como usuário root *não* é recomendado." + msgstr "I2P yazılımının root olarak çalıştırmanız *önerilmez*." #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" - "De qualquer forma, se quiser mesmo executar o roteador como root, edite " --"i2prouter e ponha ALLOW_ROOT=true." -+"/etc/default/i2p e ponha ALLOW_ROOT=true." ---- a/installer/resources/locale/po/messages_pl.po -+++ b/installer/resources/locale/po/messages_pl.po -@@ -191,13 +191,13 @@ - msgstr "Zażądaj zrzutu wątków Java jeśli jest uruchomiona." +-"Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve " ++"Root olarak çalıştırmak için /etc/default/i2p dosyasını düzenleyin ve " + "ALLOW_ROOT=true ayarını yapın." +diff --git a/installer/resources/locale/po/messages_zh.po b/installer/resources/locale/po/messages_zh.po +index 902cec7..299078e 100644 +--- a/installer/resources/locale/po/messages_zh.po ++++ b/installer/resources/locale/po/messages_zh.po +@@ -187,13 +187,13 @@ msgid "Request a Java thread dump if running." + msgstr "请求Java转储(如果在运行)。" #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Proszę edytuj i2prouter i ustaw zmienną RUN_AS_USER" +-msgstr "请编辑 i2prouter 设置 RUN_AS_USER 变量" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Proszę edytuj /etc/default/i2p i ustaw zmienną RUN_AS_USER" ++msgstr "请编辑 /etc/default/i2p 设置 RUN_AS_USER 变量" #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." - msgstr "Nie jest polecane uruchamianie I2P jako root." + msgstr "推荐 *不要* 以 root 身份运行 I2P 。" #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "Aby uruchomić jako root, edytuj i2prouter i ustaw ALLOW_ROOT=true." +-msgstr "要以root运行,请编辑 i2prouter 并设置 ALLOW_ROOT=true。" +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "Aby uruchomić jako root, edytuj /etc/default/i2p i ustaw ALLOW_ROOT=true." ---- a/installer/resources/locale/po/messages_ja.po -+++ b/installer/resources/locale/po/messages_ja.po -@@ -189,15 +189,15 @@ - msgstr "起動中の場合、 Java スレッドダンプを要求" ++msgstr "要以root运行,请编辑 /etc/default/i2p 并设置 ALLOW_ROOT=true。" +diff --git a/installer/resources/runplain.sh b/installer/resources/runplain.sh +index f1bf81d..e222cae 100644 +--- a/installer/resources/runplain.sh ++++ b/installer/resources/runplain.sh +@@ -11,8 +11,8 @@ + # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir + # should have been replaced by the izpack installer. + # If you did not run the installer, replace them with the appropriate path. +-I2P="%INSTALL_PATH" +-I2PTEMP="%SYSTEM_java_io_tmpdir" ++I2P="/usr/share/i2p" ++I2PTEMP="/tmp" - #: ../i2prouter:1864 --msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "i2prouter を編集して、変数 RUN_AS_USER を設定してください" -+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "/etc/default/i2p を編集して、変数 RUN_AS_USER を設定してください" + # Having IPv6 enabled can cause problems with certain configurations. Changing the + # next value to true may help. +diff --git a/installer/resources/wrapper.config b/installer/resources/wrapper.config +index 8ed9410..33b9d08 100644 +--- a/installer/resources/wrapper.config ++++ b/installer/resources/wrapper.config +@@ -8,22 +8,13 @@ + # click "Shutdown", wait 11 minutes, then start i2p. + # + # WARNING - The wrapper is NOT run (and this file is not used) +-# if you start I2P with the 'no window' icon on Windows, or +-# with the runplain.sh script on Linux. Use the 'restartable' +-# icon on Windows or the i2prouter script on Linux to run the wrapper. ++# if you start I2P with the i2prouter-nowrapper script in Linux. ++# Use i2prouter or the initscript to run the wrapper. + # + # NOTE - Directory organization: + # The standard I2P Installation will set up a "split" directory structure + # with code in the install directory, data and configuration files in the + # user's home directory, and temporary files in the system temporary directory. +-# To set up a single-directory "portable" installation suitable for +-# a USB stick, make several changes specified below (search for PORTABLE). +-# +-# NOTE - The izpack installer performs variable subsitiution on this +-# file upon installation. If you did not use izpack, you must +-# find and replace all instances of (dollar)INSTALL_PATH and +-# (dollar)SYSTEM_java_io_tmpdir with appropriate values +-# (perhaps . and /var/tmp, respectively) + # + #******************************************************************** + # Java Application +@@ -60,13 +51,14 @@ wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp + # classes, or all the classes of i2p.jar, are in a different directory). + # Be sure there are no other duplicate classes. + # +-wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar ++wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar ++wrapper.java.classpath.2=/usr/share/java/wrapper.jar + # uncomment this to use the system classpath as well (e.g. to get tools.jar) +-# wrapper.java.classpath.2=%CLASSPATH% ++# wrapper.java.classpath.3=%CLASSPATH% - #: ../i2prouter:1869 - msgid "Running I2P as the root user is *not* recommended." - msgstr "root ユーザーとしての I2P の起動は推奨され*ません*。" +-# Java Library Path (location of Wrapper.DLL or libwrapper.so) +-wrapper.java.library.path.1=$INSTALL_PATH +-wrapper.java.library.path.2=$INSTALL_PATH/lib ++# Java Library Path (location of libjbigi/libjcpuid) ++wrapper.java.library.path.1=/usr/lib/jni ++wrapper.java.library.path.2=/usr/share/java/lib - #: ../i2prouter:1872 --msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." - msgstr "" --"とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定す" -+"とにかく root として起動し、 /etc/default/i2p を編集して、ALLOW_ROOT=true と設定す" - "る。" ---- a/installer/resources/locale/po/messages_sk.po -+++ b/installer/resources/locale/po/messages_sk.po -@@ -189,15 +189,15 @@ - msgstr "Vyžiadať zrušenie vlákna Javy, ak je spustený." + # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode. + wrapper.java.additional.auto_bits=TRUE +@@ -74,7 +66,7 @@ wrapper.java.additional.auto_bits=TRUE + # Java Additional Parameters + # Numbers must be consecutive (except for stripquotes) + wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt +-wrapper.java.additional.2=-Di2p.dir.base="$INSTALL_PATH" ++wrapper.java.additional.2=-Di2p.dir.base=/usr/share/i2p + wrapper.java.additional.2.stripquotes=TRUE - #: ../i2prouter:1864 --msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Prosím upravte i2prouter a nastavte premennú RUN_AS_USER" -+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Prosím upravte /etc/default/i2p a nastavte premennú RUN_AS_USER" + # Prevent the JVM from exporting stats (and thereby causing hundreds of +@@ -146,11 +138,7 @@ wrapper.console.loglevel=INFO + # You may wish to change this. + # NOTE: On Linux/Mac this is overridden in the i2prouter script; changes here will have no effect. + # System temp directory: +-wrapper.logfile=$SYSTEM_java_io_tmpdir/wrapper.log +-# PORTABLE installation: +-# Use the following instead. I2P will find the logfile here, +-# no need for a wrapper.java.additional line too. +-#wrapper.logfile=$INSTALL_PATH/wrapper.log ++#wrapper.logfile=/tmp/wrapper.log - #: ../i2prouter:1869 - msgid "Running I2P as the root user is *not* recommended." - msgstr "Spúšťať I2P ako root *nie* je odporúčané." + # Format of output for the log file. + # The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread, +@@ -220,11 +208,7 @@ wrapper.use_system_time=false + # Linux/Mac users, do not set here, see settings in the i2prouter script. + # Directory must exist or the wrapper will fail to start. + # System temp directory: +-#wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid +-# PORTABLE installation: +-# Use the following instead. +-#wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid +-# pid file for the service monitoring the JVM ++#wrapper.java.pidfile=/tmp/routerjvm.pid + # + # From i2prouter: + # +@@ -238,10 +222,7 @@ wrapper.use_system_time=false + # Linux/Mac users, do not set here, see settings in the i2prouter script. + # Directory must exist or the wrapper will fail to start. + # System temp directory: +-#wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid +-# PORTABLE installation: +-# Use the following instead. +-#wrapper.pidfile=$INSTALL_PATH/i2p.pid ++#wrapper.pidfile=/tmp/i2p.pid - #: ../i2prouter:1872 --msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." - msgstr "" --"Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte " -+"Ak ho chcete spustiť ako root aj tak, upravte /etc/default/i2p a nastavte " - "ALLOW_ROOT=true." + #******************************************************************** + # Wrapper General Properties +@@ -258,30 +239,3 @@ wrapper.console.title=I2P Service + wrapper.umask=0022 + wrapper.java.umask=0022 + wrapper.logfile.umask=0077 +- +-#******************************************************************** +-# Wrapper NT Service Properties +-#******************************************************************** +-# WARNING - Do not modify any of these properties when an application +-# using this configuration file has been installed as a service. +-# Please uninstall the service before modifying this section. The +-# service can then be reinstalled. +- +-# Name of the service +-wrapper.ntservice.name=i2p +- +-# Display name of the service +-wrapper.ntservice.displayname=I2P Service +- +-# Description of the service +-wrapper.ntservice.description=The I2P router service +- +-# Service dependencies. Add dependencies as needed starting from 1 +-wrapper.ntservice.dependency.1= +- +-# Mode in which the service is installed. AUTO_START or DEMAND_START +-wrapper.ntservice.starttype=AUTO_START +- +-# Allow the service to interact with the desktop. +-wrapper.ntservice.interactive=false +- diff -Nru i2p-0.9.23/debian/patches/0004-remove-launch4j.patch i2p-0.9.23/debian/patches/0004-remove-launch4j.patch --- i2p-0.9.23/debian/patches/0004-remove-launch4j.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0004-remove-launch4j.patch 2015-12-06 17:25:31.000000000 +0000 @@ -7,10 +7,10 @@ 1 file changed, 11 deletions(-) diff --git a/build.xml b/build.xml -index c6dba9e..a3cb7cb 100644 +index 9544491..ce106bf 100644 --- a/build.xml +++ b/build.xml -@@ -1171,18 +1171,7 @@ +@@ -1174,18 +1174,7 @@ diff -Nru i2p-0.9.23/debian/patches/0005-Console-Fix-escaping-of-plugin-description-on-config.patch i2p-0.9.23/debian/patches/0005-Console-Fix-escaping-of-plugin-description-on-config.patch --- i2p-0.9.23/debian/patches/0005-Console-Fix-escaping-of-plugin-description-on-config.patch 1970-01-01 00:00:00.000000000 +0000 +++ i2p-0.9.23/debian/patches/0005-Console-Fix-escaping-of-plugin-description-on-config.patch 2015-12-06 17:25:31.000000000 +0000 @@ -0,0 +1,85 @@ +From: zzz +Date: Sat, 21 Nov 2015 17:39:10 +0000 +Subject: Console: Fix escaping of plugin description on /configclients + (ticket #1711) + +--- + .../java/src/net/i2p/router/web/ConfigClientsHelper.java | 11 ++++++----- + history.txt | 5 ++++- + router/java/src/net/i2p/router/RouterVersion.java | 2 +- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +index 86d0648..de4e85f 100644 +--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java ++++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +@@ -151,7 +151,7 @@ public class ConfigClientsHelper extends HelperBase { + //"webConsole".equals(ca.clientName) || "Web console".equals(ca.clientName), + false, RouterConsoleRunner.class.getName().equals(ca.className), + // description +- ca.className + ((ca.args != null) ? " " + ca.args : ""), ++ DataHelper.escapeHTML(ca.className + ((ca.args != null) ? " " + ca.args : "")), + // edit + allowEdit && (""+cur).equals(_edit), + // show edit button, show update button +@@ -212,7 +212,7 @@ public class ConfigClientsHelper extends HelperBase { + boolean isRunning = WebAppStarter.isWebAppRunning(app); + renderForm(buf, app, app, !"addressbook".equals(app), + "true".equals(val), RouterConsoleRunner.ROUTERCONSOLE.equals(app), +- RouterConsoleRunner.ROUTERCONSOLE.equals(app), app + ".war", ++ RouterConsoleRunner.ROUTERCONSOLE.equals(app), DataHelper.escapeHTML(app + ".war"), + false, false, false, isRunning, false, !isRunning); + } + } +@@ -316,14 +316,15 @@ public class ConfigClientsHelper extends HelperBase { + /** + * Misnamed, renders a single line in a table for a single client/webapp/plugin. + * +- * ro trumps edit and showEditButton ++ * @param name will be escaped here ++ * @param ro trumps edit and showEditButton ++ * @param escapedDesc description, must be HTML escaped, except for plugins + */ + private void renderForm(StringBuilder buf, String index, String name, boolean urlify, +- boolean enabled, boolean ro, boolean preventDisable, String desc, boolean edit, ++ boolean enabled, boolean ro, boolean preventDisable, String escapedDesc, boolean edit, + boolean showEditButton, boolean showUpdateButton, boolean showStopButton, + boolean showDeleteButton, boolean showStartButton) { + String escapedName = DataHelper.escapeHTML(name); +- String escapedDesc = DataHelper.escapeHTML(desc); + buf.append(""); + if (urlify && enabled) { + String link = "/"; +diff --git a/history.txt b/history.txt +index 8fe684b..d8ac9f1 100644 +--- a/history.txt ++++ b/history.txt +@@ -1,3 +1,6 @@ ++2015-11-21 zzz ++ * Console: Fix escaping of plugin description on /configclients (ticket #1711) ++ + * 2015-11-19 0.9.23 released + + 2015-11-19 str4d +@@ -9,7 +12,7 @@ + * Translation updates + + 2015-11-13 zab +- * Interrupt() when cancelling scheduled tasks ++ * Interrupt() when cancelling scheduled tasks (tickets #1694, #1705) + + 2015-11-13 zzz + * Console: Fix lifetime participating bandwidth display (ticket #1706) +diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java +index a411b00..87e5bff 100644 +--- a/router/java/src/net/i2p/router/RouterVersion.java ++++ b/router/java/src/net/i2p/router/RouterVersion.java +@@ -18,7 +18,7 @@ public class RouterVersion { + /** deprecated */ + public final static String ID = "Monotone"; + public final static String VERSION = CoreVersion.VERSION; +- public final static long BUILD = 0; ++ public final static long BUILD = 1; + + /** for example "-test" */ + public final static String EXTRA = ""; diff -Nru i2p-0.9.23/debian/patches/0005-i2ptunnel-Don-t-connect-manager-to-router-in-constru.patch i2p-0.9.23/debian/patches/0005-i2ptunnel-Don-t-connect-manager-to-router-in-constru.patch --- i2p-0.9.23/debian/patches/0005-i2ptunnel-Don-t-connect-manager-to-router-in-constru.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0005-i2ptunnel-Don-t-connect-manager-to-router-in-constru.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -From: str4d -Date: Thu, 4 Jun 2015 22:25:44 +0000 -Subject: i2ptunnel: Don't connect manager to router in constructor (ticket - #815) - -Conflicts: - history.txt ---- - .../src/net/i2p/i2ptunnel/I2PTunnelClientBase.java | 37 +++++++--------------- - 1 file changed, 12 insertions(+), 25 deletions(-) - -diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -index 2d4d7e0..a250822 100644 ---- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -@@ -119,9 +119,13 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - - /** - * The main constructor. -- * -- * As of 0.9.20 this is fast, and does NOT connect the manager to the router, -+ *

-+ * As of 0.9.21 this is fast, and does NOT connect the manager to the router, - * or open the local socket. You MUST call startRunning() for that. -+ *

-+ * (0.9.20 claimed to be fast, but due to a bug it DID connect the manager -+ * to the router. It did NOT open the local socket however, so it was still -+ * necessary to call startRunning() for that.) - * - * @param localPort if 0, use any port, get actual port selected with getLocalPort() - * @throws IllegalArgumentException if the I2CP configuration is b0rked so -@@ -135,9 +139,13 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - - /** - * Use this to build a client with a persistent private key. -- * -- * As of 0.9.20 this is fast, and does NOT connect the manager to the router, -+ *

-+ * As of 0.9.21 this is fast, and does NOT connect the manager to the router, - * or open the local socket. You MUST call startRunning() for that. -+ *

-+ * (0.9.20 claimed to be fast, but due to a bug it DID connect the manager -+ * to the router. It did NOT open the local socket however, so it was still -+ * necessary to call startRunning() for that.) - * - * @param localPort if 0, use any port, get actual port selected with getLocalPort() - * @param pkf Path to the private key file, or null to generate a transient key -@@ -178,27 +186,6 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - tunnel.getClientOptions().setProperty("i2cp.dontPublishLeaseSet", "true"); - if (tunnel.getClientOptions().getProperty("i2p.streaming.answerPings") == null) - tunnel.getClientOptions().setProperty("i2p.streaming.answerPings", "false"); -- -- boolean openNow = !Boolean.parseBoolean(tunnel.getClientOptions().getProperty("i2cp.delayOpen")); -- if (openNow) { -- while (sockMgr == null) { -- verifySocketManager(); -- if (sockMgr == null) { -- _log.error("Unable to connect to router and build tunnels for " + handlerName); -- // FIXME there is a loop in buildSocketManager(), do we really need another one here? -- // no matter, buildSocketManager() now throws an IllegalArgumentException -- try { Thread.sleep(10*1000); } catch (InterruptedException ie) {} -- } -- } -- // can't be null unless we limit the loop above -- //if (sockMgr == null) { -- // l.log("Invalid I2CP configuration"); -- // throw new IllegalArgumentException("Socket manager could not be created"); -- //} -- l.log("Tunnels ready for client: " + handlerName); -- -- } // else delay creating session until createI2PSocket() is called -- - } - - /** diff -Nru i2p-0.9.23/debian/patches/0006-i2ptunnel-Don-t-call-startup-in-chained-constructor-.patch i2p-0.9.23/debian/patches/0006-i2ptunnel-Don-t-call-startup-in-chained-constructor-.patch --- i2p-0.9.23/debian/patches/0006-i2ptunnel-Don-t-call-startup-in-chained-constructor-.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0006-i2ptunnel-Don-t-call-startup-in-chained-constructor-.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -From: str4d -Date: Thu, 4 Jun 2015 22:34:13 +0000 -Subject: i2ptunnel: Don't call startup() in chained constructor (ticket #1593) - -Conflicts: - history.txt ---- - .../java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -index a250822..19984db 100644 ---- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -@@ -90,8 +90,11 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - public static final String PROP_USE_SSL = I2PTunnelServer.PROP_USE_SSL; - - /** -- * This constructor always starts the tunnel (ignoring the i2cp.delayOpen option). -- * It is used to add a client to an existing socket manager. -+ * This constructor is used to add a client to an existing socket manager. -+ *

-+ * As of 0.9.21 this does NOT open the local socket. You MUST call -+ * {@link #startRunning()} for that. The local socket will be opened -+ * immediately (ignoring the i2cp.delayOpen option). - * - * @param localPort if 0, use any port, get actual port selected with getLocalPort() - * @param sktMgr the existing socket manager -@@ -113,8 +116,6 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - _context.statManager().createRateStat("i2ptunnel.client.manageTime", "How long it takes to accept a socket and fire it into an i2ptunnel runner (or queue it for the pool)?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); - _context.statManager().createRateStat("i2ptunnel.client.buildRunTime", "How long it takes to run a queued socket into an i2ptunnel runner?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); - _log = _context.logManager().getLog(getClass()); -- -- startup(); - } - - /** -@@ -523,7 +524,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - - if (open && listenerReady) { - boolean openNow = !Boolean.parseBoolean(getTunnel().getClientOptions().getProperty("i2cp.delayOpen")); -- if (openNow) -+ if (openNow || chained) - l.log("Client ready, listening on " + getTunnel().listenHost + ':' + localPort); - else - l.log("Client ready, listening on " + getTunnel().listenHost + ':' + localPort + ", delaying tunnel open until required"); diff -Nru i2p-0.9.23/debian/patches/0006-NetDb-Fix-deadlock-ticket-1722.patch i2p-0.9.23/debian/patches/0006-NetDb-Fix-deadlock-ticket-1722.patch --- i2p-0.9.23/debian/patches/0006-NetDb-Fix-deadlock-ticket-1722.patch 1970-01-01 00:00:00.000000000 +0000 +++ i2p-0.9.23/debian/patches/0006-NetDb-Fix-deadlock-ticket-1722.patch 2015-12-06 17:25:31.000000000 +0000 @@ -0,0 +1,100 @@ +From: zzz +Date: Thu, 3 Dec 2015 18:07:29 +0000 +Subject: NetDb: Fix deadlock (ticket #1722) + +--- + history.txt | 3 +++ + router/java/src/net/i2p/router/Router.java | 14 ++++++++++++++ + router/java/src/net/i2p/router/RouterContext.java | 3 +++ + .../i2p/router/networkdb/kademlia/IterativeSearchJob.java | 4 +++- + 4 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/history.txt b/history.txt +index d8ac9f1..b9c3ad9 100644 +--- a/history.txt ++++ b/history.txt +@@ -1,3 +1,6 @@ ++2015-12-03 zzz ++ * NetDb: Fix deadlock (ticket #1722) ++ + 2015-11-21 zzz + * Console: Fix escaping of plugin description on /configclients (ticket #1711) + +diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java +index 426da4a..f223dd3 100644 +--- a/router/java/src/net/i2p/router/Router.java ++++ b/router/java/src/net/i2p/router/Router.java +@@ -487,6 +487,9 @@ public class Router implements RouterClock.ClockShiftListener { + /** + * Our current router info. + * Warning, may be null if called very early. ++ * ++ * Warning - risk of deadlock - do not call while holding locks ++ * + */ + public RouterInfo getRouterInfo() { + synchronized (_routerInfoLock) { +@@ -497,6 +500,9 @@ public class Router implements RouterClock.ClockShiftListener { + /** + * Caller must ensure info is valid - no validation done here. + * Not for external use. ++ * ++ * Warning - risk of deadlock - do not call while holding locks ++ * + */ + public void setRouterInfo(RouterInfo info) { + synchronized (_routerInfoLock) { +@@ -805,6 +811,9 @@ public class Router implements RouterClock.ClockShiftListener { + * Rebuild and republish our routerInfo since something significant + * has changed. + * Not for external use. ++ * ++ * Warning - risk of deadlock - do not call while holding locks ++ * + */ + public void rebuildRouterInfo(boolean blockingRebuild) { + if (_log.shouldLog(Log.INFO)) +@@ -958,6 +967,11 @@ public class Router implements RouterClock.ClockShiftListener { + } + } + ++ /* ++ * ++ * Warning - risk of deadlock - do not call while holding locks ++ * ++ */ + public boolean isHidden() { + RouterInfo ri; + synchronized (_routerInfoLock) { +diff --git a/router/java/src/net/i2p/router/RouterContext.java b/router/java/src/net/i2p/router/RouterContext.java +index 87bc22b..2698faa 100644 +--- a/router/java/src/net/i2p/router/RouterContext.java ++++ b/router/java/src/net/i2p/router/RouterContext.java +@@ -261,6 +261,9 @@ public class RouterContext extends I2PAppContext { + /** + * Convenience method for getting the router hash. + * Equivalent to context.router().getRouterInfo().getIdentity().getHash() ++ * ++ * Warning - risk of deadlock - do not call while holding locks ++ * + * @return may be null if called very early + */ + public Hash routerHash() { +diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java +index 251bd73..68c2c23 100644 +--- a/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java ++++ b/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java +@@ -199,10 +199,12 @@ class IterativeSearchJob extends FloodSearchJob { + } + } + final boolean empty; ++ // outside sync to avoid deadlock ++ final Hash us = getContext().routerHash(); + synchronized(this) { + _toTry.addAll(floodfillPeers); + // don't ask ourselves or the target +- _toTry.remove(getContext().routerHash()); ++ _toTry.remove(us); + _toTry.remove(_key); + empty = _toTry.isEmpty(); + } diff -Nru i2p-0.9.23/debian/patches/0007-Define-I2PTunnelClientBase-stats-in-one-place.patch i2p-0.9.23/debian/patches/0007-Define-I2PTunnelClientBase-stats-in-one-place.patch --- i2p-0.9.23/debian/patches/0007-Define-I2PTunnelClientBase-stats-in-one-place.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0007-Define-I2PTunnelClientBase-stats-in-one-place.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ -From: str4d -Date: Thu, 4 Jun 2015 22:36:45 +0000 -Subject: Define I2PTunnelClientBase stats in one place - ---- - .../src/net/i2p/i2ptunnel/I2PTunnelClientBase.java | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -index 19984db..6972063 100644 ---- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java -@@ -111,10 +111,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - this.l = l; - _ownDest = true; // == ! shared client - _context = tunnel.getContext(); -- _context.statManager().createRateStat("i2ptunnel.client.closeBacklog", "How many pending sockets remain when we close one due to backlog?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.closeNoBacklog", "How many pending sockets remain when it was removed prior to backlog timeout?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.manageTime", "How long it takes to accept a socket and fire it into an i2ptunnel runner (or queue it for the pool)?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.buildRunTime", "How long it takes to run a queued socket into an i2ptunnel runner?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ initStats(); - _log = _context.logManager().getLog(getClass()); - } - -@@ -165,10 +162,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - _handlerName = handlerName; - - _context = tunnel.getContext(); -- _context.statManager().createRateStat("i2ptunnel.client.closeBacklog", "How many pending sockets remain when we close one due to backlog?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.closeNoBacklog", "How many pending sockets remain when it was removed prior to backlog timeout?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.manageTime", "How long it takes to accept a socket and fire it into an i2ptunnel runner (or queue it for the pool)?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -- _context.statManager().createRateStat("i2ptunnel.client.buildRunTime", "How long it takes to run a queued socket into an i2ptunnel runner?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ initStats(); - _log = _context.logManager().getLog(getClass()); - - // normalize path so we can find it -@@ -188,7 +182,14 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna - if (tunnel.getClientOptions().getProperty("i2p.streaming.answerPings") == null) - tunnel.getClientOptions().setProperty("i2p.streaming.answerPings", "false"); - } -- -+ -+ private void initStats() { -+ _context.statManager().createRateStat("i2ptunnel.client.closeBacklog", "How many pending sockets remain when we close one due to backlog?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ _context.statManager().createRateStat("i2ptunnel.client.closeNoBacklog", "How many pending sockets remain when it was removed prior to backlog timeout?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ _context.statManager().createRateStat("i2ptunnel.client.manageTime", "How long it takes to accept a socket and fire it into an i2ptunnel runner (or queue it for the pool)?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ _context.statManager().createRateStat("i2ptunnel.client.buildRunTime", "How long it takes to run a queued socket into an i2ptunnel runner?", "I2PTunnel", new long[] { 60*1000, 10*60*1000, 60*60*1000 }); -+ } -+ - /** - * Create the manager if it doesn't exist, AND connect it to the router and - * build tunnels. diff -Nru i2p-0.9.23/debian/patches/0008-i2psnark-Fix-NPE-ticket-1602.patch i2p-0.9.23/debian/patches/0008-i2psnark-Fix-NPE-ticket-1602.patch --- i2p-0.9.23/debian/patches/0008-i2psnark-Fix-NPE-ticket-1602.patch 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/0008-i2psnark-Fix-NPE-ticket-1602.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -From: zzz -Date: Sat, 13 Jun 2015 14:20:08 +0000 -Subject: i2psnark: Fix NPE (ticket #1602) - ---- - apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java -index b937043..b9142e2 100644 ---- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java -+++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java -@@ -1738,7 +1738,7 @@ public class SnarkManager implements CompleteListener { - int totalDeleted = 0; - synchronized (_snarks) { - for (Snark snark : _snarks.values()) { -- torrents.add(new SHA1Hash(snark.getMetaInfo().getInfoHash())); -+ torrents.add(new SHA1Hash(snark.getInfoHash())); - } - synchronized (_configLock) { - for (int i = 0; i < B64.length(); i++) { diff -Nru i2p-0.9.23/debian/patches/series i2p-0.9.23/debian/patches/series --- i2p-0.9.23/debian/patches/series 2015-11-19 16:58:25.000000000 +0000 +++ i2p-0.9.23/debian/patches/series 2015-12-06 17:25:31.000000000 +0000 @@ -2,3 +2,5 @@ 0002-jbigi-soname.patch 0003-rename-jcpuid.patch 0004-remove-launch4j.patch +0005-Console-Fix-escaping-of-plugin-description-on-config.patch +0006-NetDb-Fix-deadlock-ticket-1722.patch diff -Nru i2p-0.9.23/debian/po/cs.po i2p-0.9.23/debian/po/cs.po --- i2p-0.9.23/debian/po/cs.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/cs.po 2015-12-06 17:25:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Czech (http://www.transifex.com/projects/p/I2P/language/cs/)\n" diff -Nru i2p-0.9.23/debian/po/de.po i2p-0.9.23/debian/po/de.po --- i2p-0.9.23/debian/po/de.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/de.po 2015-12-06 17:25:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 16:34+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/el.po i2p-0.9.23/debian/po/el.po --- i2p-0.9.23/debian/po/el.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/el.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Greek (http://www.transifex.com/projects/p/I2P/language/el/)\n" diff -Nru i2p-0.9.23/debian/po/es.po i2p-0.9.23/debian/po/es.po --- i2p-0.9.23/debian/po/es.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/es.po 2015-12-06 17:25:42.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 23:53+0000\n" "Last-Translator: strel\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/fi.po i2p-0.9.23/debian/po/fi.po --- i2p-0.9.23/debian/po/fi.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/fi.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 15:00+0000\n" "Last-Translator: oselotti\n" "Language-Team: Finnish (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/fr.po i2p-0.9.23/debian/po/fr.po --- i2p-0.9.23/debian/po/fr.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/fr.po 2015-12-06 17:25:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-04-09 16:53+0000\n" "Last-Translator: Towinet\n" "Language-Team: French (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/hu.po i2p-0.9.23/debian/po/hu.po --- i2p-0.9.23/debian/po/hu.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/hu.po 2015-12-06 17:25:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/id.po i2p-0.9.23/debian/po/id.po --- i2p-0.9.23/debian/po/id.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/id.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/it.po i2p-0.9.23/debian/po/it.po --- i2p-0.9.23/debian/po/it.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/it.po 2015-12-06 17:25:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Italian (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/ja.po i2p-0.9.23/debian/po/ja.po --- i2p-0.9.23/debian/po/ja.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/ja.po 2015-12-06 17:25:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-04-01 09:06+0000\n" "Last-Translator: a1678991 \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/ko.po i2p-0.9.23/debian/po/ko.po --- i2p-0.9.23/debian/po/ko.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/ko.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-05-15 16:18+0000\n" "Last-Translator: Choi Yeon-Ung \n" "Language-Team: Korean (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/nl.po i2p-0.9.23/debian/po/nl.po --- i2p-0.9.23/debian/po/nl.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/nl.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/I2P/language/nl/)\n" diff -Nru i2p-0.9.23/debian/po/pl.po i2p-0.9.23/debian/po/pl.po --- i2p-0.9.23/debian/po/pl.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/pl.po 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/pt_BR.po i2p-0.9.23/debian/po/pt_BR.po --- i2p-0.9.23/debian/po/pt_BR.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/pt_BR.po 2015-12-06 17:25:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/" diff -Nru i2p-0.9.23/debian/po/pt.po i2p-0.9.23/debian/po/pt.po --- i2p-0.9.23/debian/po/pt.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/pt.po 2015-12-06 17:25:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-31 20:53+0000\n" "Last-Translator: wtfisthis \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/ro.po i2p-0.9.23/debian/po/ro.po --- i2p-0.9.23/debian/po/ro.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/ro.po 2015-12-06 17:25:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/ru.po i2p-0.9.23/debian/po/ru.po --- i2p-0.9.23/debian/po/ru.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/ru.po 2015-12-06 17:25:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-05-15 12:40+0000\n" "Last-Translator: Maxym Mykhalchuk\n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/I2P/" diff -Nru i2p-0.9.23/debian/po/sk.po i2p-0.9.23/debian/po/sk.po --- i2p-0.9.23/debian/po/sk.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/sk.po 2015-12-06 17:25:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/sq.po i2p-0.9.23/debian/po/sq.po --- i2p-0.9.23/debian/po/sq.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/sq.po 2015-12-06 17:25:43.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/I2P/language/" diff -Nru i2p-0.9.23/debian/po/sv.po i2p-0.9.23/debian/po/sv.po --- i2p-0.9.23/debian/po/sv.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/sv.po 2015-12-06 17:25:43.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-04-24 21:35+0000\n" "Last-Translator: cacapo \n" "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/I2P/" diff -Nru i2p-0.9.23/debian/po/templates.pot i2p-0.9.23/debian/po/templates.pot --- i2p-0.9.23/debian/po/templates.pot 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/templates.pot 2015-12-06 17:25:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: i2p\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff -Nru i2p-0.9.23/debian/po/tr.po i2p-0.9.23/debian/po/tr.po --- i2p-0.9.23/debian/po/tr.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/tr.po 2015-12-06 17:25:43.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 14:31+0000\n" "Last-Translator: kytv \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/I2P/" diff -Nru i2p-0.9.23/debian/po/uk.po i2p-0.9.23/debian/po/uk.po --- i2p-0.9.23/debian/po/uk.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/uk.po 2015-12-06 17:25:43.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-04-08 20:08+0000\n" "Last-Translator: madjong \n" "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/I2P/" diff -Nru i2p-0.9.23/debian/po/zh.po i2p-0.9.23/debian/po/zh.po --- i2p-0.9.23/debian/po/zh.po 2015-11-19 16:58:33.000000000 +0000 +++ i2p-0.9.23/debian/po/zh.po 2015-12-06 17:25:43.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: i2p@packages.debian.org\n" -"POT-Creation-Date: 2015-11-19 18:58+0200\n" +"POT-Creation-Date: 2015-12-06 19:25+0200\n" "PO-Revision-Date: 2015-03-29 15:00+0000\n" "Last-Translator: YF \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/I2P/"