Open
Bug 1228118
Opened 9 years ago
Updated 2 years ago
Change about: handling to not use nested URIs
Categories
(Core :: Networking, defect, P3)
Core
Networking
Tracking
()
NEW
People
(Reporter: sicking, Unassigned)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [necko-backlog])
Rather than created a nested URI with an inner "moz-safe-about" URI, we should always create an nsSimpleURI. We can then use the nsIProtocolHandlerWithDynamicFlags mechanism to give different security properties to different about: URIs.
Reporter | ||
Comment 1•9 years ago
|
||
Part of the challange here is that IndexedDB's file formats ends up using the moz-safe-about scheme name.
The origin of the page which uses IndexedDB, is stored in 3 places in the filesystem:
* The directory name (each origin gets a separate directory).
* Each directory gets a .metadata file which contain the origin and
some other information.
* Each IDB sqlite database contains a "database" table which has an
"origin" column with the origin.
Calculating this origin (correctly) grabs the innermost URI, which means that we use a moz-safe-about: scheme.
However there's two pieces of good news.
First off, it seems like all our origin handling for about: URIs go
through the TryGetInfoForAboutURI [1] function. That means that it is
quite easy to change our handling there to make sure that even though
we change about: URIs to never be parsed into inner moz-safe-about
URIs, we can easily act as if we did in order to avoid changing the
on-disk format.
Second, in bug 1195930 we're going to change the way that origins are
stored on disk. So we can rather easily at the same time change how
about: origins are stored. It's unclear if bug 1195930 will be fixed
first, or if we'll change about: URIs first. But either way I think we
should not worry about upgrading on-disk format as part of changing
about: URIs. Instead we should do the conversion when writing an
about: origin to disk.
Updating the on-disk format fewer times is better for both performance
and ability to downgrade anyway.
Additionally we do have code which reads one of these origins back
from disk and parses them in OriginParser::ParseOrigin [2]. It sounds
like we use this to restore .metadata files using a directory name
since for some reason the .metadata files sometimes gets lost. So this
code would also need to get updated to convert moz-safe-about origins
properly.
[1] http://mxr.mozilla.org/mozilla-central/source/dom/quota/ActorsParent.cpp#4030
[2] http://mxr.mozilla.org/mozilla-central/source/dom/quota/ActorsParent.cpp#6241
Updated•9 years ago
|
Flags: needinfo?(bzbarsky)
Updated•9 years ago
|
Whiteboard: [necko-backlog]
Updated•8 years ago
|
Comment 2•8 years ago
|
||
Note to self: when we do this I would like to make sure that checkLoadURI and friends in caps/ still don't let non-chrome-privileged about: link to chrome-privileged about: .
Comment 3•7 years ago
|
||
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: -- → P1
Comment 4•7 years ago
|
||
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: P1 → P3
Updated•7 years ago
|
Updated•5 years ago
|
Comment 5•5 years ago
|
||
With the about:home case changed in bug 1438367, I wonder if this is easier now...
Updated•5 years ago
|
Flags: needinfo?(bzbarsky)
Updated•3 years ago
|
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•