75 Commits

Author SHA1 Message Date
Anatoly Pugachev
09fc1c5545 added sdk CLI for a target platform and SDK URL 2014-09-30 16:08:43 +04:00
Daniel Martí
0f98042520 Remove broken support for repo and Android.mk
* The repo instructions are just a duplicate of the simple git submodules
* The Android.mk build instructions don't work and will never support what
  e.g. gradle does

Anyone wanting to bundle F-Droid in a ROM can build it with git and gradle,
and then including the resulting apk.
2014-05-20 18:39:26 +02:00
Daniel Martí
c288fd5534 Prepare for 0.66 release 2014-05-01 19:25:07 +02:00
Daniel Martí
55acd955b9 Prepare for 0.65 release 2014-04-29 11:55:29 +02:00
Daniel Martí
af2515bbf6 Run tools/repo-revisions.sh 2014-04-29 11:31:07 +02:00
Daniel Martí
07b79c1e06 Slightly better wording in the README. ant-prepare success prints. 2014-04-26 01:08:01 +02:00
Peter Serwylo
cfcdfebe4e Fixed typo in README troubleshooting. 2014-04-26 07:57:14 +09:30
Peter Serwylo
4d1def468f Added build troubleshooting to README (Issue #17) 2014-04-26 07:52:18 +09:30
Daniel Martí
f6cf7c9b0c Revert "Use a commit hash instead of 0.62 to test if repo works"
This reverts commit f0a40d8b6e1f165b75444353c8aac60c39c8ac68.
2014-04-01 16:06:01 +02:00
Daniel Martí
f0a40d8b6e Use a commit hash instead of 0.62 to test if repo works 2014-04-01 15:19:14 +02:00
Daniel Martí
232145eac1 Update repo snippet to latest version 2014-04-01 15:09:35 +02:00
Daniel Martí
aa85cddd84 Fix repo manifest for 0.58, not master 2014-03-17 14:01:17 +01:00
Daniel Martí
ca0ed2844e README: Minor fixes, don't use repos differing from the ones in git submodules 2014-03-17 13:35:35 +01:00
Rene Treffer
7fa25d3209 Add ROM building instructions
Android.mk enables ROM devs to bundle F-Droid. Add instruction on how to
do it.
2014-03-16 14:03:46 +01:00
Hans-Christoph Steiner
cdad2c66ed add instructions for running the embedded Android Test Project 2014-02-13 23:28:31 -05:00
Daniel Martí
52dc6f8977 Update README with new translation info 2014-02-10 09:37:03 +01:00
Daniel Martí
077548eb72 Note that automatic building via gradle is not supported 2014-01-19 20:50:11 +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í
2d3c333b21 AndroidPinning uses a weird target, force android-17 2014-01-08 23:55:16 +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í
bf225d870b Include brief translating instructions to README 2013-10-25 21:11:40 +02:00
Daniel Martí
3f9ed656de Update build instructions 2013-09-23 20:32:55 +02:00
Daniel Martí
0d6ec3a001 Properly put shell commands in markdown 2013-09-22 00:49:00 +02:00
Daniel Martí
4427eb2d44 Small README fixes 2013-09-22 00:43:31 +02:00
Daniel Martí
100d1a144b Add basic README markdown file 2013-09-22 00:08:40 +02:00