Update PO files.
[tails/vicves.git] / wiki / src / blueprint / Return_of_Icedove__63__.mdwn
blob72e2586f60f95ff2adaeb215fad705ce1aff253d
1 [[!toc levels=3]]
3 Rationale
4 =========
6 Pros
7 ----
9 * Icedove has a *much* easier guide for setting up an email account -- just enter a name, email address and password, and Icedove will check if the domain of it has IMAP (preferred) or POP, and SMTP, and set up an account correctly and automatically, beginning with trying SSL/STARTTLS so no login credentials are unnecessarily leaked. Claws is pretty much impossible to setup for normal people, but seeding the config could make that easier, but will it be as easy?
10 * Enigmail has a *much* easier guide for generating a key and setting up GnuPG. The guide starts pretty much automatically and is very informative.
11 * Icedove is more widely used, so it's less fingerprintable and perhaps familiar to more users. This (and its larger development team) also likely results in earlier bug fixes.
13 Cons
14 ----
16 * It will be somewhat harder to implement the [[todo/easy_MUA_configuration]] with Icedove compared to claws. That would allow us some flexibility for our use case, e.g. specific recommendations w.r.t. anonymity.
17 * Icedove's automatic account creation process will fallback to plaintext POP/IMAP/SMTP if SSL/STARTTLS fails. That could result in leaks of login/password in many circumstances, like if the user types the wrong domain in the email address. I can't seem to find any options to disallow plaintext, although mail.smtp.ssl=2 (must use SSL) seems interesting (haven't found anything for POP/IMAP though).
18 * Icedove requires an additional ~20 MB uncompressed space over claws.
19 * Icedove probably has more bugs given its code size.
21 I think implementing the [[todo/easy_MUA_configuration]] is pretty far from trivial, at least if we want it to be as easy as Icedove's account creation guide, which brings that whole idea into question. Maybe a better approach would be to write an addon for Icedove that alters the account creation process (if that is possible -- I have no insight in how much addons can do)? It'd give the user some use case specific information, e.g. to not use a non-anonymous email account, and also implement the other ideas from [[todo/easy_MUA_configuration]]. And it would disallow plaintext plaintext POP/IMAP/SMTP.
23 Roadmap
24 =======
26 1. List blockers (from the *Things to implement* list bellow).
27 1. Implement blockers.
28 1. Write design documentation.
29 1. Adapt [[end-user documentation|doc/anonymous_internet/thunderbird]]
30    from Incognito.
32 Design decisions
33 ================
35 * Follow the suggestions in [tagnaq's paper](http://bit.ly/qDZm7C)
36   as much as possible. We'll likely ignore some impractical stuff
37   like using PGP-inline instead of PGP/MIME.
39 * Our Iceweasel says it prefers English. It does not try to pretend it
40   has no locale. Our Icedove shall do the same. So we will keep
41   `mailnews.reply_header_authorwrote` default value (that is, `%s
42   wrote` and will ignore tagnaq's suggestion on this; details: [doc on
43   reply_header_](http://kb.mozillazine.org/Reply_header_settings)
45 Things to implement
46 ===================
48 TorBirdy
49 --------
51 ### Plans
53 See tickets on [[Redmine|todo/Return of Icedove?]].
55 ### Design
57 [TorBirdy](https://github.com/ioerror/torbirdy) ([Design
58 goals](https://trac.torproject.org/projects/tor/raw-attachment/wiki/doc/TorifyHOWTO/EMail/Thunderbird/Thunderbird%2BTor.pdf))
59 aims to take care of (among other things):
61 * Enhance the privacy of the emails (prevent email header information
62   leaks)
63 * Protect against all kinds of HTML issues
64 * Support Tor's prop 171 (stream isolation via per-account proxy
65   settings)
66 * Mixmaster/Mixminion integration.
67 * Removes User-Agent header.
69 All these seem terrific, so this is something we definitely want to
70 include.
72 Modified autoconfig wizard
73 --------------------------
75 This was implemented in the `secure_account_creation` branch in that
76 Git repository: `git://labs.riseup.net/tails_icedove.git`.
78 ### Plans
80 See tickets on [[Redmine|todo/secure_Icedove_autoconfig_wizard]].
82 ### Design
84 In order to mitigate the concern's raised by tagnaq about Icedove's
85 autoconfig wizard, the following changes has been made to it:
87 * When probing a mail provider for an xml config, first try HTTPS,
88   then http (old behaviour: http only).
89 * Introduce a boolean pref called `mailnews.auto_config_ssl_only`
90   (that has a checkbox in the autoconfiguration wizard) that does the
91   following when true:
92   - Only allow HTTPS when fetching xml configs from mail provider.
93   - Only allow HTTPS when fetching xml configs from Mozilla's database
94     (luckily the default URL *is* using HTTPS).
95   - Don't check DNS MX records for mail configurations. This may need
96     some rethinking for DNSSEC.
97   - Only accept fetched xml configs that use safe email protocols
98     (SSL/TLS for SMTP/IMAP/POP).
99   - Only probe the mail server for safe protocols (SSL/TLS for
100     SMTP/IMAP/POP).
102 To prevent TorBirdy from disabling the autoconfig wizard, we set the
103 `vendor.name` Icedove pref to `Tails`.
105 Basic configuration & integration
106 ---------------------------------
108 * Use `127.0.0.1:9061` SOCKS proxy.
109 * Don't display the "Adblock Plus installation complete" tab.
110 * Don't prompt whether one wants to report usage and performance
111   information to Mozilla.
112 * Disable FoxyProxy.
113 * Enable "Only use secure protocols" by default (one may still
114   uncheck it when needed).
115 * Don't check updates for Add-ons.
116 * Add launcher to the GNOME panel.
117 * More generally: have a look at our Iceweasel prefs and copy all
118   those that exist and make sense for Icedove.
119 * The [[security/IP_address_leak_with_icedove]] can be fixed by
120   setting `mail.smtpserver.default.hello_argument` to "localhost".
121   See [this Tor wiki
122   entry](https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/TorifyHOWTO/EMail#ExperimentalSuggestionsforpossiblymakingthunderbirdandorclawsstopleakinginfoExperimental)
123   for other goodies. By applying those configurations I think both
124   claws and icedove comes to an equal level security-wise.
125 * Disable by default the indexer from
126   `Preferences -> Advanced -> General -> Enable Global Search and Indexer`.
127   Otherwise pinentry dialogs can appear while checking email in the
128   background.
130 Resources
131 =========
133 * [tagnaq's paper](http://bit.ly/qDZm7C)
134 * how well are Enigmail, Icedove and l10n packages maintained in
135   Debian? -> seems acceptable - I've seen much worse times, especially
136   for this set of packages.
137 * how much size does Icedove + Enigmail + l10n packages add to the
138   SquashFS compared to Claws Mail? -> *9MB* (as of Tails pre-0.8 devel
139   branch with XZ SquashFS compression)