From 38e4b38602d54591185bcf2e1dd73e90364606bb Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 26 Feb 2016 19:48:07 +0100 Subject: [PATCH] Re-enable NetCipher to provide decent TLS on all Android versions Revert "Revert netcipher to fix SNI regression" This reverts commit 6c8e726aadbe6714d6295882c5be87a7bf81a9f0. NetCipher is important for making sure that the client running on older versions of Android is not using extremely crappy default TLS settings. It also streamlines the Tor support. closes #431 https://gitlab.com/fdroid/fdroidclient/issues/431 closes #576 https://gitlab.com/fdroid/fdroidclient/issues/576 --- CHANGELOG.md | 5 +++ F-Droid/build.gradle | 2 + F-Droid/proguard-rules.pro | 4 ++ F-Droid/res/values/strings.xml | 2 + F-Droid/res/xml/preferences.xml | 4 ++ F-Droid/src/org/fdroid/fdroid/FDroid.java | 1 + F-Droid/src/org/fdroid/fdroid/FDroidApp.java | 28 +++++++++++++ .../src/org/fdroid/fdroid/Preferences.java | 13 +++++++ .../fdroid/fdroid/net/DownloaderFactory.java | 3 -- .../org/fdroid/fdroid/net/HttpDownloader.java | 39 +++++++++++++------ .../fdroid/fdroid/net/TorHttpDownloader.java | 28 ------------- .../fdroid/views/ManageReposActivity.java | 1 + .../views/fragments/PreferencesFragment.java | 32 +++++++++++++++ 13 files changed, 120 insertions(+), 42 deletions(-) delete mode 100644 F-Droid/src/org/fdroid/fdroid/net/TorHttpDownloader.java diff --git a/CHANGELOG.md b/CHANGELOG.md index e5b668f57..f67c07974 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ + +* add simple "Use Tor" preference + +* Enable TLS v1.2 for officials repo on all devices that support it + ### 0.98.1 (2016-02-14) * Fix crash when entering only a space into the search dialog diff --git a/F-Droid/build.gradle b/F-Droid/build.gradle index 1ad545715..92cabd569 100644 --- a/F-Droid/build.gradle +++ b/F-Droid/build.gradle @@ -17,6 +17,7 @@ dependencies { compile 'com.google.zxing:core:3.2.1' compile 'eu.chainfire:libsuperuser:1.0.0.201602011018' compile 'cc.mvdan.accesspoint:library:0.1.3' + compile 'info.guardianproject.netcipher:netcipher:1.2.1' compile 'commons-net:commons-net:3.4' compile 'org.openhab.jmdns:jmdns:3.4.2' compile('ch.acra:acra:4.8.2') { @@ -71,6 +72,7 @@ if (!hasProperty('sourceDeps')) { 'eu.chainfire:libsuperuser:952c5fc82f9c31d31d2b6a7054ee267dac1685fb037a254888c73c48de661eaf', 'cc.mvdan.accesspoint:library:dc89a085d6bc40381078b8dd7776b12bde0dbaf8ffbcddb17ec4ebc3edecc7ba', 'commons-net:commons-net:38cf2eca826b8bcdb236fc1f2e79e0c6dd8e7e0f5c44a3b8e839a1065b2fbe2e', + 'info.guardianproject.netcipher:netcipher:611ec5bde9d799fd57e1efec5c375f9f460de2cdda98918541decc9a7d02f2ad', 'org.openhab.jmdns:jmdns:7a4b34b5606bbd2aff7fdfe629edcb0416fccd367fb59a099f210b9aba4f0bce', 'com.madgag.spongycastle:pkix:6aba9b2210907a3d46dd3dcac782bb3424185290468d102d5207ebdc9796a905', 'com.madgag.spongycastle:prov:029f26cd6b67c06ffa05702d426d472c141789001bcb15b7262ed86c868e5643', diff --git a/F-Droid/proguard-rules.pro b/F-Droid/proguard-rules.pro index 4784add4a..65c2e1e09 100644 --- a/F-Droid/proguard-rules.pro +++ b/F-Droid/proguard-rules.pro @@ -10,6 +10,10 @@ -dontnote android.support.** -dontnote **ILicensingService +# StrongHttpsClient and its support classes are totally unused, so the +# ch.boye.httpclientandroidlib.** classes are also unneeded +-dontwarn info.guardianproject.netcipher.client.** + # These libraries are known to break if minification is enabled on them. They # use reflection to instantiate classes, for example. If the keep flags are # removed, proguard will strip classes which are required, which may result in diff --git a/F-Droid/res/values/strings.xml b/F-Droid/res/values/strings.xml index bd55734cb..e60b30152 100644 --- a/F-Droid/res/values/strings.xml +++ b/F-Droid/res/values/strings.xml @@ -166,6 +166,8 @@ Next Skip + Use Tor + Force download traffic through Tor for increased privacy Proxy Enable HTTP Proxy Configure HTTP Proxy for all network requests diff --git a/F-Droid/res/xml/preferences.xml b/F-Droid/res/xml/preferences.xml index 165b05864..43cb8b184 100644 --- a/F-Droid/res/xml/preferences.xml +++ b/F-Droid/res/xml/preferences.xml @@ -48,6 +48,10 @@ android:title="@string/local_repo_name" /> +