Bug #10684

I2P 0.9.23

Added by 01010101 2015-11-27 09:13:01 . Updated 2016-01-27 13:21:21 .

Status:
Resolved
Priority:
High
Assignee:
Category:
Target version:
Start date:
2015-11-27
Due date:
% Done:

100%

Feature Branch:
feature/i2p-0.9.23
Type of work:
Code
Blueprint:

Starter:
Affected tool:
I2P
Deliverable for:

Description

I2P 0.9.23 released: https://geti2p.net/en/blog/post/2015/11/19/0.9.23-Release

Please upgrade the package.


Subtasks


Related issues

Blocks Tails - Feature #10573: Fix/remove 'l' permission in I2P apparmor profile Resolved 2015-11-17
Blocked by Tails - Bug #10506: Opening Pidgin's Account Manager in the test suite is fragile Resolved 2015-11-06

History

#1 Updated by kytv 2015-11-27 09:27:46

  • Status changed from New to Confirmed
  • Assignee set to kytv
  • Target version set to Tails_1.8

I’ll be testing this soon.

#2 Updated by intrigeri 2015-11-29 11:06:23

Note that 1.8 is supposed to be a bugfix-only release.

#3 Updated by kytv 2015-12-01 03:57:22

  • Target version changed from Tails_1.8 to Tails_2.0

intrigeri wrote:
> Note that 1.8 is supposed to be a bugfix-only release.

Well then, 2.0 it is.

#4 Updated by kytv 2015-12-07 12:45:53

  • blocks Feature #10573: Fix/remove 'l' permission in I2P apparmor profile added

#5 Updated by kytv 2015-12-07 12:50:10

  • Status changed from Confirmed to In Progress

Testing is underway but so far looking good after uploading new packages with backported regression fixes. (automated test suite FTW)

#6 Updated by kytv 2015-12-08 07:51:57

  • Assignee changed from kytv to intrigeri
  • % Done changed from 0 to 40
  • QA Check set to Ready for QA
  • Affected tool set to I2P

Please pull the 0.9.23 packages into the Tails repository for inclusion in Tails 2.0.

Just as there was the tails-experimental and tails-wheezy distributions in the upstream repository, I created a tails-jessie one.

I will update the associated feature in the test suite after the feature freeze (or before if requested).

(Assigning to intrigeri as it’s my understanding that he’s handling the Jessie RCs. Apologies if I’m mistaken.)

#7 Updated by intrigeri 2015-12-08 08:19:14

  • Assignee changed from intrigeri to kytv
  • QA Check changed from Ready for QA to Info Needed

> I will update the associated feature in the test suite after the feature freeze (or before if requested).

Do you mean that the change submitted for QA introduces regressions in the test suite? If yes, then yes, please fix it.

> (Assigning to intrigeri as it’s my understanding that he’s handling the Jessie RCs. Apologies if I’m mistaken.)

I’m taking care of the beta releases only. But until feature/jessie is merged into devel I’m fine with being the main gateway :)

#8 Updated by kytv 2015-12-10 03:56:15

  • Assignee changed from kytv to intrigeri
  • % Done changed from 40 to 50
  • QA Check changed from Info Needed to Ready for QA
  • Feature Branch set to feature/i2p-0.9.23

intrigeri wrote:
> > I will update the associated feature in the test suite after the feature freeze (or before if requested).
>
> Do you mean that the change submitted for QA introduces regressions in the test suite? If yes, then yes, please fix it.

There was a bug in the suite which this made more visible (e.g., trying to access I2P “too soon” because the shell library’s static sleep wasn’t working when called in the test suite). Thankfully there’s a graphical indicator in the router console which I used to ensure that I2P should be ready, and I’m using that now.

(More info: We couldn’t rely on looking for a green star next to the tunnel entry because Sikuli seems to be slightly colorblind when it comes to distinguishing between green and yellow (I saw this while working on Feature #6306 and when forcing a new tor circuit with Vidalia). There are now two shared client entries in the router console when it’s ready—one for the old DSA services, one for edDSA. When both are visible we should be ready to go, so I updated the feature to look for this.)

The feature now runs successfully in Jessie. It should be more robust and (potentially) quicker to run through i2p.feature. The branch includes Bug #10506 with the images updated for Jessie. This should make Jenkins happier.

#9 Updated by intrigeri 2015-12-14 13:16:44

  • blocked by Bug #10506: Opening Pidgin's Account Manager in the test suite is fragile added

#10 Updated by anonym 2015-12-14 14:50:57

Note that I did import I2P 0.9.23 into Tails 1.8 any way. We’ll ignore the potential test suite regression — worst case we’ll have to test it manually for this (likely) last wheezy-based Tails release.

#11 Updated by intrigeri 2015-12-14 15:28:49

  • Assignee changed from intrigeri to kytv
  • QA Check changed from Ready for QA to Dev Needed

I’ve reviewed the branch up to commit:60323bdda770b18ac988643e09c32fe618ba47eb. I’ve downloaded and checked the packages, and am in the process of importing them into our APT repo. Untested.

Blockers:

  • In “I see shared client tunnels in the router console”: s/router/I2P router/?
  • I see there’s now a systemd unit file, great! I had a look and it sounds OK even though Type=forking is, well, a first step I guess :) However, ExecStartPre=/bin/mkdir -p /tmp/i2p-daemon isn’t exactly best practice — please don’t use a predictable filename in a world-writable directories. tmpfiles.d(5) might be useful btw.

I’ll let you address those. Note that the feature freeze for Tails 2.0 was a few days ago, and all these changes don’t quite qualify as bugfixes. I’m glad to grant it an exception but let’s get it quickly in.

Non-blockers:

  • In general, when writing “upstream bug filed”, a link to the bug report is a nice bonus :)
  • Yay for waitAny!
  • Some parts of the i2p package’s postinst will need to be improved a bit before this package goes into Debian.
  • /usr/share/doc/i2p-router/licenses/, wow :) /usr/share/i2p/lib/*.jar, wow :( I hope that /usr/share/i2p/lib/eclipse-ecj.jar is not what it could be.

#12 Updated by intrigeri 2015-12-14 15:34:08

Finished importing the Jessie packages.

#13 Updated by intrigeri 2015-12-14 15:43:32

> The branch includes Bug #10506 with the images updated for Jessie

In case we can’t merge this within a few days for some reason, please move these somewhat unrelated, but higher priority changes to a dedicated branch: I’d like to take them without blocking on this ticket, since the Wheezy version of these changes went in already and probably doesn’t work on Jessie.

#14 Updated by intrigeri 2015-12-15 05:15:18

Please base further work on the topic branch from the official repo, where I’ve resolved a merge conflict.

#15 Updated by intrigeri 2015-12-20 23:18:01

Please merge current devel, since anonym has independently updated I2P-related test suite pictures too, as part of Feature #7563. I suggest you coordinate with him when you do work that’s part of Feature #7563 — I bet he won’t mind a hand :) Meanwhile, build fails on Jenkins due to a merge conflict when merging devel, I think.

#16 Updated by kytv 2015-12-22 13:31:56

intrigeri wrote:
> Please merge current devel, since anonym has independently updated I2P-related test suite pictures too, as part of Feature #7563. I suggest you coordinate with him when you do work that’s part of Feature #7563 — I bet he won’t mind a hand :) Meanwhile, build fails on Jenkins due to a merge conflict when merging devel, I think.

On it. (I updated the images because I thought this would be merged in without a problem and thought it’d end up helping…oops.). I merged in devel, keeping the images from devel, and am building a new jessie ISO to test.

To be clear, none of the changes in this branch are actually I2P 0.9.23 specific. The one to check whether I2P is ready (the two shared client tunnels) actually landed in an earlier version.


The systemd bits in the packages have been there for awhile. I’ll try to figure out some way of having a deterministic (but not static) TMP in the systemd unit file.

#17 Updated by intrigeri 2015-12-22 14:20:24

> The systemd bits in the packages have been there for awhile.

I guess whoever did the last review+import either didn’t notice this issue, or ignored it since on Tails/Wheezy it was a no-op. Too bad this results in having to fix that kinda in a rush now. Sorry about that.

#18 Updated by kytv 2015-12-22 15:41:49

intrigeri wrote:
> > The systemd bits in the packages have been there for awhile.
>
> I guess whoever did the last review+import either didn’t notice this issue, or ignored it since on Tails/Wheezy it was a no-op. Too bad this results in having to fix that kinda in a rush now. Sorry about that.

I can test whether the one from wheezy would work, if that would be acceptable for the time being.

It should work since the dependencies for the jbigi package are satisfied by Jessie’s libs.

#19 Updated by intrigeri 2015-12-22 16:42:37

> I can test whether the one from wheezy would work, if that would be acceptable for the time being.

It would be sad to go back to the initscript. If you tell me what part of the temporary directory issue you’re having a hard time with, I might be able to help (early next year) a bit. Cheers!

#20 Updated by kytv 2015-12-22 17:42:18

intrigeri wrote:
> > I can test whether the one from wheezy would work, if that would be acceptable for the time being.
>
> It would be sad to go back to the initscript. If you tell me what part of the temporary directory issue you’re having a hard time with, I might be able to help (early next year) a bit. Cheers!

I was just thinking if it was needed now (or very, very soon) that would be a way to do it. (I’ve not tried tinkering the TMP dir stuff yet but will shortly).

#21 Updated by kytv 2015-12-23 00:30:44

devel merged in, pushed to my repo.

#22 Updated by intrigeri 2016-01-09 17:39:06

  • Priority changed from Normal to High
  • Affected tool deleted (I2P)

Hi kytv!

kytv wrote:
> I was just thinking if it was needed now (or very, very soon) that would be a way to do it. (I’ve not tried tinkering the TMP dir stuff yet but will shortly).

Almost three weeks later: any news on this side? Our Jessie -based branch still ships 0.9.22, and Tails 2.0~rc1 will be built on Monday. Unless significant progress was made on fixing the security issue introduced in the systemd unit file, may you please give us Jessie packages that revert to the initscript (assuming it hasn’t the same security issue, of course), so we can include I2P 0.9.23 in 2.0~rc1?

If you can’t do it over the week-end, please let us know ASAP so that someone else promptly takes it over from here.

#23 Updated by intrigeri 2016-01-10 18:48:30

Taking over temporarily: I’ll try to do the cheapest possible thing to get I2P 0.9.23 into Tails 2.0~rc1, without introducing security issues with it. I’ll try to make it acceptable for Tails 2.0 final. I’ll report back on what is needed on the I2P packaging side once I’m done.

#24 Updated by intrigeri 2016-01-10 18:48:41

  • Assignee changed from kytv to intrigeri

#25 Updated by intrigeri 2016-01-10 18:55:59

kytv wrote:
> The systemd bits in the packages have been there for awhile.

In passing, I don’t see them in the 0.9.23-2~deb7u+1 binary packages we ship in Tails 1.x, so now I’m curious where these systemd bits have been “for awhile”. This could help you assess what part of the package’s users are affected by the problem. Note that don’t review the source package usually: https://tails.boum.org/contribute/design/I2P/.

#26 Updated by intrigeri 2016-01-10 19:06:04

intrigeri wrote:
> kytv wrote:
> > The systemd bits in the packages have been there for awhile.
>
> In passing, I don’t see them in the 0.9.23-2~deb7u+1 binary packages we ship in Tails 1.x, so now I’m curious where these systemd bits have been “for awhile”.

Sorry, now I see the unit file in the 0.9.22-1~deb8u+1 for Jessie (that I don’t expect has been reviewed carefully, since it was pretty clear it was not meant to go into any actual release).

#27 Updated by intrigeri 2016-01-10 20:04:00

The behavior I find risky is probably safe in practice. I’ve created Bug #10890 to look into the details. I’ll focus on the other aspects of this merge request now.

#28 Updated by intrigeri 2016-01-10 20:54:39

  • QA Check changed from Dev Needed to Ready for QA

#29 Updated by intrigeri 2016-01-10 20:59:52

  • % Done changed from 50 to 60

Code review now passes.

#30 Updated by intrigeri 2016-01-10 23:52:38

  • Status changed from In Progress to Fix committed
  • % Done changed from 60 to 100

Applied in changeset commit:dbaea2611df0b182e64d22cd0713473cf7c23beb.

#31 Updated by intrigeri 2016-01-11 00:01:31

  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

#32 Updated by intrigeri 2016-01-13 14:15:11

  • Affected tool set to I2P

#33 Updated by anonym 2016-01-27 13:21:21

  • Status changed from Fix committed to Resolved