Skip to content

Commit

Permalink
2.22.0
Browse files Browse the repository at this point in the history
  • Loading branch information
r4sas committed Nov 9, 2018
1 parent 8d0b696 commit 7792288
Show file tree
Hide file tree
Showing 15 changed files with 42 additions and 15 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# for this file format description,
# see https://github.com/olivierlacan/keep-a-changelog

## [2.22.0] - 2018-11-09
### Added
- Multiple tunnel config files from tunnels.d folder
### Changed
- Fetch own RouterInfo upon SessionRequest for NTCP2
- Faster XOR between AES blocks for non AVX capable CPUs
### Fixed
- Fixed NTCP2 termination send

## [2.21.1] - 2018-10-22
### Changed
- cost=13 for unpublished NTCP2 address
Expand Down
2 changes: 1 addition & 1 deletion Win32/installer.iss
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define I2Pd_AppName "i2pd"
#define I2Pd_ver "2.21.1"
#define I2Pd_ver "2.22.0"
#define I2Pd_Publisher "PurpleI2P"

[Setup]
Expand Down
2 changes: 1 addition & 1 deletion android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
package="org.purplei2p.i2pd"
android:installLocation="auto"
android:versionCode="1"
android:versionName="2.21.1">
android:versionName="2.22.0">

<uses-sdk
android:minSdkVersion="14"
Expand Down
1 change: 1 addition & 0 deletions android/assets/i2pd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#logfile = /sdcard/i2pd/i2pd.log
loglevel = none
#tunnelsdir = /sdcard/i2pd/tunnels.d

# host = 1.2.3.4
# port = 4567
Expand Down
1 change: 1 addition & 0 deletions android/assets/tunnels.d
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ android {
targetSdkVersion 28
minSdkVersion 14
versionCode 1
versionName "2.21.1"
versionName "2.22.0"
ndk {
abiFilters 'armeabi-v7a'
abiFilters 'x86'
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 2.21.1.{build}
version: 2.22.0.{build}
pull_requests:
do_not_increment_build_number: true
branches:
Expand Down
5 changes: 4 additions & 1 deletion contrib/rpm/i2pd-git.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
%define git_hash %(git rev-parse HEAD | cut -c -7)

Name: i2pd-git
Version: 2.21.1
Version: 2.22.0
Release: git%{git_hash}%{?dist}
Summary: I2P router written in C++
Conflicts: i2pd
Expand Down Expand Up @@ -102,5 +102,8 @@ getent passwd i2pd >/dev/null || \


%changelog
* Fri Nov 09 2018 r4sas <[email protected]> - 2.22.0
- add support of tunnelsdir option

* Thu Feb 01 2018 r4sas <[email protected]> - 2.18.0
- Initial i2pd-git based on i2pd 2.18.0-1 spec
6 changes: 5 additions & 1 deletion contrib/rpm/i2pd.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: i2pd
Version: 2.21.1
Version: 2.22.0
Release: 1%{?dist}
Summary: I2P router written in C++
Conflicts: i2pd-git
Expand Down Expand Up @@ -100,6 +100,10 @@ getent passwd i2pd >/dev/null || \


%changelog
* Fri Nov 09 2018 r4sas <[email protected]> - 2.22.0
- update to 2.22.0
- add support of tunnelsdir option

* Thu Oct 22 2018 orignal <[email protected]> - 2.21.1
- update to 2.21.1

Expand Down
4 changes: 2 additions & 2 deletions debian/.gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
debhelper-build-stamp
files
i2pd-dbg.substvars
i2pd-dbg/
i2pd.postinst.debhelper
i2pd.postrm.debhelper
i2pd.prerm.debhelper
i2pd.substvars
i2pd/

i2pd-dbg/
9 changes: 9 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
i2pd (2.22.0-1) unstable; urgency=medium

* updated to version 2.22.0/0.9.37
* update manpage (1)
* update links, install files to support tunnelsdir option
* renamed and updated patch (#1210)

-- r4sas <[email protected]> Fri, 09 Nov 2018 02:00:00 +0000

i2pd (2.21.1-1) unstable; urgency=medium

* updated to version 2.21.1
Expand Down
6 changes: 3 additions & 3 deletions debian/patches/fix-#1210 → debian/patches/02-fix-1210.patch
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Bug: https://github.com/PurpleI2P/i2pd/issues/1210
Reviewed-By: r4sas <[email protected]>
Last-Update: 2018-08-25

--- i2pd-2.20.0.orig/contrib/i2pd.service
+++ i2pd-2.20.0/contrib/i2pd.service
--- a/contrib/i2pd.service
+++ b/contrib/i2pd.service
@@ -6,10 +6,10 @@ After=network.target
[Service]
User=i2pd
Expand All @@ -21,5 +21,5 @@ Last-Update: 2018-08-25
+#LogsDirectory=i2pd
+#LogsDirectoryMode=0700
Type=forking
ExecStart=/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --pidfile=/var/run/i2pd/i2pd.pid --logfile=/var/log/i2pd/i2pd.log --daemon --service
ExecStart=/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tunnelsdir=/etc/i2pd/tunnels.conf.d --pidfile=/var/run/i2pd/i2pd.pid --logfile=/var/log/i2pd/i2pd.log --daemon --service
ExecReload=/bin/kill -HUP $MAINPID
2 changes: 1 addition & 1 deletion debian/patches/series
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
01-tune-build-opts.patch
fix-#1210
02-fix-1210.patch
4 changes: 2 additions & 2 deletions libi2pd/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
#define MAKE_VERSION(a,b,c) STRINGIZE(a) "." STRINGIZE(b) "." STRINGIZE(c)

#define I2PD_VERSION_MAJOR 2
#define I2PD_VERSION_MINOR 21
#define I2PD_VERSION_MICRO 1
#define I2PD_VERSION_MINOR 22
#define I2PD_VERSION_MICRO 0
#define I2PD_VERSION_PATCH 0
#define I2PD_VERSION MAKE_VERSION(I2PD_VERSION_MAJOR, I2PD_VERSION_MINOR, I2PD_VERSION_MICRO)
#define VERSION I2PD_VERSION
Expand Down
2 changes: 1 addition & 1 deletion qt/i2pd_qt/android/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<manifest package="org.purplei2p.i2pd" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.21.1" android:versionCode="1" android:installLocation="auto">
<manifest package="org.purplei2p.i2pd" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.22.0" android:versionCode="1" android:installLocation="auto">
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="23"/>
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<!-- <application android:hardwareAccelerated="true" -->
Expand Down

31 comments on commit 7792288

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На этот раз вроде бы нормально собирается и запускается.
При сборке намекает на лишнюю зависимось, но это и раньше было, не помню когда появилось.
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/i2pd/usr/sbin/i2pd was not linked against libatomic.so.1 (it uses none of the library's symbols)

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это было добавлено в #1226.

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А такая матрёшка tunnels.conf.d/tunnels.d так и задумана?

user1@black2:/etc/i2pd/tunnels.conf.d/tunnels.d$ ls -l
total 12
-rw-r--r-- 1 root root 136 Nov  8 13:55 IRC-Ilita.conf
-rw-r--r-- 1 root root 137 Nov  8 13:55 IRC-Irc2P.conf
-rw-r--r-- 1 root root  72 Nov  8 13:55 README

@l-n-s
Copy link
Member

@l-n-s l-n-s commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Торопимся куда-то, может эту фичу в пакеты добавить в следующем релизе?

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

хм... странная матрешка...
Пускай будет пока что так, как образовательный материал)

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LLE8 всему виной отсутствующий слеш в конце туннеля. Но вот мне кажется так не удастся скопировать именно содержимое папки... Ща буду пытать.

contrib/tunnels.d/ etc/i2pd/tunnels.conf.d

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавил слеш в debian/i2pd.install

i2pd usr/sbin/
contrib/i2pd.conf      etc/i2pd/
contrib/tunnels.conf etc/i2pd/
contrib/subscriptions.txt etc/i2pd/
contrib/certificates/ usr/share/i2pd/
contrib/tunnels.d/ etc/i2pd/tunnels.conf.d/
contrib/apparmor/usr.sbin.i2pd etc/apparmor.d

пересобрал, но матрешка не исчезла. Или я что-то неправильно понял?

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я потом сообщение дописал что возможно матрешка так не излечится...
Надо будет посмотеть как именно содержимое папки инсталлить

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кстати вполне корректно скорее всего инсталить туда только README файл, без примеров.
Переделать так?

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не, примеры пускай будут, и может быть именно в таком виде, с # в начале каждой строчки, в вверху написать типа "уберите при необходимости"

## Remove # to enable
#[IRC-ILITA]
#type = client
#address = 127.0.0.1
#port = 6669
#destination = irc.ilita.i2p
#destinationport = 6667
#keys = irc-keys.dat

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так дело в том, что его удалишь, он опять создастся после обновления))))

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Конфиги при обновлениях обычно не портятся, насколько я понимаю?

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, они не портятся, но если отсутствуют, то dpkg опять зальёт файл. т.е. Ilita.conf, Irc2P.conf и README будут пересоздаваться после обновления.

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну и пускай пересоздаются, если в них все строчки будут забиты #, то они никому мешать не будут

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Есть вариант положить эти файлы в /usr/share/docs/i2pd/tunnels.d/

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я попробовал так, тупо пофайлово, вроде нормально получилось

i2pd usr/sbin/
contrib/i2pd.conf      etc/i2pd/
contrib/tunnels.conf etc/i2pd/
contrib/subscriptions.txt etc/i2pd/
contrib/certificates/ usr/share/i2pd/
contrib/tunnels.d/README etc/i2pd/tunnels.conf.d/
contrib/tunnels.d/IRC-Ilita.conf etc/i2pd/tunnels.conf.d/
contrib/tunnels.d/IRC-Irc2P.conf etc/i2pd/tunnels.conf.d/
contrib/apparmor/usr.sbin.i2pd etc/apparmor.d/

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://www.debian.org/doc/manuals/maint-guide/dother.en.html
5.5 и 5.11
Судя по описанию файл install не подразумевает переименования директорий, в нем пишутся инструкции по тупому копированию того, что слева туда, что справа.

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И еще заметил, что в файлах IRC-Irc2P.conf и README не хватает в конце байта перевода строки 0x0A.

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Есть вариант положить эти файлы в /usr/share/docs/i2pd/tunnels.d/

кажется хороший вариант, но не docs, а doc, у меня так в Stretch

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я по памяти путь написал.

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как то так сделать:

diff --git a/contrib/tunnels.d/IRC-Irc2P.conf b/contrib/tunnels.d/IRC-Irc2P.conf
index 7255f9d5..97da71dc 100644
--- a/contrib/tunnels.d/IRC-Irc2P.conf
+++ b/contrib/tunnels.d/IRC-Irc2P.conf
@@ -4,4 +4,4 @@
 #port = 6668
 #destination = irc.postman.i2p
 #destinationport = 6667
-#keys = irc-keys.dat
\ No newline at end of file
+#keys = irc-keys.dat
diff --git a/contrib/tunnels.d/README b/contrib/tunnels.d/README
index 3ac3c1a3..7b07c4be 100644
--- a/contrib/tunnels.d/README
+++ b/contrib/tunnels.d/README
@@ -1 +1,4 @@
-In that directory you can store separated config files for every tunnel.
\ No newline at end of file
+# In that directory you can store separated config files for every tunnel.
+# Please read documentation for more info.
+#
+# You can find examples in /usr/share/doc/i2pd/tunnels.d directory
diff --git a/debian/docs b/debian/docs
index b67deb18..dfa6f572 100644
--- a/debian/docs
+++ b/debian/docs
@@ -2,3 +2,4 @@ README.md
 contrib/i2pd.conf
 contrib/subscriptions.txt
 contrib/tunnels.conf
+contrib/tunnels.d
diff --git a/debian/i2pd.dirs b/debian/i2pd.dirs
index 736e23bd..3b643352 100644
--- a/debian/i2pd.dirs
+++ b/debian/i2pd.dirs
@@ -1,3 +1,2 @@
 etc/i2pd
-etc/i2pd/tunnels.conf.d
 var/lib/i2pd
diff --git a/debian/i2pd.install b/debian/i2pd.install
index cae69c0e..d20b2c17 100644
--- a/debian/i2pd.install
+++ b/debian/i2pd.install
@@ -3,5 +3,5 @@ contrib/i2pd.conf      etc/i2pd/
 contrib/tunnels.conf etc/i2pd/
 contrib/subscriptions.txt etc/i2pd/
 contrib/certificates/ usr/share/i2pd/
-contrib/tunnels.d/ etc/i2pd/tunnels.conf.d
+contrib/tunnels.d/README etc/i2pd/tunnels.conf.d/
 contrib/apparmor/usr.sbin.i2pd etc/apparmor.d
diff --git a/debian/i2pd.links b/debian/i2pd.links
index 083bc6ca..a149967f 100644
--- a/debian/i2pd.links
+++ b/debian/i2pd.links
@@ -1,5 +1,5 @@
 etc/i2pd/i2pd.conf    var/lib/i2pd/i2pd.conf
 etc/i2pd/tunnels.conf var/lib/i2pd/tunnels.conf
 etc/i2pd/subscriptions.txt var/lib/i2pd/subscriptions.txt
-etc/i2pd/tunnels.conf.d var/lib/i2pd/tunnels.conf.d
+etc/i2pd/tunnels.conf.d var/lib/i2pd/tunnels.d
 usr/share/i2pd/certificates var/lib/i2pd/certificates

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/etc/i2pd/tunnels.conf.d пускай будет, а в ней пускай лежит README
это лишнее -etc/i2pd/tunnels.conf.d

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

кстати, в чем смысл всех этих симлинков в /var/lib/i2pd на файлы в /etc/i2pd?

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Оно не нужно, папка создастся сама.
+contrib/tunnels.d/README etc/i2pd/tunnels.conf.d/

В том, что это рабочая папка приложения, и если в случае чего оно будет искать файл там.

@LLE8
Copy link

@LLE8 LLE8 commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В таком случае и папка /etc/i2pd создается сама, т.к.
contrib/i2pd.conf etc/i2pd/
и еще что-нибудь туда же
Пускай лучше не сама, а принудительно

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Nov 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нет, здесь другой смысл файла dirs.

@Mikaela
Copy link

@Mikaela Mikaela commented on 7792288 Dec 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I am having a problem that i2pd 2.21.1-1 stops working after a few reboots (or if day changes during poweroff?). Would this happen to be fixed on 2.22.0 which isn't in Debian repositories yet?

@orignal
Copy link
Contributor

@orignal orignal commented on 7792288 Dec 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please tell us exact scenario and we will check. "Stops working" is too brief.

@r4sas
Copy link
Member Author

@r4sas r4sas commented on 7792288 Dec 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

operation="open" profile="/usr/sbin/i2pd" name="/etc/ssl/openssl.cnf"
pid=14357 comm="i2pd" requested_mask="r" denied_mask="r" fsuid=122 ouid=
0

hmm...

Can you temporary add read-access rule in apparmor config at /etc/apparmor.d/usr.sbin.i2pd file?

...
  /etc/nsswitch.conf r,
  /etc/resolv.conf r,
  /etc/ssl/openssl.cnf r,  << ---- here
  /run/resolvconf/resolv.conf r,
...

After that reload profile:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.i2pd

@Mikaela
Copy link

@Mikaela Mikaela commented on 7792288 Dec 5, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please tell us exact scenario and we will check. "Stops working" is too brief.

  1. I install i2pd from Debian Buster repositories.
  2. I adjust my config file (details in the Debian bug) and systemctl restart i2pd
  3. I poweroff my laptop for the night.
  4. In the next morning I boot my laptop and am unable to access http://127.0.0.1:7070/ , because Main process exited, code=killed, status=6/ABRT according to systemctl start i2pd .

Can you temporary add read-access rule in apparmor config at /etc/apparmor.d/usr.sbin.i2pd file?

After adding this, I don't see a complaint from apparmor-notify, but the situation doesn't change.

Looking at the logs in my Debian bug report, I think the issue is these lines:

Dec 04 09:17:26 sedric systemd[1]: i2pd.service: Can't open PID file
/var/run/i2pd/i2pd.pid (yet?) after start: No such file or directory

which I think to be #828 or #785 (but I haven't Google Translated this yet and I don't speak Russian), but both seem to have fixing commits.

However today I cannot find that part of journalctl -xe and instead find this:

Dec 05 11:50:10 sedric systemd-tmpfiles[6024]: [/usr/lib/tmpfiles.d/i2pd.conf:1] Line references path below legacy directory /var/run/, updating /var/run/i2pd →
 /run/i2pd; please update the tmpfiles.d/ drop-in file accordingly.

Does that seem related to this issue?

In case it would be something in my kernel configuration, my differences that I think could be at all related from the Debian defaults:

kernel.unprivileged_userns_clone = 1
net.ipv6.bindv6only=1

The first is to enable user sandboxing with Brave Browser to get it launch and the second is as I want listening on :: to only listen on IPv6 to avoid dotted-decimals.

However I don't think anything I said explains why I2pd works until reboot and day changing.

@orignal
Copy link
Contributor

@orignal orignal commented on 7792288 Dec 5, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apparmour issue should be fixed here 67f60f1
It has been found that openssl silently reads config file since 1.1.0.

Please sign in to comment.