1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-10 11:35:11 -05:00
k-9/res
Joe Steele daea7f1ecd Eliminate the 'if available' connection security options
These options originated in the AOSP email client from which K-9 Mail was
forked.  They provide an odd combination of 2 features:

1. Don't bother to authenticate the server's certificate (applies to both
SSL/TLS and STARTTLS); i.e., blindly accept all certificates.  This is
generally a bad security policy which is susceptible to MITM attacks.

2. If STARTTLS is selected but the server doesn't claim to support
STARTTLS, then proceed without using encryption.  This, too, is a bad
security policy which is susceptible to MITM attacks.

Since the time that K-9 Mail was forked, a couple things have changed:

> K-9 Mail has implemented the ability for users to review and permanently
accept individual certificates that would otherwise fail authentication.
With this ability, there is no need for a user to subject themselves to
the ongoing risks of feature 1. above.  Hence, this commit removes feature
1.

> The AOSP email client has changed its behavior and no longer permits a
security downgrade to an unencrypted connection if the server doesn't
claim to support STARTTLS (i.e., they eliminated feature 2. above). K-9
Mail should do the same.  It's unlikely that a server is going to provide
STARTTLS on an intermittent basis, so providing a contingency for such
unusual behavior is an unnecessary risk.  Hence, this commit removes that
feature as well.

Effect on existing users:

If the old connection security setting was "SSL/TLS (if available)" (which
now gets remapped to "SSL/TLS"), and the server does not provide a
certificate that can be authenticated, then a "Certificate error for
<account name>" notification is generated telling the user to check their
server settings.  Tapping the notification takes the user to the relevant
server settings, where the user can tap "Next" to review the certificate
and choose to permanently accept it.  This process would occur during the
first syncing of folders after application upgrade or (in the case of
SMTP) during the first attempt to send a message.

If the connection security setting was "STARTTLS (if available)" (which
now gets remapped to "STARTTLS"), and the server does not provide a
certificate that can be authenticated, then the same process as above
would occur.

If the old connection security setting was "STARTTLS (if available)", and
the server doesn't claim to support STARTTLS, then the user would get a
certificate error notification which would lead them to the server's
settings.  There they would need to choose a different connection security
-- most likely "NONE".  If they didn't change anything but instead just
tapped "Next", the server settings would be checked again and a dialog
would pop up saying, "Cannot connect to server. (STARTTLS connection
security not available)". (The implementation of notifications when
STARTTLS is not available is not actually included here -- it's in the
commit that follows.)

Regarding the changes to providers.xml:  in cases where the scheme ended
with "+ssl", the schemes were simply updated by appending "+".  In cases
where the scheme ended with "+tls", a check of the server was made to
assure that STARTTLS was available before appending "+" to the scheme.
Domains paran.com and nate.com failed the check and were removed because
no current information could be found.  Domains me.com and mac.com also
failed and were updated based on http://support.apple.com/kb/ht4864.
2014-03-03 17:23:00 -05:00
..
anim Tweak animations to use the (Slightly slower) android default animation speed. 2013-02-05 12:04:03 -05:00
drawable Add new multi-select checkboxes to message list 2013-06-07 07:07:27 +02:00
drawable-hdpi Recreate app icon from SVG file 2013-11-11 01:09:09 +01:00
drawable-hdpi-v9 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-hdpi-v11 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-ldpi Add icon for the copy action 2013-08-29 20:54:36 +02:00
drawable-ldpi-v9 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-ldpi-v11 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-mdpi Recreate app icon from SVG file 2013-11-11 01:09:09 +01:00
drawable-mdpi-v9 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-mdpi-v11 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-xhdpi Recreate app icon from SVG file 2013-11-11 01:09:09 +01:00
drawable-xhdpi-v9 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-xhdpi-v11 Notification icon update 2013-02-26 20:34:52 +01:00
drawable-xxhdpi Recreate app icon from SVG file 2013-11-11 01:09:09 +01:00
drawable-xxxhdpi Recreate app icon from SVG file 2013-11-11 01:09:09 +01:00
layout Change message body font size with slider, using new setTextZoom() WebView API, from 40% to 250% 2014-01-31 23:09:25 +02:00
layout-land Remove unused stuff 2013-02-21 02:00:12 +01:00
layout-v14 When creating accounts only use 'modern' buttons starting with ICS 2013-05-05 06:17:56 +02:00
menu Remove icons from the "Refile" submenu 2013-08-29 21:13:28 +02:00
values Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-ca Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-cs Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-da Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-de Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-el Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-es Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-fi Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-fr Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-fr-rCA Convert translations of 'accounts_welcome' to HTML 2012-12-17 19:00:17 +01:00
values-gl Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-hu Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-it Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-iw Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-ja Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-ko Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-land Change appearance of unread widget 2013-03-16 01:57:21 +01:00
values-lt Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-nl Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-pl Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-pt-rBR Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-ru Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-sk Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-sv Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-sw600dp-land-v14 Change appearance of unread widget 2013-03-16 01:57:21 +01:00
values-sw600dp-port-v14 Change appearance of unread widget 2013-03-16 01:57:21 +01:00
values-tr Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-uk Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-v11 Fixed a bug that caused K-9 to crash on the Accounts page on 4.x if you were using the dark theme 2013-07-01 16:34:43 -04:00
values-v14 The theme changes also crashed Honeycomb devices; more fixing 2013-05-05 06:02:39 +02:00
values-zh-rCN Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
values-zh-rTW Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
xml Eliminate the 'if available' connection security options 2014-03-03 17:23:00 -05:00
xml-ja Updated Japanese translation of the changelog. 2014-02-08 09:41:24 +09:00