Commit Graph
913 Commits
Author SHA1 Message Date
Daniel Martí d8df407b02 Don't hard-code apks.get(0) when showing permissions 2014-01-15 16:33:09 +01:00
Daniel Martí b58cb74612 Revert "Specify that the version is for Android"
This reverts commit aff6a03fa2.

Conflicts:
	res/values/strings.xml
2014-01-14 13:27:04 +01:00
Daniel Martí 99808969d7 Get rid of remaining UPDATE_REPO stuff from FDroid.java 2014-01-10 23:32:53 +01:00
Daniel Martí 27452ac31b Use View.GONE instead of setText("") 2014-01-10 22:52:35 +01:00
Daniel Martí 3567d9e113 Make fix-ellipsis.sh more accurate
* Don't do dirs like res/layout
* Do xml files other than strings.xml like arrays.xml
2014-01-10 22:41:50 +01:00
Daniel Martí 3ae9fd7b88 Try to support AndroidPinning via gradle (won't work as-is) 2014-01-10 22:37:26 +01:00
Daniel Martí a5c66a8c6e New setting: "Small screen" to avoid ellipsizing on small screens 2014-01-10 22:12:57 +01:00
Daniel Martí 7c472c8e18 Merge branch 'development' 2014-01-10 22:06:43 +01:00
Daniel Martí 15c1b98d5c Release 0.58 0.58 2014-01-10 21:29:25 +01:00
Daniel Martí 6a49d9656c Update changelog 2014-01-10 21:02:27 +01:00
Daniel Martí b9628a6960 Merge branch 'master' into development 2014-01-10 18:03:45 +01:00
Daniel Martí 9f4bfe015c Fix: Use PreferencesActivity resultCodes properly
This fixes useless restarts/reloads, and missing ones too.
2014-01-10 18:03:02 +01:00
Daniel Martí 9b28fde89f Rename build.prop to ant.prop, add ant-prepare.sh 2014-01-09 12:35:38 +01:00
Daniel Martí 350d77aec6 Merge branch 'master' into development 2014-01-09 12:25:35 +01:00
Daniel Martí c0fad0fe26 Fix: Don't crash if an app has no categories 2014-01-09 12:25:20 +01:00
Daniel Martí 2d3c333b21 AndroidPinning uses a weird target, force android-17 2014-01-08 23:55:16 +01:00
Daniel Martí 1c988a0b5a DBHelper refactor fix: re-add version column 2014-01-08 23:54:59 +01:00
Daniel Martí a666b53ace Add ignore=dirty to submodules 2014-01-08 23:44:44 +01:00
Daniel Martí 30140d7a3b Indenting fixes 2014-01-08 23:23:32 +01:00
Daniel McCarney 254327f9a7 Adding support for SPKI pins, trust-on-first-use of TLS certs.
In order to support F-droid repositories hosted with HTTPS using
a self-signed certificate the f-droid client should prompt the user to
trust or 'memorize' the certificate presented by a repository. The
MemorizingTrustManager[0] project enables easy integration of
a prompting activity and corresponding trust manager implementation.
This behaviour is useful to projects such as Kerplapp[1] that boostrap
an F-droid repository on a user's device where it isn't possible to
acquire a long lived CA vetted TLS certificate.

In addition to Trust-on-First-Use (TOFU) behaviour, this patch
integrates the PinningTrustManager [2] project by Moxie Marlinspike to
allow the FDroid client to ship a hardcoded set of Subject Public Key
Identifier pins [3] for the official FDroid repository TLS certificate,
and the Guardian Project TLS certificate. Additional pins can be added
to the FDroidPins.java class.

The upstream release of AndroidPinning by moxie0 uses a minsdk value of
8. The Fdroid client has a minsdk of 5, presenting compatibility issues
using the AndroidPinning lib as a submodule. Fortunately it seems there
is no technical reason preventing using a minSDK of 5 with
AndroidPinning. I have created a fork with this change and submitted
a pull req upstream. Until this pull is merged we can use my fork of
AndroidPinning as the submodule.

The new 'flow' for deciding if a repositories presented TLS certificate
should be trusted is as follows:

1) If the certificate was previously trusted by a TOFU action, then the
   certificate is accepted as trusted

2) If the certificate wasn't previously trusted by a TOFU action but
   there is a matching SPKI pin then the certificate is accepted as
   trusted

3) If the certificate wasn't previously trusted by a TOFU action and
   there is no SPKI pin but the certificate is signed by a trusted
   Certificate Authority it is accepted as trusted (This is the
   behaviour of the FDroid client prior to this patch with all other
   conditions being a hard-fail).

4) If the certificate wasn't previously trusted by a TOFU action and
   there is no SPKI pin and the certificate is not signed by a trusted
   CA (i.e. self signed or otherwise) then the user is prompted to TOFU
   the certificate. The user may choose to trust the certificate for the
   current connection or forever. If the user chooses an option other
   than "deny" the certificate is accepted as trusted for the specified
   duration.

Users currently using a TLS protected repository will see *no
difference* in user experience after this patch is merged as the only
TLS protected repositories that would function prior to this patch were
providing certificates that match condition #3.

[0] https://github.com/ge0rg/MemorizingTrustManager/wiki/Integration
[1] https://github.com/guardianproject/kerplapp
[2] https://github.com/moxie0/AndroidPinning
[3] https://www.imperialviolet.org/2011/05/04/pinning.html
2014-01-08 11:01:12 -08:00
Daniel Martí 5f22877e1c Merge branch 'master' into development 2014-01-08 15:06:29 +01:00
Daniel Martí 5b4c40fe07 Log the icons dir for the device density 2014-01-08 15:05:36 +01:00
Daniel Martí 7279dfacac ViewHolder classes are now private 2014-01-08 14:59:07 +01:00
Daniel Martí ff9620caf5 Add build.properties with the same encoding as gradle 2014-01-08 14:18:04 +01:00
Daniel Martí dc5dd51462 Specify UTF-8 in build.gradle 2014-01-08 14:14:43 +01:00
Daniel Martí 499c9e50c5 Move "https://" addrepo default into a string 2014-01-08 13:36:45 +01:00
Daniel Martí 3f19888b11 res/drawable/btn_check_*.png are no longer used 2014-01-08 13:32:51 +01:00
Daniel Martí fe0fe0e6a2 Merge branch 'master' into development 2014-01-08 13:14:59 +01:00
Daniel Martí 3aed80d94b Fix: Don't show "1.0" when sdkLevel is not known yet 2014-01-08 13:14:20 +01:00
Daniel Martí ac739de345 Run fix-ellipsis for the first time 2014-01-08 13:09:53 +01:00
Daniel Martí 648f23e15a Add fix-ellipsis script 2014-01-08 13:09:41 +01:00
Daniel Martí 03dc389f85 Update change-package-name.sh 2014-01-08 13:06:53 +01:00
Daniel Martí 91cf8c9472 Add lint.xml with ignores for MissingTranslation 2014-01-08 13:04:00 +01:00
Daniel Martí 8411dd4f9c Use the same DateFormat for the DB and XML parsing, English locale 2014-01-08 12:55:48 +01:00
Daniel Martí fe41108ed6 Always use Locale.ENGLISH for hashes/fingerprints 2014-01-08 11:58:26 +01:00
Daniel Martí 98d574afbf Switch was added in the sdk level 14, not 11 2014-01-08 11:39:26 +01:00
Daniel Martí c274752477 Actually use the compat class in ClipboardCompat and SwitchCompat 2014-01-08 11:29:03 +01:00
Daniel Martí f1c7846605 Refactor cpuAbis to compat/SupportedArchitectures
Changes:

* Use HashSet instead of ArrayList
* Print all the abis on Log.d instead of just the first one
* Get rid of lintian warnings
2014-01-08 11:21:35 +01:00
Daniel Martí 61ba6d52d0 Change # for Number in @string/repo_num_apps 2014-01-08 10:38:19 +01:00
Daniel Martí 5296bf1477 Remove *.orig files 2014-01-08 10:36:39 +01:00
Daniel Martí 943253084b Use a ViewHolder for the ApkList too 2014-01-08 10:35:30 +01:00
Daniel Martí b4a51c4a91 Merge branch 'master' into development 2014-01-08 09:50:04 +01:00
Daniel Martí 4edd90d7aa Remove translations of removed strings 2014-01-08 09:49:29 +01:00
Daniel Martí abc3631b16 Merge branch 'master' into development 2014-01-07 23:57:25 +01:00
Daniel Martí 837683217b Release 0.57-test 0.57-test 2014-01-07 23:49:23 +01:00
Daniel Martí db01c9c476 Merge branch 'master' into development 2014-01-07 23:36:38 +01:00
Daniel Martí d3686de3cd Support /icons-* per-density icon folders (repo version 11) 2014-01-07 18:23:26 +01:00
Daniel Martí 9709b4f51c No need to use String.format explicitly 2014-01-07 17:50:36 +01:00
Daniel Martí 3d66f7f311 Pull UIL from master again 2014-01-07 17:45:57 +01:00
Ciaran Gultnieks a2fb86f518 Remove bogus translations 2014-01-07 16:28:10 +00:00