Project

General

Profile

Feature #10859

Remove dependencies to maone.net from DAVE

Added by sajolida almost 2 years ago. Updated 8 days ago.

Status:
Rejected
Priority:
Elevated
Assignee:
-
Category:
Installation
Target version:
Start date:
01/05/2016
Due date:
% Done:

0%

QA Check:
Feature Branch:
Type of work:
Code
Blueprint:
Starter:
Affected tool:
ISO Verification Extension

Description

In its current beta version DAVE relies on maone.net for CSS and SSL verification. This shouldn't be the case anymore once its stable.

History

#1 Updated by intrigeri almost 2 years ago

While we're at it, it would be good to remove the (outdated) fingerprint for boum.org's certificate from the config file. It's a bit misleading to anyone without deeper knowledge of the config file format, such as me... until I understood that this data was not used due to cert: null. Let's make life easier for auditors :)

#2 Updated by sajolida almost 2 years ago

  • Target version changed from Tails_2.0 to Tails_2.2

Postponing: let's debug things a bit more before doing this.

#3 Updated by sajolida almost 2 years ago

A solution could be to host testing IDFs and "ISO images" on tails.boum.org directly.

#4 Updated by intrigeri almost 2 years ago

A solution could be to host testing IDFs and "ISO images" on tails.boum.org directly.

If there's any need to include dev-only config in the extension, or dev-only data on our website, then it rings a bell that says "something is wrong somewhere in the design". Developers will always need to test new stuff, and for that they will need to point the extension to an arbitrary IDF, loaded from an arbitrary website. So we need to accommodate this need, because it won't suddenly disappear with DAVE 1.0.

My understanding is that so far, this need has been addressed by hardcoding dev-only configuration into the config file shipped inside the extension. This might have been OK during early development, but it can't fly now that we deploy this in production. The typical solution to this problem would be to have the configuration that developers need to tweak locally (I guess you need the IDF URL and the SSL verification settings) loaded from prefs, so developers can tell DAVE to trust whatever website + SSL trust anchor they want, without impacting production. Can we have this (or whatever addresses the need, without impacting production)?

Cheers!

#5 Updated by ma1 almost 2 years ago

intrigeri wrote:

The typical solution to this problem would be to have the configuration that developers need to tweak locally (I guess you need the IDF URL and the SSL verification settings) loaded from prefs, so developers can tell DAVE to trust whatever website + SSL trust anchor they want, without impacting production. Can we have this (or whatever addresses the need, without impacting production)?

We could support an about:config preference to specify the path to an alternate conf.json file, where we can put any cert pinnging / IDF / trusted page information we want for development purpose.
It should not even have a default value (thus it would not exists / shown in about:config until created by a dev), because we would default to the conf.json packaged with the extension.

#6 Updated by intrigeri almost 2 years ago

We could support an about:config preference to specify the path to an alternate conf.json file, where we can put any cert pinnging / IDF / trusted page information we want for development purpose.

Sounds perfect to me!

#7 Updated by sajolida almost 2 years ago

  • Parent task deleted (#8592)

#8 Updated by sajolida over 1 year ago

  • Target version deleted (Tails_2.2)

#10 Updated by sajolida over 1 year ago

  • Blocks Bug #11300: Have stable version of DAVE out of development channel added

#11 Updated by BitingBird over 1 year ago

Is this still the case, or as it solved and not closed ?

#12 Updated by intrigeri over 1 year ago

Is this still the case, or as it solved and not closed ?

I've not noticed any progress.

#14 Updated by intrigeri over 1 year ago

  • Assignee changed from ma1 to sajolida
  • Target version set to Tails_2.5

sajolida, I assume you'll review this. Please reassign to me once it's done, if you don't mind: IIRC I was the one who complained about this initially, so I'd like to have a quick look before we call it done :)

#15 Updated by intrigeri over 1 year ago

  • Target version changed from Tails_2.5 to Tails_2.6

#16 Updated by sajolida about 1 year ago

  • Target version deleted (Tails_2.6)

#17 Updated by sajolida about 1 year ago

  • Assignee changed from sajolida to intrigeri
  • maone.net is gone.
  • Let's Encrypt has been added.
  • *.boum.org is still here.
  • What do we need labs.riseup.net for?

Happy if intrigeri has a look, otherwise I'll send this to Giorgio for the next release (with no hurry).

#18 Updated by intrigeri about 1 year ago

  • Status changed from Confirmed to In Progress
  • Target version set to Tails_2.7
  • % Done changed from 100 to 50

#19 Updated by intrigeri about 1 year ago

  • Assignee changed from intrigeri to ma1
  • % Done changed from 50 to 60
  • QA Check changed from Ready for QA to Info Needed

intrigeri wrote:

While we're at it, it would be good to remove the (outdated) fingerprint for boum.org's certificate from the config file. It's a bit misleading to anyone without deeper knowledge of the config file format, such as me... until I understood that this data was not used due to cert: null. Let's make life easier for auditors :)

I've looked at this and it looks good, as far as removing dependencies to maone.net is concerned.

My only remaining question is: is there a reason why conf.json still has

      "*.boum.org": {
        "subjectName":"CN=*.boum.org,OU=Gandi Standard Wildcard SSL,OU=Domain Control Validated",
        "issuerOrganization":"Gandi",
        "sha256Fingerprint":"FB:89:1F:85:61:8D:6F:62:EA:A6:6E:92:4D:3A:FC:80:17:03:D6:FB:D5:F4:B0:31:E7:D7:5A:7F:55:06:74:2D",
        "serialNumber":"00:84:A7:E7:40:C4:D4:54:54:64:E4:35:22:38:F0:29:53" 
      },

?

It's unused (and quite possibly has obsolete hashes), right?

#20 Updated by intrigeri about 1 year ago

  • Target version changed from Tails_2.7 to Tails_2.9.1
  • QA Check changed from Info Needed to Dev Needed
  • *.boum.org is still here.

Right, commented about it earlier today.

  • What do we need labs.riseup.net for?

It is useful for testing until https://tails.boum.org/ switches to Let's Encrypt (mid-December). I think we're in the exact same situation as I was arguing about in #10859#note-4, i.e. dev-time stuff landing into the production configuration. So let's please remove that entry.

(Yes, I understand that in theory, such entries are harmless, as we're doing a hostname → cert/issuer mapping, and as long as we're not pointing DAVE to a URL hosted on labs.riseup.net, this entry is completely a no-op; but still, it does make security auditing needlessly harder.)

Happy if intrigeri has a look, otherwise I'll send this to Giorgio for the next release (with no hurry).

Yes, we made our major deadline (thanks Giorgio) and this doesn't need to be addressed in a hurry. Giorgio, can handle it by mid-December?

(Worst case, we will use it as a way to test our shiny new credentials that supposedly allow us to release DAVE ourselves :)

#21 Updated by ma1 about 1 year ago

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

I had left them because JSON does not support comments but I wanted to 1) help testing 2) showcasing the pinner capabilities beyond the current configuration.
In last commit the "dirty" data in conf.json has gone in a new "conf.json.sample" file, which is ignored by the build script.
Does it look OK now?

#22 Updated by intrigeri about 1 year ago

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

In last commit the "dirty" data in conf.json has gone in a new "conf.json.sample" file, which is ignored by the build script.
Does it look OK now?

Yes!

But that last commit brings in lots of unrelated changes, including some that IMO we don't want in Git (if you don't know about git add -p, give it a try: you'll love it, and reviewers of code bases you work on will too!); so I'll go off-topic here, just as much as that commit did. Possibly unwanted changes:

  • addition of bootstrap.js and install.rdf: was this intended? If yes, then I guess that HACKING needs to be updated accordingly;
  • addition of lib/mirror-dispatcher.js: do we really want to embed a copy of this library here? I could live with that if you prefer it this way, but then each import should be made in an atomic commit, that makes it clear which exact commit of the upstream mirror-dispatcher Git repo was used when importing, otherwise it'll be unclear what state the embedded code copy is at, and it would increase the chances that someone mistakenly starts hacking on that file in the wrong place.

Also, BTW, it's not news but I don't understand why we are tracking a build product (www/dave.xpi) inside the very Git repo it's built from.

If these issues can all easily be handled right now, fine! Otherwise just let me know, and then I'll file a separate ticket about them, so that we don't get confused by discussing them on this (unrelated) ticket.

#23 Updated by sajolida about 1 year ago

  • Blocks deleted (Bug #11300: Have stable version of DAVE out of development channel)

#24 Updated by anonym 12 months ago

  • Target version changed from Tails_2.9.1 to Tails 2.10

#25 Updated by anonym 11 months ago

  • Target version changed from Tails 2.10 to Tails_2.11

#26 Updated by intrigeri 9 months ago

  • Target version changed from Tails_2.11 to Tails_2.12

Hi Giorgio! Can you please take a look at my comment from early November? For now I mainly want to agree on a set of tasks to do so I can create the corresponding tickets, and then we can share the work among whoever feels responsible.

#27 Updated by intrigeri 8 months ago

  • Target version changed from Tails_2.12 to Tails_3.0

#30 Updated by sajolida 7 months ago

  • Private changed from No to Yes

I've seen it but thought it was no really urgent.

#31 Updated by intrigeri 7 months ago

I've seen it but thought it was no really urgent.

OK, fair enough. This has been waiting for 7 months, so +/- 1 month is not a deal breaker :)

Now, you've made this ticket private, so I believe Giorgio can't see it anymore, which won't help him work on it. I don't feel comfortable reverting this change you made, so please do it yourself if it was a mistake.

#32 Updated by sajolida 6 months ago

  • Private changed from Yes to No

Oops, putting this ticket "Public" again so ma1 can see it :)

#33 Updated by intrigeri 6 months ago

  • Target version changed from Tails_3.0 to Tails_3.1

I'm not counting on this being fixed in the next 3 days, so postponing. sajolida: I'll leave it to you to manage your contractor wrt. expectations and deadlines, but given the remaining issues are technical ones that I raised, I'm happy to take care of the code review :) And if this remains unaddressed for too long, IMO reassign to our new DAVE maintainer, and draw whatever conclusions are needed (I'd rather see this fixed by anyone soonish than seeing it open for 6+ more month, given what remains to do is trivial cleanup).

#34 Updated by ma1 6 months ago

Hi people, I'm sorry this slipped through the cracks, but I've been very very busy with NoScript lately. This week I need to release some fixes deemed urgent for the Tor Browser as well, but I promise to look into this immediately after that. I apologize again.

#35 Updated by u 5 months ago

Hi ma1, can you tell us when you'll be able to get back to this? Thanks a lot!

#36 Updated by ma1 5 months ago

u wrote:

Hi ma1, can you tell us when you'll be able to get back to this?

I'm releasing NoScript 5.0.6 today and I'll be on a plane back from San Francisco tomorrow, so I'll realistically do it on Monday.

#37 Updated by ma1 5 months ago

  • QA Check changed from Dev Needed to Info Needed

Finally I could get to this, sorry for having dragged it so far.
May I have a recap of the issues left to be addressed yet? Are those from comment #22 only (yes, I probably just messed up the final, hurried commit with unneeded files)?
What's currently the most up-to-date or otherwise useful repository to work on?
Thank you!

#38 Updated by intrigeri 5 months ago

  • QA Check changed from Info Needed to Dev Needed

Thanks Giorgio for coming back to this :)

May I have a recap of the issues left to be addressed yet? Are those from comment #22 only (yes, I probably just messed up the final, hurried commit with unneeded files)?

Yes, that's all.

What's currently the most up-to-date or otherwise useful repository to work on?

Please work in your own repo (:ma1/download-and-verify-extension).

Other remotes you might want to add:

#39 Updated by ma1 5 months ago

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

#40 Updated by intrigeri 5 months ago

  • Assignee changed from intrigeri to anonym

Reassigning to the new maintainer of DAVE :)

#42 Updated by intrigeri 5 months ago

  • Target version changed from Tails_3.1 to Tails_3.2

(Taking into account anonym's availability.)

#43 Updated by intrigeri 3 months ago

  • Priority changed from Normal to Elevated
  • Target version changed from Tails_3.2 to Tails_3.3

I suggest you ignore DAVE until the 3.2 release and then put it on your list of top priorities for the 3.3 cycle.

#44 Updated by intrigeri about 1 month ago

  • Target version changed from Tails_3.3 to Tails_3.5

I suspect DAVE v2 will make this obsolete, so postponing.

#45 Updated by anonym 8 days ago

  • Status changed from In Progress to Rejected
  • Assignee deleted (anonym)
  • % Done changed from 60 to 0
  • QA Check deleted (Ready for QA)

intrigeri wrote:

I suspect DAVE v2 will make this obsolete, so postponing.

Yup => rejected.

Also available in: Atom PDF