54 Commits

Author SHA1 Message Date
Daniel Martí
62056648ee Update spongycastle 2014-08-05 15:09:55 +02:00
Daniel Martí
5cd6285ce0 Update MTM and UIL 2014-08-05 13:30:31 +02:00
Hans-Christoph Steiner
ac83a5a138 update to latest MemorizingTrustManager to get TrustManager bug fixes 2014-08-01 11:16:18 -04:00
Dominik Schürmann
602991767c Update libsuperuser lib (old repo has been deleted, new fork created) 2014-07-26 14:29:58 +02:00
Peter Serwylo
59b9fd6a8c add PreferenceFragment lib since appcompat lacks such a thing
Although Google is encouraging people to make old devices run apps
with the action bar (via appcompat-v7), they haven't provided a way
for people to create preference/setting screens with an action bar.

There are plenty of issues in the Android issue tracker relating
to this, but it doesn't yet seem to be on the radar of the Android
devs.

Until there is a native implementation of PreferenceFragment in
the appcompat-v7 support library, this submodule provides is a 3rd
party solution. It is actually a fork of the first repo in github,
though that was a bit of an upload and dump, without accepting MR's.
This fork includes gradle support.
2014-06-04 23:16:26 -04:00
Daniel Martí
ed630454a5 Update UIL 2014-05-28 22:17:38 +02:00
Hans-Christoph Steiner
ab165a4d7b omit unused spongycastle packages from eclipse/ant build
Many of the classes in spongycastle are entirely unused in FDroid and
dependencies.  So remove them from the Eclipse/Ant build to speed things up
and make the binaries smaller.
2014-05-25 22:53:18 -04:00
Hans-Christoph Steiner
0ee5332c01 rename 'ant-src' to 'symlinks-for-ant-and-eclipse' for clarity
In order to make the codebase more self-documenting, rename it to more
clearly say what it is for.
2014-05-25 22:53:17 -04:00
Hans-Christoph Steiner
a688a029bf symlinks to build spongycastle with ant
This is all the symlinks to build what FDroid needs from spongycastle using
ant. The LDAP-related classes had to be removed because they depend on
Java 7's javax.naming, which Android does not provide. FDroid does not need
LDAP at all, so those classes can be entirely omitted.

refs #2540 https://dev.guardianproject.info/issues/2540
refs #3380 https://dev.guardianproject.info/issues/3380
2014-05-25 22:53:17 -04:00
Hans-Christoph Steiner
b95c93de59 restore symlink mistakenly deleted in 414c4e0c6768704fd5392a7db4c1fb38d9aab02f
Looks like this symlink got mistakenly deleted.  It is needed for eclipse
and ant to find the zipsigner stuff.
2014-05-25 22:52:38 -04:00
Daniel Martí
414c4e0c67 Use zxing-core from source in both ant and gradle
Also, temporarily remove zipsigner from ant until spongycastle is added to it
so that ant builds work
2014-05-25 13:39:56 +02:00
Daniel Martí
e2c3811f4d Update zipsigner to include lib-optional 2014-05-23 09:10:21 +02:00
Daniel Martí
2beee93e07 Replace nanohttpd with _hc's fork again for https 2014-05-21 08:58:42 +02:00
Daniel Martí
8e4ef71168 Also add ant src link for jmdns 2014-05-21 08:48:45 +02:00
Daniel Martí
29048a0c60 Include spongycastle 2014-05-20 19:12:29 +02:00
Daniel Martí
dd60f5cd3b Re-add nanohttpd, from upstream this time 2014-05-20 18:54:06 +02:00
Daniel Martí
b7feebddf9 Also use jmdns like a java library in ant 2014-05-20 18:52:19 +02:00
Daniel Martí
67c7c9b8b5 Don't try to use nanohttpd as an android library either 2014-05-20 18:37:20 +02:00
Daniel Martí
319e1faf3b Add zipsigner as a submodule 2014-05-20 18:22:24 +02:00
Daniel Martí
4d44f3fce8 Build support-v4 from source with gradle
v7-appcompat can be enabled/used in gradle by changing :support-v4 with
:support-appcompat-v7 in build.gradle and bumping minSdk from 5 to 7
2014-05-19 11:56:45 +02:00
Daniel Martí
9d6cabe737 Update nanohttpd 2014-05-19 08:49:56 +02:00
Daniel Martí
cdbbb9d580 Add jmdns as a submodule 2014-05-18 14:04:07 +02:00
Daniel Martí
d68b959856 Update UIL 2014-05-18 12:33:42 +02:00
Dominik Schürmann
919f9c63b8 Merge master into super-fdroid 2014-05-11 00:38:53 +02:00
Daniel Martí
52c61ec1ca Update nanohttpd, replace as an ant library 2014-05-07 22:02:40 +02:00
Hans-Christoph Steiner
db0b106656 nanohttpd submodule for supporting local HTTP repos
This webserver is the core of the kerplapp swap local repo when used over
IP connections (WiFi).  It is the smallest Java webserver we could find. It
is included as a git submodule, but then only the actual source files that
are needed are included.  They are symlinked in src/.

The git repo used is the one that we submitted upstream as a pull request.
The pull request contains changes required to support https://.  It has not
yet been accepted, so we cannot yet use the official repo.  Once the pull
request is included, this should be switched to the latest release in the
official git repo.

https://github.com/eighthave/nanohttpd
https://github.com/NanoHttpd/nanohttpd/pull/107

refs #3204 https://dev.guardianproject.info/issues/3204
2014-05-06 11:55:51 -04:00
Dominik Schürmann
588e22462b Merge branch 'master' into super-fdroid 2014-04-27 20:52:58 +02:00
Daniel Martí
e80b1e03ac AP moved to gitlab + build.gradle typo fix 2014-04-27 20:36:55 +02:00
Dominik Schürmann
732fb87944 Add libsuperuser as external git submodule and project dependency 2014-04-26 02:40:08 +02:00
Daniel Martí
87775be76c Update UIL, adapt to the changes 2014-04-20 12:51:50 +02:00
Daniel Martí
655f2bf7e3 Update UIL 2014-04-17 01:20:42 +02:00
Daniel Martí
ded9b146a2 Update UIL 2014-03-20 00:09:17 +01:00
Daniel Martí
58609a4f50 Update submodules 2014-03-17 13:20:38 +01:00
Daniel Martí
7111f54c9b Update submodules 2014-02-27 11:32:20 +01:00
Daniel Martí
28d5456e72 Update submodules 2014-02-20 09:32:43 +01:00
Daniel Martí
4b4ee4b6db Update MTM module, now supports gradle 2014-02-18 11:26:15 +01:00
Daniel Martí
b709f9e17a Update AndroidPinning 2014-02-14 21:26:04 +01:00
Daniel Martí
967174b549 Finally get UIL working as a gradle library
The problem were the dashes in the path 'extern/Universal-Image-Loader'
2014-02-14 10:34:36 +01:00
Daniel Martí
51a02fe40f Update libraries 2014-02-14 09:12:52 +01:00
Daniel Martí
0ff1257aef Update submodules 2014-02-10 09:15:03 +01:00
Daniel Martí
d553b07af2 Update submodules 2014-01-29 23:33:22 +01:00
Daniel Martí
50ee88fbc7 Update AndroidPinning, get rid of -t android-17 2014-01-23 18:59:35 +01:00
Daniel Martí
6819d678a5 Pull from AndroidPinning, which lowers minsdk from 8 to 5 2014-01-23 09:55:48 +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í
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
Daniel Martí
5ef87602ca Update UIL, release 1.9.1 2013-12-31 11:03:34 +01:00
Daniel Martí
5c722ff07b Update UIL 2013-12-25 19:36:27 +01:00
Daniel Martí
901112b29d Update UIL 2013-12-07 12:25:48 +01:00
Daniel Martí
78caf63093 Update UIL to latest master 2013-11-27 15:23:55 +01:00