Auto-update the public suffix list out-of-Firefox-release-band
Categories
(Core :: Networking: DNS, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox69 | --- | fixed |
People
(Reporter: Gijs, Assigned: arpitbharti73)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-would-take])
Attachments
(1 file, 2 obsolete files)
Comment 1•10 years ago
|
||
Reporter | ||
Comment 2•10 years ago
|
||
Comment 3•10 years ago
|
||
Reporter | ||
Comment 4•10 years ago
|
||
Comment 5•10 years ago
|
||
Comment 6•10 years ago
|
||
Updated•10 years ago
|
Comment 7•10 years ago
|
||
Reporter | ||
Comment 8•10 years ago
|
||
Comment 9•10 years ago
|
||
Comment 10•10 years ago
|
||
Updated•10 years ago
|
Updated•9 years ago
|
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Reporter | ||
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
Comment 18•7 years ago
|
||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
Comment 21•7 years ago
|
||
Comment 22•7 years ago
|
||
Comment 23•6 years ago
|
||
Comment 24•6 years ago
|
||
Comment 25•6 years ago
|
||
Comment 26•6 years ago
|
||
Assignee | ||
Comment 27•6 years ago
|
||
(In reply to Mathieu Leplatre [:leplatrem] from comment #22)
The tutorials for Remote Settings were published:
https://remote-settings.readthedocs.ioAnd I added one about attachments:
https://remote-settings.readthedocs.io/en/latest/tutorial-attachments.htmlHave fun :)
Hello Mathieu, there hasn't been any development on this issue in a while and I see it is mentioned in the GSOC 2019 brainstorming document.
Will you be mentoring that project? I'll be going through the resources you've linked to and get more familiar with this code. Do you have any further information about, how this project will proceed in GSOC.
Comment 28•6 years ago
|
||
Hi, Mathieu, I would also like to contribute here.
(In reply to Arpit Bharti from comment #27)
(In reply to Mathieu Leplatre [:leplatrem] from comment #22)
The tutorials for Remote Settings were published:
https://remote-settings.readthedocs.ioAnd I added one about attachments:
https://remote-settings.readthedocs.io/en/latest/tutorial-attachments.htmlHave fun :)
Hello Mathieu, there hasn't been any development on this issue in a while and I see it is mentioned in the GSOC 2019 brainstorming document.
Will you be mentoring that project? I'll be going through the resources you've linked to and get more familiar with this code. Do you have any further information about, how this project will proceed in GSOC.
I addition to what Arpit asked, I would also like to know any mini tasks or starter issues to work on relevant to this one, in order to get started here.
Comment 29•6 years ago
|
||
I can't really spend time on this right now, but once the project gets approved we'll start by writing a detailed roadmap.
In the mean time, if you've gone through all the tutorials mentioned above and want to dig more stuff, there's also some easy-pick issues in the ecosystem that powers Remote Settings: https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+user%3AKinto+label%3Aeasy-pick
Thanks for your interest and motivation
Assignee | ||
Comment 30•6 years ago
|
||
Hello everyone, this bug will be worked on as a project under Google's Summer of Code program. I am Arpit from Delhi, India and I will be working under the mentorship of Mathieu[:leplatrem] for the next three months to submit patches for this bug.
We have come up with a strategy detailed in this blueprint document:
https://docs.google.com/document/d/1kxlAhu87MQtATxYfBdfRO-WjMHVNo1jA9Gr5mdVBnN8/edit?usp=sharing
Assignee | ||
Comment 31•6 years ago
|
||
Assignee | ||
Comment 32•6 years ago
|
||
Depends on D34331
Assignee | ||
Comment 33•6 years ago
|
||
Bug 1083971 - fixed lint warnings, added comment for to_bin()
Comment 34•6 years ago
|
||
Mathieu, do you know if the PSL is only loaded in the parent process? One of the benefits of having the list baked directly into the executable is that it can be shared b/w all processes with no overhead.
Comment 35•6 years ago
|
||
Mathieu, do you know if the PSL is only loaded in the parent process? One of the benefits of having the list baked directly into the executable is that it can be shared b/w all processes with no overhead.
That's a good question, and I hadn't thought of this.
In our plan, the list would still be baked into the executable, for new profiles and to avoid disk i/o on startup. It's only soon after startup that we would read it from the profile folder.
Do you have other ideas? We haven't started the C++ part so far :)
Reporter | ||
Comment 36•6 years ago
|
||
(In reply to Mathieu Leplatre [:leplatrem] from comment #35)
Mathieu, do you know if the PSL is only loaded in the parent process? One of the benefits of having the list baked directly into the executable is that it can be shared b/w all processes with no overhead.
That's a good question, and I hadn't thought of this.
In our plan, the list would still be baked into the executable, for new profiles and to avoid disk i/o on startup. It's only soon after startup that we would read it from the profile folder.
Do you have other ideas? We haven't started the C++ part so far :)
Not a C++ expert, but I'd suspect that you could share the additional data through shared memory from the parent to the child. Until that data is available, we could potentially fall back on the builtin list. Though in general this is all quite interesting - PSL information affects a lot of things, and having it change while Firefox is running could cause "interesting" issues (e.g. cookies sent with one request but not the other). We already have some of these issues and haven't come up with a good solution yet (bug 1365892). That said, from a performance perspective we /really/ don't want to wait for all our http requests / database opening until the updated list has loaded from disk...
Reporter | ||
Comment 37•6 years ago
|
||
One other possible solution here would be to have consumers of the etld service "opt in" to getting the up-to-date information to avoid conflicting behaviour for consumers that don't expect it to change...
Updated•6 years ago
|
Comment 38•6 years ago
|
||
Comment 39•6 years ago
|
||
Comment 40•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/822cb68b6ab7
https://hg.mozilla.org/mozilla-central/rev/27de3a352a39
Updated•6 years ago
|
Comment 41•6 years ago
|
||
Is there a new bug tracking the cpp part? The bugs that this one was blocking would depend on that, even if this is fixed, they aren't actionable yet. Likely there should be a tracking bug for the feature that we can depend on.
Assignee | ||
Updated•6 years ago
|
Reporter | ||
Comment 42•6 years ago
|
||
No, patches landed here, so "FIXED" is the right resolution. What Marco is saying is that we need a new bug for the remaining parts. Mathieu, can you help?
Updated•6 years ago
|
Updated•6 years ago
|
Comment 43•6 years ago
|
||
Indeed, that's a pity, and that's my fault.
I didn't realize that the Python script patch was attached here. We should have created a dedicated bug as a blocker for this one.
Comment 44•5 years ago
|
||
(In reply to :Gijs (back Aug 12; he/him) from comment #36)
Not a C++ expert, but I'd suspect that you could share the additional data through shared memory from the parent to the child. Until that data is available, we could potentially fall back on the builtin list. Though in general this is all quite interesting - PSL information affects a lot of things, and having it change while Firefox is running could cause "interesting" issues (e.g. cookies sent with one request but not the other). We already have some of these issues and haven't come up with a good solution yet (bug 1365892). That said, from a performance perspective we /really/ don't want to wait for all our http requests / database opening until the updated list has loaded from disk...
We should be able to handle this by just storing the new data in a binary format that we can mmap and use directly. If we mmap it early, with the correct flags, then the data should ideally be available by the time we need it. And if it's already mmapped in the parent, child processes should get it more or less for free (particularly if we just send them an open file descriptor rather than having them open the file themselves).
Assignee | ||
Comment 45•5 years ago
|
||
Hello everyone, I'm almost done with dafsa reloading part of the project, being worked on here https://phabricator.services.mozilla.com/D40058
I will be getting started with the tests soon (one issue left before I move on to it)
So far I have considered the following strategy:
- Build a fake dafsa with the suffix .xpcshelltest
- Send a signal with the location of said dafsa
- Assert that our fake suffix is now known
The third step is where I want some input, how do I check that the new dafsa is loaded and the .xpcshelltest suffix exists.
Reporter | ||
Comment 46•5 years ago
|
||
(looks like comment #45 is being resolved in bug 1563246 and the associated phab revision https://phabricator.services.mozilla.com/D40058 ).
Assignee | ||
Comment 47•5 years ago
|
||
The revision for now reloading the dafsa is here: https://phabricator.services.mozilla.com/D42470
Re-initializing mGraph, causes fiefox to crash for now.
Here the crash log when it segfaults after sending a signal https://pastebin.com/X41QwYiu
Here's a the backtrace output in gdb https://pastebin.com/yhX21z6H
The code compiles successfully, but further than that I'm unable to pin point why the segfault occurs.
Can anyone familiar with with dafsa c++ code look into it?
Comment 48•5 years ago
|
||
/home/arpit/Development/moz/mozilla-central/xpcom/ds/Dafsa.cpp:33 is triggering the segfault, if that helps.
Description
•