Commit e732142a authored by Tails developers's avatar Tails developers
Browse files

Merge branch 'master' of git://git.immerda.ch/amnesia

parents fc56b257 92d6ec26
......@@ -39,3 +39,5 @@ If tails publishes for download a signed copy (signed with the same key used to
<br>
Please discuss
<br>
<br>
[[wishlist]] [[todo]]
......@@ -27,4 +27,5 @@ kexec'ing to memtest.
>> Sorry, I fail to see what an amd64 kernel has to do with
>> virtualization support. Please clarify, and move such early
>> discussions to tails-dev mailing-list.
>>> Mainly to utilise multiple cores and lots of RAM, and also the fact that the vmware player installer complained an additional kernel module or something needed to be installed, will also test virtual box and any other virtual machine software, also my assumption there will be better performance with a 64bit kernel and a virtual machine
[[!tag todo/code]]
Persistent bookmarks for iceweasel has been requested several
times. They are stored in
`~/.mozilla/firefox/$PROFILE/bookmarks.html`, so we need to make that
file, and *only* that file, persistent; making the rest of the
iceweasel profile persistent will prevent users from getting important
configuration changes in new Tails releases. The `link` persistence
option seems like a proper fit for this.
> [Iceweasel uses `places.sqlite` instead of `bookmarks.html` to store its
> bookmarks since
> Firefox 3](http://kb.mozillazine.org/Lost_bookmarks#Finding_your_bookmarks).
> It can be made to automatically export the *old style* `bookmarks.html` file
> by setting
> [browser.bookmarks.autoExportHTML](http://kb.mozillazine.org/Browser.bookmarks.autoExportHTML)
> to `true`. When no `places.sqlite` exists in a profile, Iceweasel will
> automatically import the bookmarks from that file. The downside is that this
> file is only written when Iceweasel is closed: a sub-optimal behaviour w.r.t.
> *emergency media removal*.
>
> Since Firefox 3, bookmarks are automatically backed up as JSON files in the
> [`bookmarksbackups`
> folder](http://kb.mozillazine.org/Bookmarkbackups_folder). A different backup
> is made each day, and the default is to keep 10 files. If
> `places.sqlite` does not exist when Iceweasel starts, the database will be
> rebuilt using the latest backup. Being a folder, this might be an easiest
> candidate for the current persistence framework than `bookmarks.html`.
>> Both of these seems glitchy, as the files in `bookmarkbackups` are only
>> updated once for any given day. An alternative would be to simply make
>> `places.sqlite` persistent. This can be done by replacing the regular file
>> in the profile directory with a symlink to a a file in a persistent
>> directory. When the symlink points to a non-existent file, Iceweasel
>> will happily recreate it from the default set of bookmarks.
Currently the iceweasel profile are generated on post-build, when it's
started for the first time, and `$PROFILE` is random
(`XXXXXXXX.default`). Randomness in paths doesn't go well with how our
persistence is configurated.
The way to go seems to be:
* Generate a profile at build time. To avoid randomness in the path we
......@@ -55,27 +14,14 @@ The way to go seems to be:
uncompressed, or ~400 KB bzip2'd, so the iso won't grow
significantly.
* Make a preset: `/home/amnesia/.mozilla/firefox/default
link,source=bookmarks`
* Copy the initial `bookmarks.html` into the persistent source. This
will require a hook associated with the preset in
`tails-persistence-setup`: the hook is run after the bookmarks
preset has been "turned on", and it looks if
`/live/persistent/$DEV/bookmarks/bookmarks.html` exists; if it does
(e.g. it the preset was setup before, but turned off for some
reason) nothing is done; and if not it's copied from `~/.mozilla`
(which may contain bookmarks the user made during the session) or
the skeleton profile.
Another option would be to create a small Firefox extension that would:
* Make `places.sqlite` persistent. This can be done by replacing the regular
file in the profile directory with a symlink to a a file in a persistent
directory. When the symlink points to a non-existent file, Iceweasel will
happily recreate it from the default set of bookmarks.
* On startup, import the bookmarks from a file on the persistence volume.
* Whenever a change is made to Firefox bookmarks, export them to the very
same file.
This has been implemented in the `feature/persistent_bookmarks` branch.
Candidate for Tails 0.15.
The revelant API look fairly easy to use. See the [Places Developer
Guide](https://developer.mozilla.org/en-US/docs/Places_Developer_Guide),
sections *Observing Bookmark Events* and *Backup/Restore*
[[!tag todo/qa]]
[[!tag release/2.0]]
......@@ -20,3 +20,17 @@ not persistent, which has to be resolved before adding the preset:
made for the `*-consensus` files.
* The Unsafe Browser uses `cached-descriptors` in the same way as the
time syncing script.
At least "`cached-descriptors` existence checking" can be replaced
with checking "`GETINFO status/circuit-established`" via the
ControlPort. For tordate's `*-consensus` magic "`GETINFO
status/enough-dir-info`" seems interesting, but isn't a replacement.
Shell function which is useful for the above:
tor_control_getinfo() {
COOKIE=/var/run/tor/control.authcookie
HEXCOOKIE=$(xxd -c 32 -g 0 $COOKIE | cut -d' ' -f2)
echo -e "AUTHENTICATE $HEXCOOKIE\nGETINFO ${1}\nQUIT" | \
nc 127.0.0.1 9051 | grep "^250-${1}=" | sed "s@^250-${1}=@@"
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment