From 625bdcebbaab434a7d1757041fdbc9a072645bbe Mon Sep 17 00:00:00 2001 From: F-Droid Translatebot Date: Mon, 28 Apr 2014 07:56:28 +0100 Subject: [PATCH 01/73] Translation updates --- res/values-fr/strings.xml | 22 +++++++++++----------- res/values-it/strings.xml | 2 +- res/values-nb/strings.xml | 4 ++-- res/values-pl/strings.xml | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index d0306be35..55318ac82 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -10,7 +10,7 @@ Éditer Supprimer Activer l\'envoi NFC… - Stocker les applications téléchargées sur l\'appareil + Stockage d\'applications téléchargées Garder les fichiers apk téléchargés sur la carte SD Ne pas garder les fichiers apk Mises à jour @@ -34,7 +34,7 @@ Originellement basée sur Aptoide. Publiée sous licence GNU GPL v3. Site Web : - E-Mail: + Courriel: Version: Site Web Aucun dépôt n\'est configuré ! @@ -42,8 +42,8 @@ Publiée sous licence GNU GPL v3. Un dépôt est une source d\'applications. Pour en ajouter un, appuyez maintenant sur le bouton MENU et entrez l\'adresse URL. L\'URL d\'un dépôt ressemble à ceci : https://f-droid.org/repo - Installée - Pas installée + Installées + Non installée Ajouté le %s OK Oui @@ -56,9 +56,9 @@ L\'URL d\'un dépôt ressemble à ceci : https://f-droid.org/repo Écraser Choisissez le dépôt à supprimer Mettre à jour les dépôts - Disponible + Disponibles Mises à jour - 1 mise à jour est disponible. + Une mise à jour est disponible. %d mises à jour sont disponibles. Des mises à jour F-Droid sont disponibles Patientez @@ -82,7 +82,7 @@ Voulez-vous les mettre à jour ? Gestion de dépôts Bluetooth FDroid.apk… Préférences - A propos + À propos Rechercher Nouveau dépôt Supprimer un dépôt @@ -113,7 +113,7 @@ Voulez-vous les mettre à jour ? Afficher plus d\'infos et activer des paramètres supplémentaires Cacher des extras pour les utilisateurs avancés Rechercher des applications - Compatibilité de l\'application + Compatibilité des applications Versions incompatibles Afficher les versions des applications incompatibles avec l\'appareil Cacher les applications incompatibles avec l\'appareil @@ -136,11 +136,11 @@ Voulez-vous les mettre à jour ? %1$s Connexion à %1$s - Vérification de la compatibilité des applis avec votre appareil… + Vérification de la compatibilité des applications avec votre appareil… Sauvegarder les détails de l\'application (%1$d%%) Aucune autorisation n\'est utilisée. - Autorisations pour la version %s - Afficher les autorisations + Permissions pour la version %s + Afficher les permissions Afficher la liste des permissions qu\'une app requiert Ne pas afficher les permissions avant le téléchargement Vous n\'avez aucune application installée pour gérer %s diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 8b3835d67..cf267a3f9 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -127,7 +127,7 @@ Vuoi aggiornarlo? Novità Aggiornate di Recente Repo FDroid Locali - Rilevazione repo FDroid locali… + Rilevazione repo FDroid locali... Scaricamento %2$s / %3$s (%4$d%%) da %1$s diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index d6baa646c..a2ed8c4f6 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -75,7 +75,7 @@ Lisensiert GNU GPLv3. Listen over brukte register har endret seg. Vil du oppdatere dem? Oppdater registrene Endre registrene - Blåtann FDroid.apk… + Blåtann FDroid.apk... Innstillinger Om Søk @@ -122,7 +122,7 @@ Lisensiert GNU GPLv3. Det som er nytt Nylig oppdatert Lokale F-Droid register - Oppdager lokale FDroid register… + Oppdager lokale FDroid register... Laster ned %2$s / %3$s (%4$d%%) fra %1$s diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 6e709bf01..fc1cc4a16 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -150,7 +150,7 @@ Opis i inne szczegóły będą tu dostępne gdy zaktualizujesz repozytoriumUsunięcie repozytorium oznacza, że aplikacje z niego nie będą dłużej dostępne w F-Droid. Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu. - Zablokowane \"%1$s\". + Zablokowane \"%1%s\". Aby zainstalować aplikacje z tego repozytorium musisz je włączyć ponownie. %s lub później From aa1b9e6696dc9181ca898a50743023126b4756a2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2014 21:34:30 -0400 Subject: [PATCH 02/73] allow incoming repos via Intent when on ManageRepo view Since before, incoming repo Intents where handled in the Fragment's onCreate(), an Intent that was received while the Fragment was visible was just ignored. Activities have onNewIntent() for that, but Fragments don't so the repo Intent handling had to be moved to the ManageRepo Activity. That makes for a more direct relationship anyway, since ManageRepo is what is configured as receiving all those Intents in AndroidManifest.xml. --- src/org/fdroid/fdroid/ManageRepo.java | 90 +++++++++++++++++++ .../views/fragments/RepoListFragment.java | 87 +++--------------- 2 files changed, 100 insertions(+), 77 deletions(-) diff --git a/src/org/fdroid/fdroid/ManageRepo.java b/src/org/fdroid/fdroid/ManageRepo.java index 665f8bd6c..733f0e063 100644 --- a/src/org/fdroid/fdroid/ManageRepo.java +++ b/src/org/fdroid/fdroid/ManageRepo.java @@ -20,17 +20,25 @@ package org.fdroid.fdroid; import android.app.Activity; +import android.content.Context; import android.content.Intent; +import android.net.Uri; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.NavUtils; +import android.text.TextUtils; import android.util.Log; import android.view.MenuItem; import android.widget.LinearLayout; +import android.widget.Toast; + import org.fdroid.fdroid.compat.ActionBarCompat; import org.fdroid.fdroid.views.fragments.RepoListFragment; +import java.util.Locale; public class ManageRepo extends FragmentActivity { /** @@ -68,6 +76,18 @@ public class ManageRepo extends FragmentActivity { ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true); } + @Override + protected void onResume() { + super.onResume(); + /* let's see if someone is trying to send us a new repo */ + addRepoFromIntent(getIntent()); + } + + @Override + protected void onNewIntent(Intent intent) { + addRepoFromIntent(intent); + } + @Override public void finish() { Intent ret = new Intent(); @@ -99,4 +119,74 @@ public class ManageRepo extends FragmentActivity { } return super.onOptionsItemSelected(item); } + + private void addRepoFromIntent(Intent intent) { + /* an URL from a click, NFC, QRCode scan, etc */ + Uri uri = intent.getData(); + if (uri != null) { + // scheme and host should only ever be pure ASCII aka Locale.ENGLISH + String scheme = intent.getScheme(); + String host = uri.getHost(); + if (scheme == null || host == null) { + String msg = String.format(getString(R.string.malformed_repo_uri), uri); + Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); + return; + } + if (scheme.equals("FDROIDREPO") || scheme.equals("FDROIDREPOS")) { + /* + * QRCodes are more efficient in all upper case, so QR URIs are + * encoded in all upper case, then forced to lower case. + * Checking if the special F-Droid scheme being all is upper + * case means it should be downcased. + */ + uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); + } else if (uri.getPath().startsWith("/FDROID/REPO")) { + /* + * some QR scanners chop off the fdroidrepo:// and just try + * http://, then the incoming URI does not get downcased + * properly, and the query string is stripped off. So just + * downcase the path, and carry on to get something working. + */ + uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); + } + // make scheme and host lowercase so they're readable in dialogs + scheme = scheme.toLowerCase(Locale.ENGLISH); + host = host.toLowerCase(Locale.ENGLISH); + String fingerprint = uri.getQueryParameter("fingerprint"); + Log.i("RepoListFragment", "onCreate " + fingerprint); + if (scheme.equals("fdroidrepos") || scheme.equals("fdroidrepo") + || scheme.equals("https") || scheme.equals("http")) { + + /* sanitize and format for function and readability */ + String uriString = uri.toString() + .replaceAll("\\?.*$", "") // remove the whole query + .replaceAll("/*$", "") // remove all trailing slashes + .replace(uri.getHost(), host) // downcase host name + .replace(intent.getScheme(), scheme) // downcase scheme + .replace("fdroidrepo", "http"); // proper repo address + listFragment.importRepo(uriString, fingerprint); + + // if this is a local repo, check we're on the same wifi + String uriBssid = uri.getQueryParameter("bssid"); + if (!TextUtils.isEmpty(uriBssid)) { + if (uri.getPort() != 8888 + && !host.matches("[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")) { + Log.i("ManageRepo", "URI is not local repo: " + uri); + return; + } + WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + String bssid = wifiInfo.getBSSID().toLowerCase(Locale.ENGLISH); + uriBssid = Uri.decode(uriBssid).toLowerCase(Locale.ENGLISH); + if (!bssid.equals(uriBssid)) { + String msg = String.format(getString(R.string.not_on_same_wifi), + uri.getQueryParameter("ssid")); + Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); + } + // TODO we should help the user to the right thing here, + // instead of just showing a message! + } + } + } + } } diff --git a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java index fa43cb82b..7f04bd64f 100644 --- a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java @@ -63,8 +63,6 @@ public class RepoListFragment extends ListFragment private final int UPDATE_REPOS = 2; private final int SCAN_FOR_REPOS = 3; - private WifiManager wifiManager; - public boolean hasChanged() { return changed; } @@ -85,13 +83,11 @@ public class RepoListFragment extends ListFragment @Override public void onLoadFinished(Loader cursorLoader, Cursor cursor) { - Log.i("FDroid", "Repo cursor loaded."); repoAdapter.swapCursor(cursor); } @Override public void onLoaderReset(Loader cursorLoader) { - Log.i("FDroid", "Repo cursor reset."); repoAdapter.swapCursor(null); } @@ -186,79 +182,6 @@ public class RepoListFragment extends ListFragment super.onCreate(savedInstanceState); setHasOptionsMenu(true); - - /* let's see if someone is trying to send us a new repo */ - Intent intent = getActivity().getIntent(); - /* an URL from a click, NFC, QRCode scan, etc */ - Uri uri = intent.getData(); - if (uri != null) { - // scheme and host should only ever be pure ASCII aka Locale.ENGLISH - String scheme = intent.getScheme(); - String host = uri.getHost(); - if (scheme == null || host == null) { - String msg = String.format(getString(R.string.malformed_repo_uri), uri); - Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show(); - return; - } - if (scheme.equals("FDROIDREPO") || scheme.equals("FDROIDREPOS")) { - /* - * QRCodes are more efficient in all upper case, so QR URIs are - * encoded in all upper case, then forced to lower case. - * Checking if the special F-Droid scheme being all is upper - * case means it should be downcased. - */ - uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); - } else if (uri.getPath().startsWith("/FDROID/REPO")) { - /* - * some QR scanners chop off the fdroidrepo:// and just try - * http://, then the incoming URI does not get downcased - * properly, and the query string is stripped off. So just - * downcase the path, and carry on to get something working. - */ - uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); - } - // make scheme and host lowercase so they're readable in dialogs - scheme = scheme.toLowerCase(Locale.ENGLISH); - host = host.toLowerCase(Locale.ENGLISH); - String fingerprint = uri.getQueryParameter("fingerprint"); - if (scheme.equals("fdroidrepos") || scheme.equals("fdroidrepo") - || scheme.equals("https") || scheme.equals("http")) { - - isImportingRepo = true; - - /* sanitize and format for function and readability */ - String uriString = uri.toString() - .replaceAll("\\?.*$", "") // remove the whole query - .replaceAll("/*$", "") // remove all trailing slashes - .replace(uri.getHost(), host) // downcase host name - .replace(intent.getScheme(), scheme) // downcase scheme - .replace("fdroidrepo", "http"); // proper repo address - showAddRepo(uriString, fingerprint); - - // if this is a local repo, check we're on the same wifi - String uriBssid = uri.getQueryParameter("bssid"); - if (!TextUtils.isEmpty(uriBssid)) { - if (uri.getPort() != 8888 - && !host.matches("[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")) { - Log.i("ManageRepo", "URI is not local repo: " + uri); - return; - } - Activity a = getActivity(); - if (wifiManager == null) - wifiManager = (WifiManager) a.getSystemService(Context.WIFI_SERVICE); - WifiInfo wifiInfo = wifiManager.getConnectionInfo(); - String bssid = wifiInfo.getBSSID().toLowerCase(Locale.ENGLISH); - uriBssid = Uri.decode(uriBssid).toLowerCase(Locale.ENGLISH); - if (!bssid.equals(uriBssid)) { - String msg = String.format(getString(R.string.not_on_same_wifi), - uri.getQueryParameter("ssid")); - Toast.makeText(a, msg, Toast.LENGTH_LONG).show(); - } - // TODO we should help the user to the right thing here, - // instead of just showing a message! - } - } - } } @Override @@ -375,6 +298,11 @@ public class RepoListFragment extends ListFragment nsdHelper.discoverServices(); } + public void importRepo(String uri, String fingerprint) { + isImportingRepo = true; + showAddRepo(uri, fingerprint); + } + private void showAddRepo() { showAddRepo(getNewRepoUri(), null); } @@ -385,6 +313,11 @@ public class RepoListFragment extends ListFragment final EditText uriEditText = (EditText) view.findViewById(R.id.edit_uri); final EditText fingerprintEditText = (EditText) view.findViewById(R.id.edit_fingerprint); + /* + * If the "add new repo" dialog is launched by an action outside of + * FDroid, i.e. a URL, then check to see if any existing repos match, + * and change the action accordingly. + */ final Repo repo = (newAddress != null && isImportingRepo) ? RepoProvider.Helper.findByAddress(getActivity(), newAddress) : null; From 649bfa10b77b3a353a26bffad60c5ba6ea7a02a2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2014 22:46:24 -0400 Subject: [PATCH 03/73] fix silly bug in signing key fingerprint calculation for display This was causing the first byte of the signature to be chopped off, so therefore it would not validate since the fingerprint of the cert from the net connection had the right fingerprint, but it was compared to the stored, truncated version. This also means that the database version needs to be bumped to trigger an upgrade so that the bad 62 char fingerprints are removed from the database. --- src/org/fdroid/fdroid/Utils.java | 4 ++-- src/org/fdroid/fdroid/data/DBHelper.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 62409bd15..8d146823a 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -178,7 +178,7 @@ public final class Utils { // return a fingerprint formatted for display public static String formatFingerprint(String fingerprint) { - if (fingerprint.length() != 62) // SHA-256 is 62 hex chars + if (fingerprint.length() != 64) // SHA-256 is 64 hex chars return "BAD FINGERPRINT"; String displayFP = fingerprint.substring(0, 2); for (int i = 2; i < fingerprint.length(); i = i + 2) @@ -218,7 +218,7 @@ public final class Utils { digest.update(key); byte[] fingerprint = digest.digest(); Formatter formatter = new Formatter(new StringBuilder()); - for (int i = 1; i < fingerprint.length; i++) { + for (int i = 0; i < fingerprint.length; i++) { formatter.format("%02X", fingerprint[i]); } ret = formatter.toString(); diff --git a/src/org/fdroid/fdroid/data/DBHelper.java b/src/org/fdroid/fdroid/data/DBHelper.java index 49cfda93a..4d81bb4b4 100644 --- a/src/org/fdroid/fdroid/data/DBHelper.java +++ b/src/org/fdroid/fdroid/data/DBHelper.java @@ -96,7 +96,7 @@ public class DBHelper extends SQLiteOpenHelper { + "versionName TEXT NOT NULL " + " );"; - private static final int DB_VERSION = 43; + private static final int DB_VERSION = 44; private Context context; @@ -322,7 +322,7 @@ public class DBHelper extends SQLiteOpenHelper { * calculate its fingerprint and save it to the database. */ private void addFingerprintToRepo(SQLiteDatabase db, int oldVersion) { - if (oldVersion < 29) { + if (oldVersion < 44) { if (!columnExists(db, TABLE_REPO, "fingerprint")) db.execSQL("alter table " + TABLE_REPO + " add column fingerprint text"); List oldrepos = new ArrayList(); From a0970d07204e0ab97df63f782e1ff49cc94659fe Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2014 23:53:56 -0400 Subject: [PATCH 04/73] when adding a repo with fingerprint, make sure to store the pubkey The logic here is crufty, so I slapped a flag in there to make sure that the pubkey gets stored when someone configures a repo and includes the fingerprint. When the fingerprint is set, it will first download the index.jar and verify it against that fingerprint. The logic for storing the pubkey permanently happens later in the XML parsing, so there needs to be a flag to signal to store the pubkey in this case. Before the flow was always index.xml -> get pubkey -> index.jar. Really, there should no longer be support for unsigned repos, then all of this stuff can be dramatically simplified. fixes #2924 https://dev.guardianproject.info/issues/2924 refs #2960 https://dev.guardianproject.info/issues/2960 --- src/org/fdroid/fdroid/updater/RepoUpdater.java | 12 +++++++++--- src/org/fdroid/fdroid/updater/SignedRepoUpdater.java | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/org/fdroid/fdroid/updater/RepoUpdater.java b/src/org/fdroid/fdroid/updater/RepoUpdater.java index d961e26fb..486798154 100644 --- a/src/org/fdroid/fdroid/updater/RepoUpdater.java +++ b/src/org/fdroid/fdroid/updater/RepoUpdater.java @@ -43,6 +43,7 @@ abstract public class RepoUpdater { protected final Repo repo; private List apps = new ArrayList(); private List apks = new ArrayList(); + protected boolean usePubkeyInJar = false; protected boolean hasChanged = false; protected ProgressListener progressListener; @@ -230,9 +231,13 @@ abstract public class RepoUpdater { values.put(RepoProvider.DataColumns.LAST_ETAG, etag); } - // We read an unsigned index, but that indicates that - // a signed version is now available... - if (handler.getPubKey() != null && repo.pubkey == null) { + /* + * We read an unsigned index that indicates that a signed version + * is available. Or we received a repo config that included the + * fingerprint, so we need to save the pubkey now. + */ + if (handler.getPubKey() != null && + (repo.pubkey == null || usePubkeyInJar)) { // TODO: Spend the time *now* going to get the etag of the signed // repo, so that we can prevent downloading it next time. Otherwise // next time we update, we have to download the signed index @@ -241,6 +246,7 @@ abstract public class RepoUpdater { Log.d("FDroid", "Public key found - switching to signed repo for future updates"); values.put(RepoProvider.DataColumns.PUBLIC_KEY, handler.getPubKey()); + usePubkeyInJar = false; } if (handler.getVersion() != -1 && handler.getVersion() != repo.version) { diff --git a/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java b/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java index 9b5ef8b1e..f7ac7e805 100644 --- a/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java +++ b/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java @@ -31,6 +31,7 @@ public class SignedRepoUpdater extends RepoUpdater { String certdata = Hasher.hex(cert); if (repo.pubkey == null && repo.fingerprint.equals(Utils.calcFingerprint(cert))) { repo.pubkey = certdata; + usePubkeyInJar = true; } if (repo.pubkey != null && repo.pubkey.equals(certdata)) { match = true; From cce393de096c3b07093e54622b85cb40899c67ef Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2014 23:57:42 -0400 Subject: [PATCH 05/73] "unverified" repo state for repos w/ fingerprints but not yet pubkeys If a repo was configured with a fingerprint, but it has not yet updated and gotten the pubkey from the index.jar, then it will be in an "unverified" state, i.e. the signing key fingerprint is stored, but it has not yet been used to check against the pubkey in the index.jar --- res/values/colors.xml | 1 + res/values/strings.xml | 1 + src/org/fdroid/fdroid/data/Repo.java | 9 ++++++++- src/org/fdroid/fdroid/views/RepoAdapter.java | 8 +++++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/res/values/colors.xml b/res/values/colors.xml index 7cd1486ca..d2777848b 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -2,4 +2,5 @@ #ffcccccc #ffCC0000 + #ff999999 \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index b068d0ae9..e8e837990 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -176,6 +176,7 @@ Show icons at regular size Theme Unsigned + Unverified URL Number of apps Fingerprint of Repo Signing Key (SHA-256) diff --git a/src/org/fdroid/fdroid/data/Repo.java b/src/org/fdroid/fdroid/data/Repo.java index 76001ca1d..64d6b3f78 100644 --- a/src/org/fdroid/fdroid/data/Repo.java +++ b/src/org/fdroid/fdroid/data/Repo.java @@ -2,6 +2,7 @@ package org.fdroid.fdroid.data; import android.content.ContentValues; import android.database.Cursor; +import android.text.TextUtils; import android.util.Log; import org.fdroid.fdroid.Utils; @@ -78,7 +79,13 @@ public class Repo extends ValueObject { } public boolean isSigned() { - return this.pubkey != null && this.pubkey.length() > 0; + return !TextUtils.isEmpty(this.pubkey); + } + + // this happens when a repo is configed with a fingerprint, but the client + // has not connected to it yet to download its pubkey + public boolean isSignedButUnverified() { + return TextUtils.isEmpty(this.pubkey) && !TextUtils.isEmpty(this.fingerprint); } public boolean hasBeenUpdated() { diff --git a/src/org/fdroid/fdroid/views/RepoAdapter.java b/src/org/fdroid/fdroid/views/RepoAdapter.java index 307f325de..aa816bda6 100644 --- a/src/org/fdroid/fdroid/views/RepoAdapter.java +++ b/src/org/fdroid/fdroid/views/RepoAdapter.java @@ -97,10 +97,16 @@ public class RepoAdapter extends CursorAdapter { // If we set the signed view to GONE instead of INVISIBLE, then the // height of each list item varies. - View signedView = view.findViewById(R.id.repo_unsigned); + TextView signedView = (TextView) view.findViewById(R.id.repo_unsigned); if (repo.isSigned()) { signedView.setVisibility(View.INVISIBLE); + } else if (repo.isSignedButUnverified()) { + signedView.setText(R.string.unverified); + signedView.setTextColor(view.getResources().getColor(R.color.unverified)); + signedView.setVisibility(View.VISIBLE); } else { + signedView.setText(R.string.unsigned); + signedView.setTextColor(view.getResources().getColor(R.color.unsigned)); signedView.setVisibility(View.VISIBLE); } } From 4dc2c60863dde06fa9880165c9ca9c889e7525ae Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 26 Apr 2014 16:12:34 -0400 Subject: [PATCH 06/73] add more checks on fingerprints fed to Utils.formatFingerprint() This is the gateway to the user, so this should present trusted info! --- src/org/fdroid/fdroid/Utils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 8d146823a..20b64e07a 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -178,7 +178,9 @@ public final class Utils { // return a fingerprint formatted for display public static String formatFingerprint(String fingerprint) { - if (fingerprint.length() != 64) // SHA-256 is 64 hex chars + if (TextUtils.isEmpty(fingerprint) + || fingerprint.length() != 64 // SHA-256 is 64 hex chars + || fingerprint.matches(".*[^0-9a-fA-F].*")) // its a hex string return "BAD FINGERPRINT"; String displayFP = fingerprint.substring(0, 2); for (int i = 2; i < fingerprint.length(); i = i + 2) From 1018cad3b422bd3b86cfdda56ec435943260fc88 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 26 Apr 2014 16:14:59 -0400 Subject: [PATCH 07/73] Utils tests: formatFingerprint() and calcFingerprint(String) Prevent another stupid bug like what is fixed by commit 5ff177cd1884ed61def491a813363f96c5de628a refs #2959 https://dev.guardianproject.info/issues/2959 --- test/src/org/fdroid/fdroid/UtilsTest.java | 129 ++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 test/src/org/fdroid/fdroid/UtilsTest.java diff --git a/test/src/org/fdroid/fdroid/UtilsTest.java b/test/src/org/fdroid/fdroid/UtilsTest.java new file mode 100644 index 000000000..5b0a1a08d --- /dev/null +++ b/test/src/org/fdroid/fdroid/UtilsTest.java @@ -0,0 +1,129 @@ + +package org.fdroid.fdroid; + +import android.test.AndroidTestCase; + +public class UtilsTest extends AndroidTestCase { + + String fdroidFingerprint = "43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB"; + String fdroidPubkey = "3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef"; + + String gpRepoFingerprint = "59050C8155DCA377F23D5A15B77D3713400CDBD8B42FBFBE0E3F38096E68CECE"; + String gpRepoPubkey = "308203c5308202ada00302010202047b7cf549300d06092a864886f70d01010b0500308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f301e170d3132313032393130323530305a170d3430303331363130323530305a308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a0282010100b7f1f635fa3fce1a8042aaa960c2dc557e4ad2c082e5787488cba587fd26207cf59507919fc4dcebda5c8c0959d14146d0445593aa6c29dc639570b71712451fd5c231b0c9f5f0bec380503a1c2a3bc00048bc5db682915afa54d1ecf67b45e1e05c0934b3037a33d3a565899131f27a72c03a5de93df17a2376cc3107f03ee9d124c474dfab30d4053e8f39f292e2dcb6cc131bce12a0c5fc307985195d256bf1d7a2703d67c14bf18ed6b772bb847370b20335810e337c064fef7e2795a524c664a853cd46accb8494f865164dabfb698fa8318236432758bc40d52db00d5ce07fe2210dc06cd95298b4f09e6c9b7b7af61c1d62ea43ea36a2331e7b2d4e250203010001a321301f301d0603551d0e0416041404d763e981cf3a295b94a790d8536a783097232b300d06092a864886f70d01010b05000382010100654e6484ff032c54fed1d96d3c8e731302be9dbd7bb4fe635f2dac05b69f3ecbb5acb7c9fe405e2a066567a8f5c2beb8b199b5a4d5bb1b435cf02df026d4fb4edd9d8849078f085b00950083052d57467d65c6eebd98f037cff9b148d621cf8819c4f7dc1459bf8fc5c7d76f901495a7caf35d1e5c106e1d50610c4920c3c1b50adcfbd4ad83ce7353cdea7d856bba0419c224f89a2f3ebc203d20eb6247711ad2b55fd4737936dc42ced7a047cbbd24012079204a2883b6d55d5d5b66d9fd82fb51fca9a5db5fad9af8564cb380ff30ae8263dbbf01b46e01313f53279673daa3f893380285646b244359203e7eecde94ae141b7dfa8e6499bb8e7e0b25ab85"; + + String gpTest0Fingerprint = "C4DC0B2AB5AB58F0CDBF97FF903CF12415F468D90B11877803BC172D31012B2E"; + String gpTest0Pubkey = "308204f3308202dba003020102020436aac0dc300d06092a864886f70d01010b0500302a3110300e060355040b1307462d44726f6964311630140603550403130d70616c6174736368696e6b656e301e170d3133313130353232353534325a170d3133313130363232353534325a302a3110300e060355040b1307462d44726f6964311630140603550403130d70616c6174736368696e6b656e30820222300d06092a864886f70d01010105000382020f003082020a0282020100b1f3cd3db9207f80e9d854159d40a15344bfcc377fba61983d1ac843e52e2fc1a81d96325174328f77dbe382b2b239567d50ad2e1fea13f1272b0370693acd03b9aef3e5a908118065f21193735552c123a9f59f99c2822b7bba7082c72649e17666ac70d332f1c7cf20830373c86f11d2f80a2aa0307c3b526b8769b69371555540f246ca892db4b51226788bb3b869284254266f3ccb1d7b5b08a2cf398f53877b09da0f1cc922ecc928c477660979d07998b29678feaea9b5c93d3a12f89f695eeda766280df22b688e1da15d979845a81c81f9d1252e2e5fd415df2eb0f28cb339a9d9bc13ec1a059333ca766a0982464f8d9a67397f066b3926aa5ac6f2216962da5705d2b9723353ac3b670f5ab4d365cde4e5d0375ca52e7e8c151dd90eda0025be09feae4c94c59608243b45f0527ad8d46e0a0bc97ac27870af53c0550706502ecfa56a30d7442012e6115ada79243481b759319def848199df423c9664574d8d8a7f8949e9f3549e8695fa0b02eab1dc8e30c6432d159076ceb91b709bd848f4e5d74a0880c1ead0534b1f8a354edd05a6d7b44f9a566f9e419bab6834ff2f2d2a54c797b407ccb2d4648247e69b2b85186f9ebd087879a580be281b73f46975e5c94b5a935adf019d6d56992742ebb23865f94a14ed17fc7fb0fbea43eb686760298ae98b197ac8da2ec0b61be240b6f2a574208da9e0fd9e14d90203010001a321301f301d0603551d0e04160414282e3362786f92645dd7809905166e473bbfc722300d06092a864886f70d01010b05000382020100295efaa7d0e985b408a7c6f2891cae1fa7b6338774eee624edd838c0fbaadc755d140ed6007b91e662434010659a4a5597709e23828a1a5e9846b4369ee8fcef10b85fc64db7726aee8c8d93753d4828250323ebdb768ed9958f4c2c61eb48d2329a0196a47898662ed9418e5ba223c4c1e285e94bfe0f5d5b4813b9d0b6b49d304a79879698d320e1ff5e36be441f1dcda5715d4644825d669b15de2765d285253231fbe052360426fe976af404381909043cfe8e7a537275dc75f367235eb0fc357884ea36f00cdb21fbc75ca2ac9c53adc202456e40d0e950af09c4f5de3d876f43fda7880be4800ff2635f681c19a5b8f1cd68319e78f5ff8e29f5225db849f03d473926aa2d492df970cbcba266211003e7c84f5852ea089b62679acd6243e56b18384596443c379effa1419027345bb929a46193c5c1f6274c83f14a8720189ab178945ef56a99fb16ac8aedb6d8b9ec10bd1f6935b189aa9470947d909bf8d0630e8b189696a79e9560631fa79cc22cddc17594c2c86e03fa7102811154d10aa2ff631732c491969b8a356632eabcf22596db4eb011cfaf426ec972967e2c5f426fa1f3e9d8c1d90fbb7665660d02456d9b7c1fa6bb68b0d53c29c6ef4e7c81f91c1819f754a53a03124a36b539cde945287c5be8817244c1548c17ff671f729545dc9155c94f01ceb620333f10000acbeba866cb242155daa76a5169"; + + String gpTest1Fingerprint = "C63AED1AC79D37C7B0474472AC6EFA6C3AB2B11A767A4F42CF360FA5496E3C50"; + String gpTest1Pubkey = "3082039a30820282020900aa6887be1ec84bde300d06092a864886f70d010105050030818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f301e170d3134303332383230343132365a170d3431303831323230343132365a30818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a02820101009f4895a4a160d14e9de49dd61ac9434715c2aea25a9de75f0361e3f9bd77306cff7a8f508f9a9edc31dfb5b3aa2571e22b1711c08f0616892fa4efdf94321ec93211486b314bcf27385f670492683a0e50f5a022ede2bfc00c69b14e8c8678f313d6d280feb9c53445f087fa9d12a31392ca63d75351587e3cd2337fbf95fd7c2a9322883d74f18680165a697d4a1a4fa3bd835bd45f00561447350af4ec6b6740c0ae7950ff53c386a2efc43a280e4270912d20eb464761799fdbbae50dd0df01f9b25673499029a2e869203e7d63e7ca98826dabf856c965f472de691ddc77f6ed8db468684baf76f7f1cdf7fc3a07109ad8aea8e332a807bedbb8143bbe230203010001300d06092a864886f70d010105050003820101005284015baba5eb092a3c681634b46b9f59a0dbb651c89ca65af730bfeb22726e048194cbd54fb4242f5ec8e514e26dd8887cbcb431f3f2eb224780b6a2204e614d705aed4bd66e153c216d35e1dc1e38e226566af74bb229a2416ea6ffb388d6f64a68386332f34f50d48b630541e2871030bd27d90a1688f46bff4e9707059cd22e56820a4a3d01f9a91b442f6adf0776d9f73533a2dcd7214305491414dbc7c734166cd833e227f9bd8a82b3d464c662c71a07703fb14de0564cad1d3851e35cc9a04ce36fde2abf8d8d9dec07752e535f35aabc3632d6d2106086477e346efebb0d4bec7afc461d7ab7f96200c2dadb2da41d09342aa2fa9ab94ab92d2053"; + + // this pair has one digit missing from the pubkey + String pubkeyShortByOneFingerprint = "C63AED1AC79D37C7B0474472AC6EFA6C3AB2B11A767A4F42CF360FA5496E3C50"; + String pubkeyShortByOnePubkey = "3082039a30820282020900aa6887be1ec84bde300d06092a86488f70d010105050030818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f301e170d3134303332383230343132365a170d3431303831323230343132365a30818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a02820101009f4895a4a160d14e9de49dd61ac9434715c2aea25a9de75f0361e3f9bd77306cff7a8f508f9a9edc31dfb5b3aa2571e22b1711c08f0616892fa4efdf94321ec93211486b314bcf27385f670492683a0e50f5a022ede2bfc00c69b14e8c8678f313d6d280feb9c53445f087fa9d12a31392ca63d75351587e3cd2337fbf95fd7c2a9322883d74f18680165a697d4a1a4fa3bd835bd45f00561447350af4ec6b6740c0ae7950ff53c386a2efc43a280e4270912d20eb464761799fdbbae50dd0df01f9b25673499029a2e869203e7d63e7ca98826dabf856c965f472de691ddc77f6ed8db468684baf76f7f1cdf7fc3a07109ad8aea8e332a807bedbb8143bbe230203010001300d06092a864886f70d010105050003820101005284015baba5eb092a3c681634b46b9f59a0dbb651c89ca65af730bfeb22726e048194cbd54fb4242f5ec8e514e26dd8887cbcb431f3f2eb224780b6a2204e614d705aed4bd66e153c216d35e1dc1e38e226566af74bb229a2416ea6ffb388d6f64a68386332f34f50d48b630541e2871030bd27d90a1688f46bff4e9707059cd22e56820a4a3d01f9a91b442f6adf0776d9f73533a2dcd7214305491414dbc7c734166cd833e227f9bd8a82b3d464c662c71a07703fb14de0564cad1d3851e35cc9a04ce36fde2abf8d8d9dec07752e535f35aabc3632d6d2106086477e346efebb0d4bec7afc461d7ab7f96200c2dadb2da41d09342aa2fa9ab94ab92d2053"; + + // this pair has one digit missing from the fingerprint + String fingerprintShortByOneFingerprint = "C63AED1AC79D37C7B047442AC6EFA6C3AB2B11A767A4F42CF360FA5496E3C50"; + String fingerprintShortByOnePubkey = "3082039a30820282020900aa6887be1ec84bde300d06092a864886f70d010105050030818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f301e170d3134303332383230343132365a170d3431303831323230343132365a30818e310b30090603550406130255533111300f06035504080c084e657720596f726b311e301c060355040a0c15477561726469616e2050726f6a65637420546573743122302006035504030c19746573742e677561726469616e70726f6a6563742e696e666f3128302606092a864886f70d01090116197465737440677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a02820101009f4895a4a160d14e9de49dd61ac9434715c2aea25a9de75f0361e3f9bd77306cff7a8f508f9a9edc31dfb5b3aa2571e22b1711c08f0616892fa4efdf94321ec93211486b314bcf27385f670492683a0e50f5a022ede2bfc00c69b14e8c8678f313d6d280feb9c53445f087fa9d12a31392ca63d75351587e3cd2337fbf95fd7c2a9322883d74f18680165a697d4a1a4fa3bd835bd45f00561447350af4ec6b6740c0ae7950ff53c386a2efc43a280e4270912d20eb464761799fdbbae50dd0df01f9b25673499029a2e869203e7d63e7ca98826dabf856c965f472de691ddc77f6ed8db468684baf76f7f1cdf7fc3a07109ad8aea8e332a807bedbb8143bbe230203010001300d06092a864886f70d010105050003820101005284015baba5eb092a3c681634b46b9f59a0dbb651c89ca65af730bfeb22726e048194cbd54fb4242f5ec8e514e26dd8887cbcb431f3f2eb224780b6a2204e614d705aed4bd66e153c216d35e1dc1e38e226566af74bb229a2416ea6ffb388d6f64a68386332f34f50d48b630541e2871030bd27d90a1688f46bff4e9707059cd22e56820a4a3d01f9a91b442f6adf0776d9f73533a2dcd7214305491414dbc7c734166cd833e227f9bd8a82b3d464c662c71a07703fb14de0564cad1d3851e35cc9a04ce36fde2abf8d8d9dec07752e535f35aabc3632d6d2106086477e346efebb0d4bec7afc461d7ab7f96200c2dadb2da41d09342aa2fa9ab94ab92d2053"; + + // this pair has one digit added to the pubkey + String pubkeyLongByOneFingerprint = "59050C8155DCA377F23D5A15B77D3713400CDBD8B42FBFBE0E3F38096E68CECE"; + String pubkeyLongByOnePubkey = "308203c5308202ada00302010202047b7cf5493000d06092a864886f70d01010b0500308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f301e170d3132313032393130323530305a170d3430303331363130323530305a308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a0282010100b7f1f635fa3fce1a8042aaa960c2dc557e4ad2c082e5787488cba587fd26207cf59507919fc4dcebda5c8c0959d14146d0445593aa6c29dc639570b71712451fd5c231b0c9f5f0bec380503a1c2a3bc00048bc5db682915afa54d1ecf67b45e1e05c0934b3037a33d3a565899131f27a72c03a5de93df17a2376cc3107f03ee9d124c474dfab30d4053e8f39f292e2dcb6cc131bce12a0c5fc307985195d256bf1d7a2703d67c14bf18ed6b772bb847370b20335810e337c064fef7e2795a524c664a853cd46accb8494f865164dabfb698fa8318236432758bc40d52db00d5ce07fe2210dc06cd95298b4f09e6c9b7b7af61c1d62ea43ea36a2331e7b2d4e250203010001a321301f301d0603551d0e0416041404d763e981cf3a295b94a790d8536a783097232b300d06092a864886f70d01010b05000382010100654e6484ff032c54fed1d96d3c8e731302be9dbd7bb4fe635f2dac05b69f3ecbb5acb7c9fe405e2a066567a8f5c2beb8b199b5a4d5bb1b435cf02df026d4fb4edd9d8849078f085b00950083052d57467d65c6eebd98f037cff9b148d621cf8819c4f7dc1459bf8fc5c7d76f901495a7caf35d1e5c106e1d50610c4920c3c1b50adcfbd4ad83ce7353cdea7d856bba0419c224f89a2f3ebc203d20eb6247711ad2b55fd4737936dc42ced7a047cbbd24012079204a2883b6d55d5d5b66d9fd82fb51fca9a5db5fad9af8564cb380ff30ae8263dbbf01b46e01313f53279673daa3f893380285646b244359203e7eecde94ae141b7dfa8e6499bb8e7e0b25ab85"; + + // this pair has one digit added to the fingerprint + String fingerprintLongByOneFingerprint = "59050C8155DCA377F23D5A15B77D37134000CDBD8B42FBFBE0E3F38096E68CECE"; + String fingerprintLongByOnePubkey = "308203c5308202ada00302010202047b7cf549300d06092a864886f70d01010b0500308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f301e170d3132313032393130323530305a170d3430303331363130323530305a308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a0282010100b7f1f635fa3fce1a8042aaa960c2dc557e4ad2c082e5787488cba587fd26207cf59507919fc4dcebda5c8c0959d14146d0445593aa6c29dc639570b71712451fd5c231b0c9f5f0bec380503a1c2a3bc00048bc5db682915afa54d1ecf67b45e1e05c0934b3037a33d3a565899131f27a72c03a5de93df17a2376cc3107f03ee9d124c474dfab30d4053e8f39f292e2dcb6cc131bce12a0c5fc307985195d256bf1d7a2703d67c14bf18ed6b772bb847370b20335810e337c064fef7e2795a524c664a853cd46accb8494f865164dabfb698fa8318236432758bc40d52db00d5ce07fe2210dc06cd95298b4f09e6c9b7b7af61c1d62ea43ea36a2331e7b2d4e250203010001a321301f301d0603551d0e0416041404d763e981cf3a295b94a790d8536a783097232b300d06092a864886f70d01010b05000382010100654e6484ff032c54fed1d96d3c8e731302be9dbd7bb4fe635f2dac05b69f3ecbb5acb7c9fe405e2a066567a8f5c2beb8b199b5a4d5bb1b435cf02df026d4fb4edd9d8849078f085b00950083052d57467d65c6eebd98f037cff9b148d621cf8819c4f7dc1459bf8fc5c7d76f901495a7caf35d1e5c106e1d50610c4920c3c1b50adcfbd4ad83ce7353cdea7d856bba0419c224f89a2f3ebc203d20eb6247711ad2b55fd4737936dc42ced7a047cbbd24012079204a2883b6d55d5d5b66d9fd82fb51fca9a5db5fad9af8564cb380ff30ae8263dbbf01b46e01313f53279673daa3f893380285646b244359203e7eecde94ae141b7dfa8e6499bb8e7e0b25ab85"; + + public void testFormatFingerprint() { + String badResult = Utils.formatFingerprint(""); + // real fingerprints + String formatted = null; + formatted = Utils.formatFingerprint(fdroidFingerprint); + assertFalse(formatted.equals(badResult)); + assertTrue(formatted.matches("[A-Z0-9][A-Z0-9] [A-Z0-9 ]+")); + formatted = Utils.formatFingerprint(gpRepoFingerprint); + assertFalse(formatted.equals(badResult)); + assertTrue(formatted.matches("[A-Z0-9][A-Z0-9] [A-Z0-9 ]+")); + formatted = Utils.formatFingerprint(gpTest1Fingerprint); + assertFalse(formatted.equals(badResult)); + assertTrue(formatted.matches("[A-Z0-9][A-Z0-9] [A-Z0-9 ]+")); + // random garbage + assertEquals( + badResult, + Utils.formatFingerprint("234k2lk3jljwlk4j2lk3jlkmqwekljrlkj34lk2jlk2j34lkjl2k3j4lk2j34lja")); + assertEquals( + badResult, + Utils.formatFingerprint("g000000000000000000000000000000000000000000000000000000000000000")); + assertEquals( + badResult, + Utils.formatFingerprint("98273498723948728934789237489273p1928731982731982739182739817238")); + // too short + assertEquals( + badResult, + Utils.formatFingerprint("C63AED1AC79D37C7B0474472AC6EFA6C3AB2B11A767A4F42CF360FA5496E3C5")); + assertEquals( + badResult, + Utils.formatFingerprint("C63AED1")); + assertEquals( + badResult, + Utils.formatFingerprint("f")); + assertEquals( + badResult, + Utils.formatFingerprint("")); + assertEquals( + badResult, + Utils.formatFingerprint(null)); + // real digits but too long + assertEquals( + badResult, + Utils.formatFingerprint("43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB")); + assertEquals( + badResult, + Utils.formatFingerprint("C63AED1AC79D37C7B0474472AC6EFA6C3AB2B11A767A4F42CF360FA5496E3C50F")); + assertEquals( + badResult, + Utils.formatFingerprint("3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef")); + } + + public void testCalcFingerprintString() { + // these should pass + assertEquals(fdroidFingerprint, Utils.calcFingerprint(fdroidPubkey)); + assertEquals(gpRepoFingerprint, Utils.calcFingerprint(gpRepoPubkey)); + assertEquals(gpTest0Fingerprint, Utils.calcFingerprint(gpTest0Pubkey)); + assertEquals(gpTest1Fingerprint, Utils.calcFingerprint(gpTest1Pubkey)); + + // these should fail + assertFalse(gpRepoFingerprint.equals( + Utils.calcFingerprint(fdroidPubkey))); + assertFalse(gpTest0Fingerprint.equals( + Utils.calcFingerprint(fdroidPubkey))); + assertFalse(gpTest1Fingerprint.equals( + Utils.calcFingerprint(fdroidPubkey))); + assertFalse(fdroidFingerprint.equals( + Utils.calcFingerprint(gpRepoPubkey))); + assertFalse(gpTest0Fingerprint.equals( + Utils.calcFingerprint(gpRepoPubkey))); + assertFalse(gpTest1Fingerprint.equals( + Utils.calcFingerprint(gpRepoPubkey))); + + assertFalse(fingerprintShortByOneFingerprint.equals( + Utils.calcFingerprint(fingerprintShortByOnePubkey))); + assertFalse(fingerprintLongByOneFingerprint.equals( + Utils.calcFingerprint(fingerprintLongByOnePubkey))); + try { + assertFalse(pubkeyShortByOneFingerprint.equals( + Utils.calcFingerprint(pubkeyShortByOnePubkey))); + } catch (ArrayIndexOutOfBoundsException e) { + assertTrue(true); // we should get this Exception! + } + try { + assertFalse(pubkeyLongByOneFingerprint.equals( + Utils.calcFingerprint(pubkeyLongByOnePubkey))); + } catch (ArrayIndexOutOfBoundsException e) { + assertTrue(true); // we should get this Exception! + } + } + + public void testCalcFingerprintCertificate() { + // TODO write tests that work with a Certificate + } +} From 527f649fc28d5c5637c1584372028181550e366e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2014 11:49:43 -0400 Subject: [PATCH 08/73] move getSharingUri() to Utils for easier reuse This method will also be used by the local repo for swapping. --- src/org/fdroid/fdroid/Utils.java | 28 ++++++++++++++++--- .../fdroid/views/RepoDetailsActivity.java | 24 ++-------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 20b64e07a..5131a8e3d 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -19,23 +19,27 @@ package org.fdroid.fdroid; import android.content.Context; - -import android.content.pm.PackageInfo; +import android.net.Uri; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; + import com.nostra13.universalimageloader.utils.StorageUtils; +import org.fdroid.fdroid.data.Repo; + import java.io.Closeable; import java.io.File; import java.io.FileReader; -import java.io.InputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; +import java.security.MessageDigest; import java.security.cert.Certificate; import java.security.cert.CertificateEncodingException; import java.text.SimpleDateFormat; -import java.security.MessageDigest; import java.util.*; public final class Utils { @@ -188,6 +192,22 @@ public final class Utils { return displayFP; } + public static Uri getSharingUri(Context context, Repo repo) { + Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo")); + Uri.Builder b = uri.buildUpon(); + b.appendQueryParameter("fingerprint", repo.fingerprint); + WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + String ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1"); + String bssid = wifiInfo.getBSSID(); + if (!TextUtils.isEmpty(bssid)) { + b.appendQueryParameter("bssid", Uri.encode(bssid)); + if (!TextUtils.isEmpty(ssid)) + b.appendQueryParameter("ssid", Uri.encode(ssid)); + } + return b.build(); + } + public static File getApkCacheDir(Context context) { File apkCacheDir = new File( StorageUtils.getCacheDirectory(context, true), "apks"); diff --git a/src/org/fdroid/fdroid/views/RepoDetailsActivity.java b/src/org/fdroid/fdroid/views/RepoDetailsActivity.java index 822975b01..f0daf679d 100644 --- a/src/org/fdroid/fdroid/views/RepoDetailsActivity.java +++ b/src/org/fdroid/fdroid/views/RepoDetailsActivity.java @@ -4,8 +4,6 @@ package org.fdroid.fdroid.views; import android.annotation.TargetApi; import android.content.Intent; import android.net.Uri; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; import android.nfc.NdefMessage; import android.nfc.NdefRecord; import android.nfc.NfcAdapter; @@ -13,12 +11,12 @@ import android.os.Build; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.app.FragmentActivity; -import android.text.TextUtils; import android.util.Log; import android.widget.LinearLayout; import android.widget.Toast; import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.compat.ActionBarCompat; import org.fdroid.fdroid.data.Repo; import org.fdroid.fdroid.data.RepoProvider; @@ -27,7 +25,6 @@ import org.fdroid.fdroid.views.fragments.RepoDetailsFragment; public class RepoDetailsActivity extends FragmentActivity { public static final String TAG = "RepoDetailsActivity"; - private WifiManager wifiManager; private Repo repo; static final String MIME_TYPE = "application/vnd.org.fdroid.fdroid.repo"; @@ -67,8 +64,6 @@ public class RepoDetailsActivity extends FragmentActivity { ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true); setTitle(repo.getName()); - - wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); } @TargetApi(14) @@ -80,7 +75,7 @@ public class RepoDetailsActivity extends FragmentActivity { return; } nfcAdapter.setNdefPushMessage(new NdefMessage(new NdefRecord[] { - NdefRecord.createUri(getSharingUri()), + NdefRecord.createUri(Utils.getSharingUri(this, repo)), }), this); findViewById(android.R.id.content).post(new Runnable() { @Override @@ -128,19 +123,4 @@ public class RepoDetailsActivity extends FragmentActivity { finish(); } } - - protected Uri getSharingUri() { - Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo")); - Uri.Builder b = uri.buildUpon(); - b.appendQueryParameter("fingerprint", repo.fingerprint); - WifiInfo wifiInfo = wifiManager.getConnectionInfo(); - String ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1"); - String bssid = wifiInfo.getBSSID(); - if (!TextUtils.isEmpty(bssid)) { - b.appendQueryParameter("bssid", Uri.encode(bssid)); - if (!TextUtils.isEmpty(ssid)) - b.appendQueryParameter("ssid", Uri.encode(ssid)); - } - return b.build(); - } } From f374fbbeb0e3616fcd8d643be6dccf36ebf04063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 11:30:22 +0200 Subject: [PATCH 09/73] Re-run translate fixes --- res/values-it/strings.xml | 2 +- res/values-nb/strings.xml | 4 ++-- res/values-pl/strings.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index cf267a3f9..8b3835d67 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -127,7 +127,7 @@ Vuoi aggiornarlo? Novità Aggiornate di Recente Repo FDroid Locali - Rilevazione repo FDroid locali... + Rilevazione repo FDroid locali… Scaricamento %2$s / %3$s (%4$d%%) da %1$s diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index a2ed8c4f6..d6baa646c 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -75,7 +75,7 @@ Lisensiert GNU GPLv3. Listen over brukte register har endret seg. Vil du oppdatere dem? Oppdater registrene Endre registrene - Blåtann FDroid.apk... + Blåtann FDroid.apk… Innstillinger Om Søk @@ -122,7 +122,7 @@ Lisensiert GNU GPLv3. Det som er nytt Nylig oppdatert Lokale F-Droid register - Oppdager lokale FDroid register... + Oppdager lokale FDroid register… Laster ned %2$s / %3$s (%4$d%%) fra %1$s diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index fc1cc4a16..6e709bf01 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -150,7 +150,7 @@ Opis i inne szczegóły będą tu dostępne gdy zaktualizujesz repozytoriumUsunięcie repozytorium oznacza, że aplikacje z niego nie będą dłużej dostępne w F-Droid. Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu. - Zablokowane \"%1%s\". + Zablokowane \"%1$s\". Aby zainstalować aplikacje z tego repozytorium musisz je włączyć ponownie. %s lub później From af2515bbf695ee7f895aeddddfaa25f14269a315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 11:31:07 +0200 Subject: [PATCH 10/73] Run tools/repo-revisions.sh --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 84868da82..adf15b7c2 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ Add the following lines to your repo manifest: - - + + ``` From 55acd955b902739fcdf25668d6f90e2becac3d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 11:52:46 +0200 Subject: [PATCH 11/73] Prepare for 0.65 release --- AndroidManifest.xml | 4 ++-- CHANGELOG.md | 6 ++++-- README.md | 2 +- res/values/no_trans.xml | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 75c1ce9ec..30fdc3436 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="650" + android:versionName="0.65" > - + diff --git a/res/values/no_trans.xml b/res/values/no_trans.xml index af249254d..6865dc06f 100644 --- a/res/values/no_trans.xml +++ b/res/values/no_trans.xml @@ -2,7 +2,7 @@ F-Droid - 0.64-test + 0.65 https://f-droid.org team@f-droid.org From 7a16bf4ce55ac7c3c856a3c2324c55a132af988f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 18:18:38 +0200 Subject: [PATCH 12/73] Fix broadcast receiving of package updates * It is PACKAGE_REPLACED, not PACKAGE_CHANGED: http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_CHANGED * REMOVED and then ADDED are fired as well as REPLACED when upgrading an application: http://stackoverflow.com/questions/5217237/package-removed-then-package-added-are-fired-along-with-package-replaced-inten --- AndroidManifest.xml | 2 +- src/org/fdroid/fdroid/PackageAddedReceiver.java | 12 +++++++++++- src/org/fdroid/fdroid/PackageReceiver.java | 4 ++++ src/org/fdroid/fdroid/PackageRemovedReceiver.java | 12 +++++++++++- src/org/fdroid/fdroid/PackageUpgradedReceiver.java | 8 +++++++- 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 30fdc3436..a6972fd34 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -291,7 +291,7 @@ - + diff --git a/src/org/fdroid/fdroid/PackageAddedReceiver.java b/src/org/fdroid/fdroid/PackageAddedReceiver.java index 5d218b00c..0f683e3ae 100644 --- a/src/org/fdroid/fdroid/PackageAddedReceiver.java +++ b/src/org/fdroid/fdroid/PackageAddedReceiver.java @@ -20,6 +20,7 @@ package org.fdroid.fdroid; import android.content.ContentValues; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageInfo; import android.net.Uri; import android.util.Log; @@ -27,6 +28,15 @@ import org.fdroid.fdroid.data.InstalledAppProvider; public class PackageAddedReceiver extends PackageReceiver { + @Override + protected boolean toDiscard(Intent intent) { + if (intent.hasExtra(Intent.EXTRA_REPLACING)) { + Log.d("FDroid", "Discarding since this PACKAGE_ADDED is just a PACKAGE_REPLACED"); + return true; + } + return false; + } + @Override protected void handle(Context context, String appId) { PackageInfo info = getPackageInfo(context, appId); @@ -41,4 +51,4 @@ public class PackageAddedReceiver extends PackageReceiver { context.getContentResolver().insert(uri, values); } -} \ No newline at end of file +} diff --git a/src/org/fdroid/fdroid/PackageReceiver.java b/src/org/fdroid/fdroid/PackageReceiver.java index 00b85227f..3ddb4f273 100644 --- a/src/org/fdroid/fdroid/PackageReceiver.java +++ b/src/org/fdroid/fdroid/PackageReceiver.java @@ -29,6 +29,7 @@ import org.fdroid.fdroid.data.AppProvider; abstract class PackageReceiver extends BroadcastReceiver { + abstract protected boolean toDiscard(Intent intent); abstract protected void handle(Context context, String appId); protected PackageInfo getPackageInfo(Context context, String appId) { @@ -43,6 +44,9 @@ abstract class PackageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("FDroid", "PackageReceiver received [action = '" + intent.getAction() + "', data = '" + intent.getData() + "']"); + if (toDiscard(intent)) { + return; + } String appId = intent.getData().getSchemeSpecificPart(); handle(context, appId); context.getContentResolver().notifyChange(AppProvider.getContentUri(appId), null); diff --git a/src/org/fdroid/fdroid/PackageRemovedReceiver.java b/src/org/fdroid/fdroid/PackageRemovedReceiver.java index 163a8278b..c9ad96869 100644 --- a/src/org/fdroid/fdroid/PackageRemovedReceiver.java +++ b/src/org/fdroid/fdroid/PackageRemovedReceiver.java @@ -19,6 +19,7 @@ package org.fdroid.fdroid; import android.content.Context; +import android.content.Intent; import android.net.Uri; import android.util.Log; import org.fdroid.fdroid.data.AppProvider; @@ -26,6 +27,15 @@ import org.fdroid.fdroid.data.InstalledAppProvider; public class PackageRemovedReceiver extends PackageReceiver { + @Override + protected boolean toDiscard(Intent intent) { + if (intent.hasExtra(Intent.EXTRA_REPLACING)) { + Log.d("FDroid", "Discarding since this PACKAGE_REMOVED is just a PACKAGE_REPLACED"); + return true; + } + return false; + } + @Override protected void handle(Context context, String appId) { @@ -35,4 +45,4 @@ public class PackageRemovedReceiver extends PackageReceiver { context.getContentResolver().delete(uri, null, null); } -} \ No newline at end of file +} diff --git a/src/org/fdroid/fdroid/PackageUpgradedReceiver.java b/src/org/fdroid/fdroid/PackageUpgradedReceiver.java index 404818881..6f4057dca 100644 --- a/src/org/fdroid/fdroid/PackageUpgradedReceiver.java +++ b/src/org/fdroid/fdroid/PackageUpgradedReceiver.java @@ -20,6 +20,7 @@ package org.fdroid.fdroid; import android.content.ContentValues; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageInfo; import android.net.Uri; import android.util.Log; @@ -33,6 +34,11 @@ import org.fdroid.fdroid.data.InstalledAppProvider; */ public class PackageUpgradedReceiver extends PackageReceiver { + @Override + protected boolean toDiscard(Intent intent) { + return false; + } + @Override protected void handle(Context context, String appId) { PackageInfo info = getPackageInfo(context, appId); @@ -47,4 +53,4 @@ public class PackageUpgradedReceiver extends PackageReceiver { context.getContentResolver().insert(uri, values); } -} \ No newline at end of file +} From 88285b0a6b689bf7ead1ce136ef4329fa248ea0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 20:06:56 +0200 Subject: [PATCH 13/73] Fix: Don't always use /icons/ due to wrong SQL param order --- src/org/fdroid/fdroid/data/AppProvider.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/data/AppProvider.java b/src/org/fdroid/fdroid/data/AppProvider.java index 5298f3efa..e7a0398a7 100644 --- a/src/org/fdroid/fdroid/data/AppProvider.java +++ b/src/org/fdroid/fdroid/data/AppProvider.java @@ -808,9 +808,10 @@ public class AppProvider extends FDroidProvider { Log.d("FDroid", "Updating icon paths for apps belonging to repos with version >= " + Repo.VERSION_DENSITY_SPECIFIC_ICONS); String iconsDir = Utils.getIconsDir(getContext()); + Log.d("FDroid", "Using icon dir '"+iconsDir+"'"); String repoVersion = Integer.toString(Repo.VERSION_DENSITY_SPECIFIC_ICONS); String query = getIconUpdateQuery(); - String[] params = { iconsDir, repoVersion }; + String[] params = { repoVersion, iconsDir }; write().execSQL(query, params); } From f4539b380361a317ef61bc8ea9442658bc6fb814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 20:09:52 +0200 Subject: [PATCH 14/73] Add icons item to changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64bd25f1f..22431ebd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 0.65 (2014-04-29) +### 0.66 (2014-04-??) * Fix crash on startup for devices with more than 500 installed apps @@ -14,6 +14,9 @@ * Security fixes and updates for adding of repos +* Fix bug introduced in 0.63 which made F-Droid always omit density-specific + icons, making icons blurry on high-res devices + * Fix some other crashes * Translation updates From 663a95c7a953a68529d51cc9dc875901f0751cfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 29 Apr 2014 23:56:06 +0200 Subject: [PATCH 15/73] Don't crash if a repo has zero apps/apks Also, a couple of typo fixes --- src/org/fdroid/fdroid/UpdateService.java | 8 +++++--- src/org/fdroid/fdroid/data/ApkProvider.java | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index d0c74735f..43a466d24 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -305,7 +305,7 @@ public class UpdateService extends IntentService implements ProgressListener { } if (!changes) { - Log.d("FDroid", "Not checking app details or compatibility, ecause all repos were up to date."); + Log.d("FDroid", "Not checking app details or compatibility, because all repos were up to date."); } else { sendStatus(STATUS_INFO, getString(R.string.status_checking_compatibility)); @@ -399,7 +399,7 @@ public class UpdateService extends IntentService implements ProgressListener { List appsToIgnore = AppProvider.Helper.findIgnored(this, projection); for (App app : apps) { boolean ignored = false; - for(App appIgnored : appsToIgnore) { + for (App appIgnored : appsToIgnore) { if (appIgnored.id.equals(app.id)) { ignored = true; break; @@ -444,7 +444,9 @@ public class UpdateService extends IntentService implements ProgressListener { private List getKnownAppIds(List apps) { List knownAppIds = new ArrayList(); - if (apps.size() > AppProvider.MAX_APPS_TO_QUERY) { + if (apps.size() == 0) { + // Do nothing + } else if (apps.size() > AppProvider.MAX_APPS_TO_QUERY) { int middle = apps.size() / 2; List apps1 = apps.subList(0, middle); List apps2 = apps.subList(middle, apps.size()); diff --git a/src/org/fdroid/fdroid/data/ApkProvider.java b/src/org/fdroid/fdroid/data/ApkProvider.java index 80b88ef87..7b03f8abd 100644 --- a/src/org/fdroid/fdroid/data/ApkProvider.java +++ b/src/org/fdroid/fdroid/data/ApkProvider.java @@ -103,6 +103,9 @@ public class ApkProvider extends FDroidProvider { */ public static List knownApks(Context context, List apks, String[] fields) { + if (apks.size() == 0) { + return new ArrayList(); + } ContentResolver resolver = context.getContentResolver(); Uri uri = getContentUri(apks); Cursor cursor = resolver.query(uri, fields, null, null, null); From a0b39cd15066b5be5cf25d166a8e24a06f0db621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Wed, 30 Apr 2014 00:33:10 +0200 Subject: [PATCH 16/73] PREF_UPD_NOTIFY default is true, not false --- src/org/fdroid/fdroid/UpdateService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index 43a466d24..7992264aa 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -333,7 +333,7 @@ public class UpdateService extends IntentService implements ProgressListener { notifyContentProviders(); - if (prefs.getBoolean(Preferences.PREF_UPD_NOTIFY, false)) { + if (prefs.getBoolean(Preferences.PREF_UPD_NOTIFY, true)) { performUpdateNotification(appsToUpdate.values()); } } From 826854592f48451aab8ba3ad103b8702bb9d4c1f Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Wed, 30 Apr 2014 21:17:16 +0930 Subject: [PATCH 17/73] Made app update notifications work again. The update service now queries the app provider for installed apps which can and want to be updated. --- src/org/fdroid/fdroid/UpdateService.java | 36 ++++-------------- src/org/fdroid/fdroid/data/AppProvider.java | 12 ++++++ .../views/AppListFragmentPageAdapter.java | 17 ++------- src/org/fdroid/fdroid/views/AppListView.java | 37 ------------------- 4 files changed, 23 insertions(+), 79 deletions(-) delete mode 100644 src/org/fdroid/fdroid/views/AppListView.java diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index 7992264aa..6817936f8 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -18,8 +18,6 @@ package org.fdroid.fdroid; -import java.util.*; - import android.app.*; import android.content.*; import android.content.SharedPreferences.Editor; @@ -29,14 +27,15 @@ import android.net.NetworkInfo; import android.net.Uri; import android.os.*; import android.preference.PreferenceManager; +import android.support.v4.app.NotificationCompat; +import android.support.v4.app.TaskStackBuilder; import android.text.TextUtils; import android.util.Log; +import android.widget.Toast; import org.fdroid.fdroid.data.*; import org.fdroid.fdroid.updater.RepoUpdater; -import android.support.v4.app.NotificationCompat; -import android.support.v4.app.TaskStackBuilder; -import android.widget.Toast; +import java.util.*; public class UpdateService extends IntentService implements ProgressListener { @@ -388,30 +387,9 @@ public class UpdateService extends IntentService implements ProgressListener { } private void performUpdateNotification(Collection apps) { - int updateCount = 0; - - // This may be somewhat strange, because we usually would just trust - // App.canAndWantToUpdate(). The only problem is that the "appsToUpdate" - // list only contains data from the repo index, not our database. - // As such, it doesn't know if we want to ignore the apps or not. For that, we - // need to query the database manually and identify those which are to be ignored. - String[] projection = { AppProvider.DataColumns.APP_ID }; - List appsToIgnore = AppProvider.Helper.findIgnored(this, projection); - for (App app : apps) { - boolean ignored = false; - for (App appIgnored : appsToIgnore) { - if (appIgnored.id.equals(app.id)) { - ignored = true; - break; - } - } - if (!ignored && app.hasUpdates()) { - updateCount++; - } - } - - if (updateCount > 0) { - showAppUpdatesNotification(updateCount); + int count = AppProvider.Helper.count(this, AppProvider.getCanUpdateUri()); + if (count > 0) { + showAppUpdatesNotification(count); } } diff --git a/src/org/fdroid/fdroid/data/AppProvider.java b/src/org/fdroid/fdroid/data/AppProvider.java index e7a0398a7..1b0fbaa76 100644 --- a/src/org/fdroid/fdroid/data/AppProvider.java +++ b/src/org/fdroid/fdroid/data/AppProvider.java @@ -18,6 +18,18 @@ public class AppProvider extends FDroidProvider { private Helper() {} + public static int count(Context context, Uri uri) { + String[] projection = new String[] { AppProvider.DataColumns._COUNT }; + Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null); + int count = 0; + if (cursor != null && cursor.getCount() == 1) { + cursor.moveToFirst(); + count = cursor.getInt(0); + cursor.close(); + } + return count; + } + public static List all(ContentResolver resolver) { return all(resolver, DataColumns.ALL); } diff --git a/src/org/fdroid/fdroid/views/AppListFragmentPageAdapter.java b/src/org/fdroid/fdroid/views/AppListFragmentPageAdapter.java index b05c0e940..4313dec77 100644 --- a/src/org/fdroid/fdroid/views/AppListFragmentPageAdapter.java +++ b/src/org/fdroid/fdroid/views/AppListFragmentPageAdapter.java @@ -1,10 +1,7 @@ package org.fdroid.fdroid.views; -import android.database.Cursor; -import android.net.Uri; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; - import org.fdroid.fdroid.FDroid; import org.fdroid.fdroid.R; import org.fdroid.fdroid.data.AppProvider; @@ -26,16 +23,10 @@ public class AppListFragmentPageAdapter extends FragmentPagerAdapter { } private String getUpdateTabTitle() { - Uri uri = AppProvider.getCanUpdateUri(); - String[] projection = new String[] { AppProvider.DataColumns._COUNT }; - Cursor cursor = parent.getContentResolver().query(uri, projection, null, null, null); - String suffix = ""; - if (cursor != null && cursor.getCount() == 1) { - cursor.moveToFirst(); - int count = cursor.getInt(0); - suffix = " (" + count + ")"; - } - return parent.getString(R.string.tab_updates) + suffix; + int updateCount = AppProvider.Helper.count(parent, AppProvider.getCanUpdateUri()); + + // TODO: Make RTL friendly, probably by having a different string for both tab_updates_none and tab_updates + return parent.getString(R.string.tab_updates) + " (" + updateCount + ")"; } @Override diff --git a/src/org/fdroid/fdroid/views/AppListView.java b/src/org/fdroid/fdroid/views/AppListView.java deleted file mode 100644 index b65f50cc3..000000000 --- a/src/org/fdroid/fdroid/views/AppListView.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.fdroid.fdroid.views; - -import android.content.Context; -import android.util.AttributeSet; -import android.widget.LinearLayout; -import android.widget.ListView; - -/** - * There are three main app-lists in the UI: - * - Available - * - Installed - * - Apps which can be updated - * This class provides a View which knows about these app lists, but can have - * different contents (e.g. a drop down list of categories). It allows us to - * get a reference to the selected item in the FDroid Activity, without having - * to know which list we are actually looking at. - */ -public class AppListView extends LinearLayout { - - private ListView appList; - - public AppListView(Context context) { - super(context); - } - - public AppListView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public void setAppList(ListView appList) { - this.appList = appList; - } - - public ListView getAppList() { - return appList; - } -} From 6ba99eef87a0c65714041565a7a52ffcaf5cbbbd Mon Sep 17 00:00:00 2001 From: F-Droid Translatebot Date: Thu, 1 May 2014 09:46:34 +0100 Subject: [PATCH 18/73] Translation updates --- res/values-pl/strings.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 6e709bf01..2ca0b5db9 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -150,8 +150,5 @@ Opis i inne szczegóły będą tu dostępne gdy zaktualizujesz repozytoriumUsunięcie repozytorium oznacza, że aplikacje z niego nie będą dłużej dostępne w F-Droid. Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu. - Zablokowane \"%1$s\". - -Aby zainstalować aplikacje z tego repozytorium musisz je włączyć ponownie. %s lub później From 097be4396e6810f19df14e175837d50cbec6a0d2 Mon Sep 17 00:00:00 2001 From: F-Droid Translatebot Date: Thu, 1 May 2014 09:55:18 +0100 Subject: [PATCH 19/73] Translation updates --- res/values-pl/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 2ca0b5db9..6e709bf01 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -150,5 +150,8 @@ Opis i inne szczegóły będą tu dostępne gdy zaktualizujesz repozytoriumUsunięcie repozytorium oznacza, że aplikacje z niego nie będą dłużej dostępne w F-Droid. Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu. + Zablokowane \"%1$s\". + +Aby zainstalować aplikacje z tego repozytorium musisz je włączyć ponownie. %s lub później From d80eec031c65079808405fdc3e9efccb65b5a00c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 1 May 2014 16:03:56 +0200 Subject: [PATCH 20/73] Re-enable loading of icons with fling Reduce their thread priority to try to avoid it from lagging the scrolling --- src/org/fdroid/fdroid/FDroidApp.java | 2 ++ src/org/fdroid/fdroid/views/fragments/AppListFragment.java | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/FDroidApp.java b/src/org/fdroid/fdroid/FDroidApp.java index b722a1221..d05794479 100644 --- a/src/org/fdroid/fdroid/FDroidApp.java +++ b/src/org/fdroid/fdroid/FDroidApp.java @@ -51,6 +51,7 @@ import org.thoughtcrime.ssl.pinning.SystemKeyStore; import javax.net.ssl.*; import java.io.File; +import java.lang.Thread; import java.security.KeyManagementException; import java.security.KeyStore; import java.security.KeyStoreException; @@ -154,6 +155,7 @@ public class FDroidApp extends Application { 2592000) ) .threadPoolSize(Runtime.getRuntime().availableProcessors() * 2) + .threadPriority(Thread.NORM_PRIORITY - 2) // Default is NORM_PRIORITY - 1 .build(); ImageLoader.getInstance().init(config); diff --git a/src/org/fdroid/fdroid/views/fragments/AppListFragment.java b/src/org/fdroid/fdroid/views/fragments/AppListFragment.java index d2fd1d9e9..c0e1f894a 100644 --- a/src/org/fdroid/fdroid/views/fragments/AppListFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/AppListFragment.java @@ -63,7 +63,6 @@ abstract public class AppListFragment extends ListFragment implements // onActivityCreated" according to the docs. getListView().setFastScrollEnabled(true); getListView().setOnItemClickListener(this); - getListView().setOnScrollListener(new PauseOnScrollListener(ImageLoader.getInstance(), false, true)); } @Override From c0166a26f8b72ad635e3f8e5084638285c54969e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 28 Apr 2014 22:36:09 -0400 Subject: [PATCH 21/73] include Apache Commons IO in test project for easy file operations --- test/libs/commons-io-2.2.jar | Bin 0 -> 173587 bytes test/libs/commons-io-2.2.jar.README | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 test/libs/commons-io-2.2.jar create mode 100644 test/libs/commons-io-2.2.jar.README diff --git a/test/libs/commons-io-2.2.jar b/test/libs/commons-io-2.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..84ca565859dcf43a9903bb8040fdfb4d652d1e80 GIT binary patch literal 173587 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%0Dg<5#uG5*1TJHNo4n$)DnM-7OIGH9A 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%0Dio=U@))pyXfkH#MqB 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%0At^xA_q8xIh{k65{0 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�zoBKJ61+s^8^hcJJao3Et{=_$ltxK*A+ErUR(V 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 Okb-!4fv%ts!22KB&>|K9 literal 0 HcmV?d00001 diff --git a/test/libs/commons-io-2.2.jar.README b/test/libs/commons-io-2.2.jar.README new file mode 100644 index 000000000..a330a9794 --- /dev/null +++ b/test/libs/commons-io-2.2.jar.README @@ -0,0 +1,5 @@ + +Downloaded from: +https://archive.apache.org/dist/commons/io/binaries/commons-io-2.2-bin.zip +https://archive.apache.org/dist/commons/io/binaries/commons-io-2.2-bin.zip.asc +https://archive.apache.org/dist/commons/io/binaries/commons-io-2.2-bin.zip.sha1 From 8395472f8d4c5b84416cc7d7bdc52747ead135a1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 28 Apr 2014 22:16:49 -0400 Subject: [PATCH 22/73] test index.jar signature checking I got scared by seeing the Android docs' version of JarFile.getInputStream, which didn't mention SecurityException or the signature checking. But it seems that even tho its not in the Android docs, Android implements it the same as Java does. It is good to have these tests in place anyhow, since this is an essential piece of the security process of FDroid. * http://docs.oracle.com/javase/6/docs/api/java/util/jar/JarFile.html#getInputStream(java.util.zip.ZipEntry) * https://developer.android.com/reference/java/util/jar/JarFile.html#getInputStream(java.util.zip.ZipEntry) refs #2627 https://dev.guardianproject.info/issues/2627 refs #2959 https://dev.guardianproject.info/issues/2959 --- .../fdroid/updater/SignedRepoUpdater.java | 7 + test/assets/simpleIndex.jar | Bin 0 -> 2412 bytes test/assets/simpleIndex.xml | 6 + .../simpleIndexWithCorruptedCertificate.jar | Bin 0 -> 2385 bytes .../simpleIndexWithCorruptedEverything.jar | Bin 0 -> 2489 bytes .../simpleIndexWithCorruptedManifest.jar | Bin 0 -> 2384 bytes .../simpleIndexWithCorruptedSignature.jar | Bin 0 -> 2384 bytes test/assets/simpleIndexWithoutSignature.jar | Bin 0 -> 1254 bytes .../fdroid/updater/SignedRepoUpdaterTest.java | 142 ++++++++++++++++++ 9 files changed, 155 insertions(+) create mode 100644 test/assets/simpleIndex.jar create mode 100644 test/assets/simpleIndex.xml create mode 100644 test/assets/simpleIndexWithCorruptedCertificate.jar create mode 100644 test/assets/simpleIndexWithCorruptedEverything.jar create mode 100644 test/assets/simpleIndexWithCorruptedManifest.jar create mode 100644 test/assets/simpleIndexWithCorruptedSignature.jar create mode 100644 test/assets/simpleIndexWithoutSignature.jar create mode 100644 test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java diff --git a/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java b/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java index f7ac7e805..57fdeb373 100644 --- a/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java +++ b/src/org/fdroid/fdroid/updater/SignedRepoUpdater.java @@ -52,6 +52,13 @@ public class SignedRepoUpdater extends RepoUpdater { InputStream input = null; OutputStream output = null; try { + /* + * JarFile.getInputStream() provides the signature check, even + * though the Android docs do not mention this, the Java docs do + * and Android seems to implement it the same: + * http://docs.oracle.com/javase/6/docs/api/java/util/jar/JarFile.html#getInputStream(java.util.zip.ZipEntry) + * https://developer.android.com/reference/java/util/jar/JarFile.html#getInputStream(java.util.zip.ZipEntry) + */ input = jarFile.getInputStream(indexEntry); output = new FileOutputStream(indexFile); Utils.copy(input, output); diff --git a/test/assets/simpleIndex.jar b/test/assets/simpleIndex.jar new file mode 100644 index 0000000000000000000000000000000000000000..1c173ceb37eb2898f6dbb0df4a9dc849d943c919 GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/test/assets/simpleIndex.xml b/test/assets/simpleIndex.xml new file mode 100644 index 000000000..a806ef68a --- /dev/null +++ b/test/assets/simpleIndex.xml @@ -0,0 +1,6 @@ + +The official repository of the F-Droid client. Applications in this repository +are either official binaries built by the original application developers, or +are binaries built from source by the admin of f-droid.org using the tools on +https://gitorious.org/f-droid. + \ No newline at end of file diff --git a/test/assets/simpleIndexWithCorruptedCertificate.jar b/test/assets/simpleIndexWithCorruptedCertificate.jar new file mode 100644 index 0000000000000000000000000000000000000000..ba16c33066c566f9afae7bda2fbf7cd6883f6bf2 GIT binary patch literal 2385 zcmZ{l2|SefAIBfZFxF8L%3`uKTmb|Jg?t#e?PC!@AZ6tpSLxNhj%{!fWZKNQO+rG zH8DB?0Dw5o;5-G;2s=|XGfSj8+SJkviLkYUp^=MdD#Ze&2J00@sVUQ_^lBT8e(m?; zc$hg_)ePMm`h-^?bNXO=wv;mN56Q#O$w$h1lak_Nl85gC>E}P=7x1fxCkma9U?&P5 zIefGqoA`tWUDlJDYQPrqbl2E`mjsVqN}{SS(h@&iObj7|mrB8ARLez?zFQ;^ix05= zAHTBjkz3sypXQ zhB`~|PI!=c1$^e3Q)b;EO~uMbdiwI(>c@2GCYCvaJ?*XSog=NSt<)h6^PIu-%vFgsPKBT z;0c+!DRWN`LU)ZQhS%ERR+8dkn+MNth7low_5xu!9#L;{7pR*S1xtOzmXDP7t|J*N z2Q5u)Ee)8%(G++Jr~z{~8Ig#%=F%o-dujO^D=;Q+CZ@lgu+abflP;+O%V%IjCi~cI zonvjNq`E{oveyq)SFxU9U(U}gAG1;9C6&AMJ@BiF2wIzIZE5idnR;3`hkmi${4&Xq`q~s%*;Zu~yLW#iYgBYcdO;_r1#%y{#{L zVbHSk#2?F|_c|$6bykzz7pOh&1sn$H_+DNAr(QkbGMTzUiDzzz;D$}m=%R(^uZ9kV zVJ!)bLo*cOd~O7L3_5)nLuUFBw6j8xTVpBE}H9v6Sbd230m_Tpboy{4Z&0vN=%P=);ZaXmy{7 zAG+26TrV#K#2;xym91hGPu5nKz+6r&C6hr* z8s>I*2R0cMH*$zdNbyo(Ipheyn23-&0mAjp}tAv;8 z5FMAx4#WLL_qjk>_Wr;tlM4yy(AOQU{iqt)U5{g$1~)W8!VQvgZP=SV$nHUO9i@MSD7CrBj*d-oXs%CCd15-VbDm#59^ajVlcmNhm#W3^I3?EXHJ|?b$c`T6(KdJxJ=KZ*Syu zy;5D1`)fOA{BpBsD9ib1x<4pk6vMQg(s^n9g#q37At&HMbHlKQvd%9-7#6LgDkS54 zNMnc`)K?dOwk_e3Sg7TZy%`p2K411`A?(4yPtc^Nh32@35~+3by#()il10Z$c(l=aSVuCPw-9 z7-Y#b-3oAX3#I!{t!a7-L5MkZ{EMr2eUU<=OFGPw%t`{dF&~jAl;leAE@fI!QeO8@ z>jf4zk805=;b&j=_R!M`$#8v|q}qxkXrziQ-=MxoE?Eq9kD#BLeUy%S27v{ZP3yIc zj4%u#j@o(iqpJ~bP%?|5O`1!xAz|SgXQ;m;bF(1wt5()1F7Ex?RR2G$|9j#6efl@@ z?^f7N-){;PoXZ`B9T?dnw-sc0{_^lofF0NoAYCcvAnKnAUvUQd3un7f_Px1(3zHpf ofWZ5m^merDF5Mk1-%5))r8_}mjRNs)zXEagvmCoq{M&bb0_&*tS^xk5 literal 0 HcmV?d00001 diff --git a/test/assets/simpleIndexWithCorruptedEverything.jar b/test/assets/simpleIndexWithCorruptedEverything.jar new file mode 100644 index 0000000000000000000000000000000000000000..cca7b96bc1356955577ceebe4b606d0489e6fdd4 GIT binary patch literal 2489 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 literal 0 HcmV?d00001 diff --git a/test/assets/simpleIndexWithCorruptedManifest.jar b/test/assets/simpleIndexWithCorruptedManifest.jar new file mode 100644 index 0000000000000000000000000000000000000000..d8b7b70b702f8bf0a7f49c55b62af68fbac8767f GIT binary patch literal 2384 zcmZ{m2{=@HAIFbn7+FfTaxq*QvWzVTQB*U<7-YSc(T%~7r3P8bl6p-|L?W_Wl_hVs zFnEzAQO1n1hK$s0Y-3Gmt{Cp{K971m_dVzN|DSW7bAI3F_dVzL|9$>8C>~yM004u5 z%VpVTSn|cw(EtF%afUb`1E3N1W*X*JNKLevl{pe&XAeUo9qa`Fo_x>+yFWN1G+Yqi z;$7tefSqX>O{G|(G+@2LC=FE_wY$nzYe4tY1RiFARyRlYhCb&N$e2CcmL;u<`%CHw zbShufU`k42TpR_~aKn=$e7_Og*-cr>oi)ydrq) zYNEQzGA-fDm4py7c%>9Ayz;G5G+ST`&Aa*=OY7qxZTvKGt`<06)Cgm|2?H z+nqiKvqJ`Sbz8S;9eT60p2FU5GV>((onL_fK^V!qrl6qE(k}kZ!rjPdy1rnc-02hc z^L(9g?jkn}SvSIsi7S0^EaioY$jx@wRvd(7V`y}quQ`xM7@b}9pHf--ls3q+{|B07 zr{yMTG=Y7iJcZE4h!1=H*vHJU!}oiX8A3efgf1Rl<>v%2)4tieOhi9mZA~dLo3+}d zSBGbqMIVIYW$)|VtUvLLAqe5K3*|NM8ULghqrRz?@@0O#6AW`1D0hzhN{GwDt$?eW znqv0Y@5_@IiQxu-eLMgl!TAKczjD{Ut(}=J&coZ2G2pk1Tc=SvXr#w?ms-2Gieh4Sxq?t6E=@OKMYzq~hfiX; zAio5w2-a#fWR;=LM|%^WWZVFsyXBlwE3d6wk#AtAsH=HguiMlrd#IB ztYwis)Yj9|*8}c6LN0l;)&aYS_4++<&Pxk7hxPNv{^r3fo64c6{L1#}%!+B%(L=Dq z(k1334PB}d)<6GQwy?l6ADkwsUjKps-zw{-xxc?9ofFy&0jUpDN=OT1lLK}q;g7lo zE+}rOn+(42dcWienYkP76 z^a9IgWI`tU*lt~5Zm6ZWUUy=z%U4x0Ut!-a&aED|Rpup?yY@fvtBeTxKG)LR>=QEc zvUb=T7k-RgIzldnx0h_Dp3Rx7?`0e)R>>M}V!et-c}wb?MP03E%!SfxHELKJkx>4FG&9u{ zC}HyX&TN#X&*U&>b2AY$Snw*C)(3hz+nV5PIVM9t$%uAGP;7sySU%2z7@)Ck6DBB1ERcz!RVcI1MycL%1q{zr%M_(>N>WWkuK!%cnevQjfPLZ6 zvy6xG9^<#k%2F6AG4(gk+b&}JX3Y2XTZA~L4=h-R&@MjC8d~&q>#b!su(pcTJegaa z0t?x(lngp8afI9PBiM9I!o=}1ARX^j&+)0IC}H(Brta(H(8jg#I;RWXN1{ zBtF`y>9*RxEb>NAp|}D{HIy42CI8*lIQ6`sPNrl(*>j0jEF_Rzrr^aB|qF%1^Z6Dq?+k}A)gf-GF5iZPj~`wz~)li6y} z43eJq?TwtRQ>ksd_|D!1zuF`k%5*uF<_{u{VHkEZdT(vM(V+)FX9rwvsvq%C)%!gN z!=$xWhNNE#X$Vn(`s(A)w-T?4g<2gwkZ!5r^X)(;!T}uo98G#zXn~6;kzThrP$1Qj zte)bIBvrk-uYcT;Ql=#8Juf*a^H@(Ar#EQs^+6DU@Gr$D+EyOS2;dW;LFtMSL9^JJ zD=DFQ{Rp3UHN(0bHrXwm(ZAwFhs~BJC9ya4b>t=|Cayq~`U!@f&!$d4NK3!+K4fZb zAxYC?a*Th!QKoF;y#ROj&~E>k@7mr%5JGk>|MD8%P^8f0sve^xqaqsIkcUVRN_30% zE@fC!lHU!?8Uz+Ljp=k#!q30$?deV}B*P79QW`8N&}b!Fv0ihTT(TT`F{1m-e1014 z6$BPoHfzv4I!ZT&IO*mtj;%$!N69XSHfpcPg@lD~oTL7U%*li(u36ilxVYtb{vYZO z?W{Tu#sSie?aN(S{15m+{{{aZ=x-~FbG8fHn}~k`?~e4&MEzNLmqT{Qy$XBT^+SQe zNpUx~T?G!wewO&BX7WQKiuWgp?bfn4bZ=|<5&E1Hy4z@MP$0hTM>e literal 0 HcmV?d00001 diff --git a/test/assets/simpleIndexWithCorruptedSignature.jar b/test/assets/simpleIndexWithCorruptedSignature.jar new file mode 100644 index 0000000000000000000000000000000000000000..b198ab60f4d9f8f3e278b1cbdea6d644e90787b0 GIT binary patch literal 2384 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 Date: Mon, 28 Apr 2014 22:24:28 -0400 Subject: [PATCH 23/73] try to find ManageRepo's Fragment before recreating it This helps with dealing with listFragment being null after a rotation. That was happening when an Intent was coming in from a QR Code scanner, and the screen was rotated during the process. This snippet was taken from SearchResults.java This is Peter Serwylo's idea, I just typed it up and tested it :) --- src/org/fdroid/fdroid/ManageRepo.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/org/fdroid/fdroid/ManageRepo.java b/src/org/fdroid/fdroid/ManageRepo.java index 733f0e063..64b025597 100644 --- a/src/org/fdroid/fdroid/ManageRepo.java +++ b/src/org/fdroid/fdroid/ManageRepo.java @@ -27,11 +27,11 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; import android.support.v4.app.NavUtils; import android.text.TextUtils; import android.util.Log; import android.view.MenuItem; - import android.widget.LinearLayout; import android.widget.Toast; @@ -57,8 +57,8 @@ public class ManageRepo extends FragmentActivity { ((FDroidApp) getApplication()).applyTheme(this); - if (savedInstanceState == null) { - + FragmentManager fm = getSupportFragmentManager(); + if (fm.findFragmentById(android.R.id.content) == null) { // Need to set a dummy view (which will get overridden by the fragment manager // below) so that we can call setContentView(). This is a work around for // a (bug?) thing in 3.0, 3.1 which requires setContentView to be invoked before @@ -67,10 +67,9 @@ public class ManageRepo extends FragmentActivity { setContentView( new LinearLayout(this) ); listFragment = new RepoListFragment(); - getSupportFragmentManager() - .beginTransaction() - .add(android.R.id.content, listFragment) - .commit(); + fm.beginTransaction() + .add(android.R.id.content, listFragment) + .commit(); } ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true); From 57435aa6b6ead2fe8060e4c2ee4a471f5f7dca8d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 28 Apr 2014 23:21:02 -0400 Subject: [PATCH 24/73] catch IllegalArgumentException when dialog disappears before dismiss It seems that sometimes checking dialog.isShowing() is not enough. I got a crash on dialog.dismiss(). But since the dialog is already gone in that case, just catch the Exception and move on. Here's the stacktrace: 31760 FDroid D Update took 45 seconds. 31760 FDroid D Invalidating preference 'lastUpdateCheck'. 31760 AndroidRuntime D Shutting down VM 31760 AndroidRuntime E FATAL EXCEPTION: main 31760 AndroidRuntime E java.lang.IllegalArgumentException: View not attached to window manager 31760 AndroidRuntime E at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:378) 31760 AndroidRuntime E at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:223) 31760 AndroidRuntime E at android.view.Window$LocalWindowManager.removeView(Window.java:432) 31760 AndroidRuntime E at android.app.Dialog.dismissDialog(Dialog.java:278) 31760 AndroidRuntime E at android.app.Dialog.access$000(Dialog.java:71) 31760 AndroidRuntime E at android.app.Dialog$1.run(Dialog.java:111) 31760 AndroidRuntime E at android.app.Dialog.dismiss(Dialog.java:268) 31760 AndroidRuntime E at org.fdroid.fdroid.UpdateService$UpdateReceiver.onReceiveResult(UpdateService.java:124) 31760 AndroidRuntime E at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:43) 31760 AndroidRuntime E at android.os.Handler.handleCallback(Handler.java:587) 31760 AndroidRuntime E at android.os.Handler.dispatchMessage(Handler.java:92) 31760 AndroidRuntime E at android.os.Looper.loop(Looper.java:130) 31760 AndroidRuntime E at android.app.ActivityThread.main(ActivityThread.java:3687) 31760 AndroidRuntime E at java.lang.reflect.Method.invokeNative(Native Method) 31760 AndroidRuntime E at java.lang.reflect.Method.invoke(Method.java:507) 31760 AndroidRuntime E at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 31760 AndroidRuntime E at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 31760 AndroidRuntime E at dalvik.system.NativeStart.main(Native Method) 119 E Dumpstate > /data/log/dumpstate_app_error 119 ActivityManager W Force finishing activity org.fdroid.fdroid/.views.RepoDetailsActivity more info: https://stackoverflow.com/questions/19538282/view-not-attached-to-window-manager-dialog-dismiss --- src/org/fdroid/fdroid/UpdateService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index 6817936f8..471b120f2 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -120,7 +120,13 @@ public class UpdateService extends IntentService implements ProgressListener { } if (finished && dialog.isShowing()) - dialog.dismiss(); + try { + dialog.dismiss(); + } catch (IllegalArgumentException e) { + // sometimes dialog.isShowing() doesn't work :( + // https://stackoverflow.com/questions/19538282/view-not-attached-to-window-manager-dialog-dismiss + e.printStackTrace(); + } } } From 253c880595361eee29d9dbe98638e31f56134ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 1 May 2014 18:45:43 +0200 Subject: [PATCH 25/73] Hard-code number of UIL threads to 4 Making them dependant on the number of processors doesn't make much sense... --- src/org/fdroid/fdroid/FDroidApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/FDroidApp.java b/src/org/fdroid/fdroid/FDroidApp.java index d05794479..1a4a02600 100644 --- a/src/org/fdroid/fdroid/FDroidApp.java +++ b/src/org/fdroid/fdroid/FDroidApp.java @@ -154,7 +154,7 @@ public class FDroidApp extends Application { // 30 days in secs: 30*24*60*60 = 2592000 2592000) ) - .threadPoolSize(Runtime.getRuntime().availableProcessors() * 2) + .threadPoolSize(4) .threadPriority(Thread.NORM_PRIORITY - 2) // Default is NORM_PRIORITY - 1 .build(); ImageLoader.getInstance().init(config); From c32fb3a6b7ff4c037b62db403709101b9710151e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 1 May 2014 19:23:59 +0200 Subject: [PATCH 26/73] Add gravities beside textAlignment to fix issues in <4.2 textAlignment works well for 4.2 and later, but it is ignored in 4.1 and earlier. Seting gravity to its textAlignment equivalent fixes this. --- res/layout/appdetails.xml | 2 ++ res/layout/applistitem.xml | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/res/layout/appdetails.xml b/res/layout/appdetails.xml index 25ce76664..686eb91d5 100644 --- a/res/layout/appdetails.xml +++ b/res/layout/appdetails.xml @@ -57,6 +57,7 @@ android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" + android:gravity="start" android:textAlignment="viewStart" android:layout_toLeftOf="@id/license" android:layout_toStartOf="@id/license" /> @@ -83,6 +84,7 @@ android:textSize="12sp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" + android:gravity="start" android:textAlignment="viewStart" android:layout_toLeftOf="@id/categories" android:layout_toStartOf="@id/categories" diff --git a/res/layout/applistitem.xml b/res/layout/applistitem.xml index 449d974bd..793e46319 100644 --- a/res/layout/applistitem.xml +++ b/res/layout/applistitem.xml @@ -43,6 +43,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" + android:gravity="start" android:textAlignment="viewStart" /> @@ -56,6 +57,7 @@ android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:layout_gravity="center_vertical" + android:gravity="end" android:textAlignment="viewEnd" /> @@ -76,6 +78,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" + android:gravity="start" android:textAlignment="viewStart" /> @@ -89,6 +92,7 @@ android:layout_marginLeft="6sp" android:layout_marginStart="6sp" android:layout_gravity="center_vertical" + android:gravity="end" android:textAlignment="viewEnd" /> From c288fd5534a5533cf2a476f0da255a07935df821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 1 May 2014 19:25:07 +0200 Subject: [PATCH 27/73] Prepare for 0.66 release --- AndroidManifest.xml | 4 ++-- CHANGELOG.md | 2 +- README.md | 2 +- res/values/no_trans.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index a6972fd34..86c0946fa 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="660" + android:versionName="0.66" > - + diff --git a/res/values/no_trans.xml b/res/values/no_trans.xml index 6865dc06f..4130f834c 100644 --- a/res/values/no_trans.xml +++ b/res/values/no_trans.xml @@ -2,7 +2,7 @@ F-Droid - 0.65 + 0.66 https://f-droid.org team@f-droid.org From b8cffa6744432192951d57371101634672022346 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 1 May 2014 12:36:26 -0400 Subject: [PATCH 28/73] add extra checks when running Utils.calcFingerprint() These provide a sanity check when calculating a fingerprint from a X.509 certificate stored as `repo.pubkey`. --- src/org/fdroid/fdroid/Utils.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 5131a8e3d..a9e4ec1b9 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -218,9 +218,11 @@ public final class Utils { } public static String calcFingerprint(String keyHexString) { - if (TextUtils.isEmpty(keyHexString)) + if (TextUtils.isEmpty(keyHexString) + || keyHexString.matches(".*[^a-fA-F0-9].*")) { + Log.e("FDroid", "Signing key certificate was blank or contained a non-hex-digit!"); return null; - else + } else return calcFingerprint(Hasher.unhex(keyHexString)); } @@ -234,6 +236,10 @@ public final class Utils { public static String calcFingerprint(byte[] key) { String ret = null; + if (key.length < 256) { + Log.e("FDroid", "key was shorter than 256 bytes (" + key.length + "), cannot be valid!"); + return null; + } try { // keytool -list -v gives you the SHA-256 fingerprint MessageDigest digest = MessageDigest.getInstance("SHA-256"); From f483630e027e6104eabcc7247893f36ca3cd2d27 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 1 May 2014 21:44:27 -0400 Subject: [PATCH 29/73] store files for tests in the fdroid cache For some reason, on some emulators, it is failing to find a place to write the test index files. But on most setups, it works fine. So instead try writing the files to the cacheDir of FDroid itself rather than the test app --- test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java b/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java index 3f198a6e4..7a045379a 100644 --- a/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java +++ b/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java @@ -44,7 +44,8 @@ public class SignedRepoUpdaterTest extends InstrumentationTestCase { InputStream input = null; OutputStream output = null; try { - indexFile = File.createTempFile("index-", ".xml", context.getFilesDir()); + indexFile = File.createTempFile("index-", ".xml", + getInstrumentation().getTargetContext().getCacheDir()); input = getInputStreamFromAssets(fileName); output = new FileOutputStream(indexFile); Utils.copy(input, output); From 3701d7864a7e0cfc25165371ee2b67f5be9d9b69 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 11:36:08 -0400 Subject: [PATCH 30/73] remove old https:// certificate pin for guardianproject.info This secret key is no longer valid since the server was vulnerable to Heartbleed. Also fixed the formatting to be standard while I was at it. --- src/org/fdroid/fdroid/FDroidCertPins.java | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/org/fdroid/fdroid/FDroidCertPins.java b/src/org/fdroid/fdroid/FDroidCertPins.java index 98b36ec35..646a792b2 100644 --- a/src/org/fdroid/fdroid/FDroidCertPins.java +++ b/src/org/fdroid/fdroid/FDroidCertPins.java @@ -22,8 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; public class FDroidCertPins { - public static final String[] DEFAULT_PINS = - { + public static final String[] DEFAULT_PINS = { /* * SubjectDN: CN=f-droid.org, OU=PositiveSSL, OU=Domain Control Validated * IssuerDN: CN=PositiveSSL CA 2, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB @@ -31,22 +30,12 @@ public class FDroidCertPins { * SPKI Pin: 638F93856E1F5EDFCBD40C46D4160CFF21B0713A */ "638F93856E1F5EDFCBD40C46D4160CFF21B0713A", - - /* - * SubjectDN: CN=guardianproject.info, OU=Gandi Standard SSL, OU=Domain Control Validated - * IssuerDN: CN=Gandi Standard SSL CA, O=GANDI SAS, C=FR - * Fingerprint: 187C2573E924DFCBFF2A781A2F99D71C6E031828 - * SPKI Pin: EB6BBC6C6BAEEA20CB0F3357720D86E0F3A526F4 - */ - "EB6BBC6C6BAEEA20CB0F3357720D86E0F3A526F4", }; public static ArrayList PINLIST = null; - public static String[] getPinList() - { - if(PINLIST == null) - { + public static String[] getPinList() { + if (PINLIST == null) { PINLIST = new ArrayList(); PINLIST.addAll(Arrays.asList(DEFAULT_PINS)); } From 1d1c682c2ce11e2c975d0cd1e807b095e47c7693 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 21:01:10 -0400 Subject: [PATCH 31/73] fix crash when adding a repo without a fingerprint via URL/QR Code --- src/org/fdroid/fdroid/views/fragments/RepoListFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java index 7f04bd64f..07ae9a41f 100644 --- a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java @@ -364,7 +364,8 @@ public class RepoListFragment extends ListFragment final Button addButton = alrt.getButton(DialogInterface.BUTTON_POSITIVE); alrt.setTitle(R.string.repo_exists); overwriteMessage.setVisibility(View.VISIBLE); - newFingerprint = newFingerprint.toUpperCase(Locale.ENGLISH); + if (newFingerprint != null) + newFingerprint = newFingerprint.toUpperCase(Locale.ENGLISH); if (repo.fingerprint == null && newFingerprint != null) { // we're upgrading from unsigned to signed repo overwriteMessage.setText(R.string.repo_exists_add_fingerprint); From 049cd56215467ea1c7ae15ecb0c4a5ea301dbe06 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 21:19:20 -0400 Subject: [PATCH 32/73] if it is not possible to make the sharing Uri, return a placeholder The receiver of this can at least make some sense of it, versus null or a blank string. This prevents crashes where FDroid.repo.address is not yet set since the wifi was never enabled or it does not have an IP address yet. --- src/org/fdroid/fdroid/Utils.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index a9e4ec1b9..39edc418e 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -193,6 +193,8 @@ public final class Utils { } public static Uri getSharingUri(Context context, Repo repo) { + if (TextUtils.isEmpty(repo.address)) + return Uri.parse("http://wifi-not-enabled"); Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo")); Uri.Builder b = uri.buildUpon(); b.appendQueryParameter("fingerprint", repo.fingerprint); From 3caec653e5bfefe0a71269ab2f43db76ca252dda Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 12:06:55 -0400 Subject: [PATCH 33/73] generate QR Codes internally based on ZXing's core.jar This app needs to be able to generate QR Codes regardless of what other app might be installed, so zxing's core.jar needs to be embedded in this app. This also includes two classes which are modified versions of ZXing classes that allow the generation of QR Codes without the Barcode Scanner app being installed: https://stackoverflow.com/questions/4782543/integration-zxing-library-directly-into-my-android-application The classes are src/com/google/zxing/encode/Contents.java which is a copy of zxing/android/src/com/google/zxing/client/android/Contents.java; and src/com/google/zxing/encode/QRCodeEncoder.java which is a heavily stripped and modified version of zxing/android/src/com/google/zxing/client/android/encode/QRCodeEncoder.java refs #3204 https://dev.guardianproject.info/issues/3204 refs #2470 https://dev.guardianproject.info/issues/2470 --- libs/core-3.0.1.jar | Bin 0 -> 538677 bytes libs/core-3.0.1.jar.README | 17 ++ src/com/google/zxing/encode/Contents.java | 114 ++++++++ .../google/zxing/encode/QRCodeEncoder.java | 248 ++++++++++++++++++ 4 files changed, 379 insertions(+) create mode 100644 libs/core-3.0.1.jar create mode 100644 libs/core-3.0.1.jar.README create mode 100755 src/com/google/zxing/encode/Contents.java create mode 100755 src/com/google/zxing/encode/QRCodeEncoder.java diff --git a/libs/core-3.0.1.jar b/libs/core-3.0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1b35fcbbcf68954597297fb35887582f733b485 GIT binary patch literal 538677 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≻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 AMgRZ+ literal 0 HcmV?d00001 diff --git a/libs/core-3.0.1.jar.README b/libs/core-3.0.1.jar.README new file mode 100644 index 000000000..8535081d5 --- /dev/null +++ b/libs/core-3.0.1.jar.README @@ -0,0 +1,17 @@ +zxing +----- + +ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image +processing library implemented in Java, with ports to other languages. + +https://github.com/zxing/zxing + +Building zxing from scratch is a massive pain, so we use the official jar. +The main source repo is SVN, so we couldn't do a git submodule anyway. + +The releases should be signed by this key: +Sean Owen (ZXing) +CE32 85F3 2068 5193 D11F EA01 F6CE 9695 C931 8406 + +http://central.maven.org/maven2/com/google/zxing/core/3.0.1/core-3.0.1.jar +http://central.maven.org/maven2/com/google/zxing/core/3.0.1/core-3.0.1.jar.asc diff --git a/src/com/google/zxing/encode/Contents.java b/src/com/google/zxing/encode/Contents.java new file mode 100755 index 000000000..6271fa9af --- /dev/null +++ b/src/com/google/zxing/encode/Contents.java @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.zxing.encode; + +import android.provider.ContactsContract; + +/** + * The set of constants to use when sending Barcode Scanner an Intent which requests a barcode + * to be encoded. + * + * @author dswitkin@google.com (Daniel Switkin) + */ +public final class Contents { + private Contents() { + } + + public static final class Type { + /** + * Plain text. Use Intent.putExtra(DATA, string). This can be used for URLs too, but string + * must include "http://" or "https://". + */ + public static final String TEXT = "TEXT_TYPE"; + + /** + * An email type. Use Intent.putExtra(DATA, string) where string is the email address. + */ + public static final String EMAIL = "EMAIL_TYPE"; + + /** + * Use Intent.putExtra(DATA, string) where string is the phone number to call. + */ + public static final String PHONE = "PHONE_TYPE"; + + /** + * An SMS type. Use Intent.putExtra(DATA, string) where string is the number to SMS. + */ + public static final String SMS = "SMS_TYPE"; + + /** + * A contact. Send a request to encode it as follows: + *

+ * import android.provider.Contacts; + *

+ * Intent intent = new Intent(Intents.Encode.ACTION); + * intent.putExtra(Intents.Encode.TYPE, CONTACT); + * Bundle bundle = new Bundle(); + * bundle.putString(Contacts.Intents.Insert.NAME, "Jenny"); + * bundle.putString(Contacts.Intents.Insert.PHONE, "8675309"); + * bundle.putString(Contacts.Intents.Insert.EMAIL, "jenny@the80s.com"); + * bundle.putString(Contacts.Intents.Insert.POSTAL, "123 Fake St. San Francisco, CA 94102"); + * intent.putExtra(Intents.Encode.DATA, bundle); + */ + public static final String CONTACT = "CONTACT_TYPE"; + + /** + * A geographic location. Use as follows: + * Bundle bundle = new Bundle(); + * bundle.putFloat("LAT", latitude); + * bundle.putFloat("LONG", longitude); + * intent.putExtra(Intents.Encode.DATA, bundle); + */ + public static final String LOCATION = "LOCATION_TYPE"; + + private Type() { + } + } + + public static final String URL_KEY = "URL_KEY"; + + public static final String NOTE_KEY = "NOTE_KEY"; + + /** + * When using Type.CONTACT, these arrays provide the keys for adding or retrieving multiple + * phone numbers and addresses. + */ + public static final String[] PHONE_KEYS = { + ContactsContract.Intents.Insert.PHONE, + ContactsContract.Intents.Insert.SECONDARY_PHONE, + ContactsContract.Intents.Insert.TERTIARY_PHONE + }; + + public static final String[] PHONE_TYPE_KEYS = { + ContactsContract.Intents.Insert.PHONE_TYPE, + ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE, + ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE + }; + + public static final String[] EMAIL_KEYS = { + ContactsContract.Intents.Insert.EMAIL, + ContactsContract.Intents.Insert.SECONDARY_EMAIL, + ContactsContract.Intents.Insert.TERTIARY_EMAIL + }; + + public static final String[] EMAIL_TYPE_KEYS = { + ContactsContract.Intents.Insert.EMAIL_TYPE, + ContactsContract.Intents.Insert.SECONDARY_EMAIL_TYPE, + ContactsContract.Intents.Insert.TERTIARY_EMAIL_TYPE + }; + +} diff --git a/src/com/google/zxing/encode/QRCodeEncoder.java b/src/com/google/zxing/encode/QRCodeEncoder.java new file mode 100755 index 000000000..9b17eccf9 --- /dev/null +++ b/src/com/google/zxing/encode/QRCodeEncoder.java @@ -0,0 +1,248 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// from https://stackoverflow.com/questions/4782543/integration-zxing-library-directly-into-my-android-application +package com.google.zxing.encode; + +import android.graphics.Bitmap; +import android.os.Bundle; +import android.provider.ContactsContract; +import android.telephony.PhoneNumberUtils; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.WriterException; +import com.google.zxing.common.BitMatrix; + +import java.util.Collection; +import java.util.EnumMap; +import java.util.HashSet; +import java.util.Map; + +public final class QRCodeEncoder { + private static final int WHITE = 0xFFFFFFFF; + private static final int BLACK = 0xFF000000; + + private int dimension = Integer.MIN_VALUE; + private String contents = null; + private String displayContents = null; + private String title = null; + private BarcodeFormat format = null; + private boolean encoded = false; + + public QRCodeEncoder(String data, Bundle bundle, String type, String format, int dimension) { + this.dimension = dimension; + encoded = encodeContents(data, bundle, type, format); + } + + public String getContents() { + return contents; + } + + public String getDisplayContents() { + return displayContents; + } + + public String getTitle() { + return title; + } + + private boolean encodeContents(String data, Bundle bundle, String type, String formatString) { + // Default to QR_CODE if no format given. + format = null; + if (formatString != null) { + try { + format = BarcodeFormat.valueOf(formatString); + } catch (IllegalArgumentException iae) { + // Ignore it then + } + } + if (format == null || format == BarcodeFormat.QR_CODE) { + this.format = BarcodeFormat.QR_CODE; + encodeQRCodeContents(data, bundle, type); + } else if (data != null && data.length() > 0) { + contents = data; + displayContents = data; + title = "Text"; + } + return contents != null && contents.length() > 0; + } + + private void encodeQRCodeContents(String data, Bundle bundle, String type) { + if (type.equals(Contents.Type.TEXT)) { + if (data != null && data.length() > 0) { + contents = data; + displayContents = data; + title = "Text"; + } + } else if (type.equals(Contents.Type.EMAIL)) { + data = trim(data); + if (data != null) { + contents = "mailto:" + data; + displayContents = data; + title = "E-Mail"; + } + } else if (type.equals(Contents.Type.PHONE)) { + data = trim(data); + if (data != null) { + contents = "tel:" + data; + displayContents = PhoneNumberUtils.formatNumber(data); + title = "Phone"; + } + } else if (type.equals(Contents.Type.SMS)) { + data = trim(data); + if (data != null) { + contents = "sms:" + data; + displayContents = PhoneNumberUtils.formatNumber(data); + title = "SMS"; + } + } else if (type.equals(Contents.Type.CONTACT)) { + if (bundle != null) { + StringBuilder newContents = new StringBuilder(100); + StringBuilder newDisplayContents = new StringBuilder(100); + + newContents.append("MECARD:"); + + String name = trim(bundle.getString(ContactsContract.Intents.Insert.NAME)); + if (name != null) { + newContents.append("N:").append(escapeMECARD(name)).append(';'); + newDisplayContents.append(name); + } + + String address = trim(bundle.getString(ContactsContract.Intents.Insert.POSTAL)); + if (address != null) { + newContents.append("ADR:").append(escapeMECARD(address)).append(';'); + newDisplayContents.append('\n').append(address); + } + + Collection uniquePhones = new HashSet(Contents.PHONE_KEYS.length); + for (int x = 0; x < Contents.PHONE_KEYS.length; x++) { + String phone = trim(bundle.getString(Contents.PHONE_KEYS[x])); + if (phone != null) { + uniquePhones.add(phone); + } + } + for (String phone : uniquePhones) { + newContents.append("TEL:").append(escapeMECARD(phone)).append(';'); + newDisplayContents.append('\n').append(PhoneNumberUtils.formatNumber(phone)); + } + + Collection uniqueEmails = new HashSet(Contents.EMAIL_KEYS.length); + for (int x = 0; x < Contents.EMAIL_KEYS.length; x++) { + String email = trim(bundle.getString(Contents.EMAIL_KEYS[x])); + if (email != null) { + uniqueEmails.add(email); + } + } + for (String email : uniqueEmails) { + newContents.append("EMAIL:").append(escapeMECARD(email)).append(';'); + newDisplayContents.append('\n').append(email); + } + + String url = trim(bundle.getString(Contents.URL_KEY)); + if (url != null) { + // escapeMECARD(url) -> wrong escape e.g. http\://zxing.google.com + newContents.append("URL:").append(url).append(';'); + newDisplayContents.append('\n').append(url); + } + + String note = trim(bundle.getString(Contents.NOTE_KEY)); + if (note != null) { + newContents.append("NOTE:").append(escapeMECARD(note)).append(';'); + newDisplayContents.append('\n').append(note); + } + + // Make sure we've encoded at least one field. + if (newDisplayContents.length() > 0) { + newContents.append(';'); + contents = newContents.toString(); + displayContents = newDisplayContents.toString(); + title = "Contact"; + } else { + contents = null; + displayContents = null; + } + + } + } else if (type.equals(Contents.Type.LOCATION)) { + if (bundle != null) { + // These must use Bundle.getFloat(), not getDouble(), it's part of the API. + float latitude = bundle.getFloat("LAT", Float.MAX_VALUE); + float longitude = bundle.getFloat("LONG", Float.MAX_VALUE); + if (latitude != Float.MAX_VALUE && longitude != Float.MAX_VALUE) { + contents = "geo:" + latitude + ',' + longitude; + displayContents = latitude + "," + longitude; + title = "Location"; + } + } + } + } + + public Bitmap encodeAsBitmap() throws WriterException { + if (!encoded) return null; + + Map hints = null; + String encoding = guessAppropriateEncoding(contents); + if (encoding != null) { + hints = new EnumMap(EncodeHintType.class); + hints.put(EncodeHintType.CHARACTER_SET, encoding); + } + MultiFormatWriter writer = new MultiFormatWriter(); + BitMatrix result = writer.encode(contents, format, dimension, dimension, hints); + int width = result.getWidth(); + int height = result.getHeight(); + int[] pixels = new int[width * height]; + // All are 0, or black, by default + for (int y = 0; y < height; y++) { + int offset = y * width; + for (int x = 0; x < width; x++) { + pixels[offset + x] = result.get(x, y) ? BLACK : WHITE; + } + } + + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + bitmap.setPixels(pixels, 0, width, 0, 0, width, height); + return bitmap; + } + + private static String guessAppropriateEncoding(CharSequence contents) { + // Very crude at the moment + for (int i = 0; i < contents.length(); i++) { + if (contents.charAt(i) > 0xFF) { return "UTF-8"; } + } + return null; + } + + private static String trim(String s) { + if (s == null) { return null; } + String result = s.trim(); + return result.length() == 0 ? null : result; + } + + private static String escapeMECARD(String input) { + if (input == null || (input.indexOf(':') < 0 && input.indexOf(';') < 0)) { return input; } + int length = input.length(); + StringBuilder result = new StringBuilder(length); + for (int i = 0; i < length; i++) { + char c = input.charAt(i); + if (c == ':' || c == ';') { + result.append('\\'); + } + result.append(c); + } + return result.toString(); + } +} From a89e4143c01c4b60ad7315c1810af4705e74cfe1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 13:11:33 -0400 Subject: [PATCH 34/73] QR Code image generation into AsyncTask to keep things snappy Generating the QR Code image can take some time, so do it in an AsyncTask which then updates the ImageView once the QRCode is complete. This will be used for the kerplapp repo swapping process. refs #3204 https://dev.guardianproject.info/issues/3204 refs #3201 https://dev.guardianproject.info/issues/3201 --- src/org/fdroid/fdroid/QrGenAsyncTask.java | 73 +++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/org/fdroid/fdroid/QrGenAsyncTask.java diff --git a/src/org/fdroid/fdroid/QrGenAsyncTask.java b/src/org/fdroid/fdroid/QrGenAsyncTask.java new file mode 100644 index 000000000..ef2f62787 --- /dev/null +++ b/src/org/fdroid/fdroid/QrGenAsyncTask.java @@ -0,0 +1,73 @@ + +package org.fdroid.fdroid; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.graphics.Bitmap; +import android.graphics.Point; +import android.os.AsyncTask; +import android.os.Build; +import android.util.Log; +import android.view.Display; +import android.widget.ImageView; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.WriterException; +import com.google.zxing.encode.Contents; +import com.google.zxing.encode.QRCodeEncoder; + +public class QrGenAsyncTask extends AsyncTask { + private static final String TAG = "QrGenAsyncTask"; + + private Activity activity; + private int viewId; + private Bitmap qrBitmap; + + public QrGenAsyncTask(Activity activity, int viewId) { + this.activity = activity; + this.viewId = viewId; + } + + /* + * The method for getting screen dimens changed, so this uses both the + * deprecated one and the 13+ one, and supports all Android versions. + */ + @SuppressWarnings("deprecation") + @TargetApi(13) + @Override + protected Void doInBackground(String... s) { + String qrData = s[0]; + Display display = activity.getWindowManager().getDefaultDisplay(); + Point outSize = new Point(); + int x, y, qrCodeDimension; + /* lame, got to use both the new and old APIs here */ + if (Build.VERSION.SDK_INT >= 13) { + display.getSize(outSize); + x = outSize.x; + y = outSize.y; + } else { + x = display.getWidth(); + y = display.getHeight(); + } + if (x < y) + qrCodeDimension = x; + else + qrCodeDimension = y; + Log.i(TAG, "generating QRCode Bitmap of " + qrCodeDimension + "x" + qrCodeDimension); + QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(qrData, null, + Contents.Type.TEXT, BarcodeFormat.QR_CODE.toString(), qrCodeDimension); + + try { + qrBitmap = qrCodeEncoder.encodeAsBitmap(); + } catch (WriterException e) { + Log.e(TAG, e.getMessage()); + } + return (Void) null; + } + + @Override + protected void onPostExecute(Void v) { + ImageView qrCodeImageView = (ImageView) activity.findViewById(viewId); + qrCodeImageView.setImageBitmap(qrBitmap); + } +} From db0b10665627b5911eade20c0533640f3aeddaa6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 17:03:06 -0400 Subject: [PATCH 35/73] 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 --- .gitmodules | 3 +++ extern/nanohttpd | 1 + src/fi/iki/elonen/InternalRewrite.java | 1 + src/fi/iki/elonen/NanoHTTPD.java | 1 + src/fi/iki/elonen/ServerRunner.java | 1 + src/fi/iki/elonen/WebServerPlugin.java | 1 + src/fi/iki/elonen/WebServerPluginInfo.java | 1 + 7 files changed, 9 insertions(+) create mode 160000 extern/nanohttpd create mode 120000 src/fi/iki/elonen/InternalRewrite.java create mode 120000 src/fi/iki/elonen/NanoHTTPD.java create mode 120000 src/fi/iki/elonen/ServerRunner.java create mode 120000 src/fi/iki/elonen/WebServerPlugin.java create mode 120000 src/fi/iki/elonen/WebServerPluginInfo.java diff --git a/.gitmodules b/.gitmodules index 7d39cfc6f..f4e70c3aa 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ path = extern/AndroidPinning url = http://gitlab.doeg.gy/cpu/androidpinning.git ignore = dirty +[submodule "extern/nanohttpd"] + path = extern/nanohttpd + url = https://github.com/eighthave/nanohttpd diff --git a/extern/nanohttpd b/extern/nanohttpd new file mode 160000 index 000000000..58f73260e --- /dev/null +++ b/extern/nanohttpd @@ -0,0 +1 @@ +Subproject commit 58f73260ed98df878bae1051dc8e6a0bce842fcb diff --git a/src/fi/iki/elonen/InternalRewrite.java b/src/fi/iki/elonen/InternalRewrite.java new file mode 120000 index 000000000..1032b32ff --- /dev/null +++ b/src/fi/iki/elonen/InternalRewrite.java @@ -0,0 +1 @@ +../../../../extern/nanohttpd/webserver/src/main/java/fi/iki/elonen/InternalRewrite.java \ No newline at end of file diff --git a/src/fi/iki/elonen/NanoHTTPD.java b/src/fi/iki/elonen/NanoHTTPD.java new file mode 120000 index 000000000..e901c0713 --- /dev/null +++ b/src/fi/iki/elonen/NanoHTTPD.java @@ -0,0 +1 @@ +../../../../extern/nanohttpd/core/src/main/java/fi/iki/elonen/NanoHTTPD.java \ No newline at end of file diff --git a/src/fi/iki/elonen/ServerRunner.java b/src/fi/iki/elonen/ServerRunner.java new file mode 120000 index 000000000..5e86528e1 --- /dev/null +++ b/src/fi/iki/elonen/ServerRunner.java @@ -0,0 +1 @@ +../../../../extern/nanohttpd/webserver/src/main/java/fi/iki/elonen/ServerRunner.java \ No newline at end of file diff --git a/src/fi/iki/elonen/WebServerPlugin.java b/src/fi/iki/elonen/WebServerPlugin.java new file mode 120000 index 000000000..e47bc1985 --- /dev/null +++ b/src/fi/iki/elonen/WebServerPlugin.java @@ -0,0 +1 @@ +../../../../extern/nanohttpd/webserver/src/main/java/fi/iki/elonen/WebServerPlugin.java \ No newline at end of file diff --git a/src/fi/iki/elonen/WebServerPluginInfo.java b/src/fi/iki/elonen/WebServerPluginInfo.java new file mode 120000 index 000000000..b50012005 --- /dev/null +++ b/src/fi/iki/elonen/WebServerPluginInfo.java @@ -0,0 +1 @@ +../../../../extern/nanohttpd/webserver/src/main/java/fi/iki/elonen/WebServerPluginInfo.java \ No newline at end of file From 2c2d8c868c9f154cf92706c88fcecb030429f24a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 17:35:12 -0400 Subject: [PATCH 36/73] monitor Wifi changes with BroadcastReceiver/Service The local repo will need to both have current wifi settings in order to send the correct IP address, SSID, etc. Also, this could be used to handle interrupted downloads and updates, but that is not included in this commit. refs #3204 https://dev.guardianproject.info/issues/3204 --- AndroidManifest.xml | 7 ++ src/org/fdroid/fdroid/FDroidApp.java | 34 ++++++- src/org/fdroid/fdroid/Utils.java | 15 ++-- .../fdroid/WifiStateChangeReceiver.java | 21 +++++ .../fdroid/net/WifiStateChangeService.java | 88 +++++++++++++++++++ 5 files changed, 154 insertions(+), 11 deletions(-) create mode 100644 src/org/fdroid/fdroid/WifiStateChangeReceiver.java create mode 100644 src/org/fdroid/fdroid/net/WifiStateChangeService.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 86c0946fa..e4d28bff9 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -33,6 +33,7 @@ + @@ -303,8 +304,14 @@ + + + + + + diff --git a/src/org/fdroid/fdroid/FDroidApp.java b/src/org/fdroid/fdroid/FDroidApp.java index 1a4a02600..4c01e72cb 100644 --- a/src/org/fdroid/fdroid/FDroidApp.java +++ b/src/org/fdroid/fdroid/FDroidApp.java @@ -23,6 +23,8 @@ import android.app.Activity; import android.app.Application; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothManager; +import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; @@ -30,7 +32,11 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.net.Uri; +import android.net.wifi.WifiManager; import android.os.Build; +import android.os.IBinder; +import android.os.Message; +import android.os.RemoteException; import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; @@ -46,19 +52,36 @@ import de.duenndns.ssl.MemorizingTrustManager; import org.fdroid.fdroid.compat.PRNGFixes; import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.InstalledAppCacheUpdater; +import org.fdroid.fdroid.data.Repo; +import org.fdroid.fdroid.net.WifiStateChangeService; import org.thoughtcrime.ssl.pinning.PinningTrustManager; import org.thoughtcrime.ssl.pinning.SystemKeyStore; -import javax.net.ssl.*; import java.io.File; -import java.lang.Thread; import java.security.KeyManagementException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; +import java.util.HashSet; +import java.util.Set; + +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509TrustManager; public class FDroidApp extends Application { + // for the local repo on this device, all static since there is only one + public static int ipAddress = 0; + public static int port = 8888; + public static String ipAddressString = null; + public static String ssid = ""; + public static String bssid = ""; + public static Repo repo = new Repo(); + static Set selectedApps = new HashSet(); + BluetoothAdapter bluetoothAdapter = null; private static enum Theme { @@ -196,6 +219,13 @@ public class FDroidApp extends Application { } catch (KeyStoreException e) { Log.e("FDroid", "Unable to set up trust manager chain. KeyStoreException"); } + + // initialized the local repo information + WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + int wifiState = wifiManager.getWifiState(); + if (wifiState == WifiManager.WIFI_STATE_ENABLING + || wifiState == WifiManager.WIFI_STATE_ENABLED) + startService(new Intent(this, WifiStateChangeService.class)); } @TargetApi(18) diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 39edc418e..6d0957028 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -197,15 +197,12 @@ public final class Utils { return Uri.parse("http://wifi-not-enabled"); Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo")); Uri.Builder b = uri.buildUpon(); - b.appendQueryParameter("fingerprint", repo.fingerprint); - WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); - WifiInfo wifiInfo = wifiManager.getConnectionInfo(); - String ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1"); - String bssid = wifiInfo.getBSSID(); - if (!TextUtils.isEmpty(bssid)) { - b.appendQueryParameter("bssid", Uri.encode(bssid)); - if (!TextUtils.isEmpty(ssid)) - b.appendQueryParameter("ssid", Uri.encode(ssid)); + if (!TextUtils.isEmpty(repo.fingerprint)) + b.appendQueryParameter("fingerprint", repo.fingerprint); + if (!TextUtils.isEmpty(FDroidApp.bssid)) { + b.appendQueryParameter("bssid", Uri.encode(FDroidApp.bssid)); + if (!TextUtils.isEmpty(FDroidApp.ssid)) + b.appendQueryParameter("ssid", Uri.encode(FDroidApp.ssid)); } return b.build(); } diff --git a/src/org/fdroid/fdroid/WifiStateChangeReceiver.java b/src/org/fdroid/fdroid/WifiStateChangeReceiver.java new file mode 100644 index 000000000..ad2a856dc --- /dev/null +++ b/src/org/fdroid/fdroid/WifiStateChangeReceiver.java @@ -0,0 +1,21 @@ + +package org.fdroid.fdroid; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.net.NetworkInfo; +import android.net.wifi.WifiManager; + +import org.fdroid.fdroid.net.WifiStateChangeService; + +public class WifiStateChangeReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + NetworkInfo ni = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); + if (ni.isConnected()) { + context.startService(new Intent(context, WifiStateChangeService.class)); + } + } +} diff --git a/src/org/fdroid/fdroid/net/WifiStateChangeService.java b/src/org/fdroid/fdroid/net/WifiStateChangeService.java new file mode 100644 index 000000000..afab55923 --- /dev/null +++ b/src/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -0,0 +1,88 @@ + +package org.fdroid.fdroid.net; + +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.AsyncTask; +import android.os.IBinder; +import android.preference.PreferenceManager; +import android.support.v4.content.LocalBroadcastManager; +import android.util.Log; + +import org.fdroid.fdroid.FDroidApp; + +import java.util.Locale; + +public class WifiStateChangeService extends Service { + public static final String BROADCAST = "org.fdroid.fdroid.action.WIFI_CHANGE"; + + private Context context; + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + context = this; + new WaitForWifiAsyncTask().execute(); + return START_NOT_STICKY; + } + + public class WaitForWifiAsyncTask extends AsyncTask { + private static final String TAG = "WaitForWifiAsyncTask"; + private WifiManager wifiManager; + + @Override + protected Void doInBackground(Void... params) { + wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + try { + while (!wifiManager.isWifiEnabled()) { + Log.i(TAG, "waiting for the wifi to be enabled..."); + Thread.sleep(3000); + } + FDroidApp.ipAddress = wifiManager.getConnectionInfo().getIpAddress(); + while (FDroidApp.ipAddress == 0) { + Log.i(TAG, "waiting for an IP address..."); + Thread.sleep(3000); + FDroidApp.ipAddress = wifiManager.getConnectionInfo().getIpAddress(); + } + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + FDroidApp.ipAddress = wifiInfo.getIpAddress(); + FDroidApp.ipAddressString = String.format(Locale.ENGLISH, "%d.%d.%d.%d", + (FDroidApp.ipAddress & 0xff), + (FDroidApp.ipAddress >> 8 & 0xff), + (FDroidApp.ipAddress >> 16 & 0xff), + (FDroidApp.ipAddress >> 24 & 0xff)); + + FDroidApp.ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1"); + FDroidApp.bssid = wifiInfo.getBSSID(); + + String scheme; + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + if (prefs.getBoolean("use_https", false)) + scheme = "https"; + else + scheme = "http"; + FDroidApp.repo.address = String.format(Locale.ENGLISH, "%s://%s:%d/fdroid/repo", + scheme, FDroidApp.ipAddressString, FDroidApp.port); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void result) { + Intent intent = new Intent(BROADCAST); + LocalBroadcastManager.getInstance(context).sendBroadcast(intent); + WifiStateChangeService.this.stopSelf(); + } + } + + @Override + public IBinder onBind(Intent intent) { + return null; + } + +} From 5050605f723520f39782190c2cf2b202384b63ef Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 20:26:31 -0400 Subject: [PATCH 37/73] Activity/Service for running a local repo via http:// This is a skeleton for the upcoming local repo (aka swap aka Kerplapp). Right now, it just provides an Activity for controlling a Service which manages a local webserver (nanohttpd). Next, it will be wired up to the local repo created via a dedicated Activity for managing the list of apps included in the local repo. refs #3204 https://dev.guardianproject.info/issues/3204 --- AndroidManifest.xml | 14 + res/layout/local_repo_activity.xml | 63 ++++ res/menu/local_repo_activity.xml | 10 + res/values/strings.xml | 9 + src/org/fdroid/fdroid/FDroid.java | 16 +- src/org/fdroid/fdroid/FDroidApp.java | 43 +++ .../fdroid/localrepo/LocalRepoService.java | 146 ++++++++ src/org/fdroid/fdroid/net/LocalHTTPD.java | 341 ++++++++++++++++++ .../fdroid/views/LocalRepoActivity.java | 209 +++++++++++ 9 files changed, 845 insertions(+), 6 deletions(-) create mode 100644 res/layout/local_repo_activity.xml create mode 100644 res/menu/local_repo_activity.xml create mode 100644 src/org/fdroid/fdroid/localrepo/LocalRepoService.java create mode 100644 src/org/fdroid/fdroid/net/LocalHTTPD.java create mode 100644 src/org/fdroid/fdroid/views/LocalRepoActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e4d28bff9..834132306 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -182,6 +182,19 @@ + + + + + + + + diff --git a/res/layout/local_repo_activity.xml b/res/layout/local_repo_activity.xml new file mode 100644 index 000000000..81ba324ca --- /dev/null +++ b/res/layout/local_repo_activity.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/menu/local_repo_activity.xml b/res/menu/local_repo_activity.xml new file mode 100644 index 000000000..823701dac --- /dev/null +++ b/res/menu/local_repo_activity.xml @@ -0,0 +1,10 @@ + +

+ + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index e8e837990..dd2a23dfe 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -150,8 +150,17 @@ What\'s New Recently Updated + Local Repo Local FDroid Repos Discovering local FDroid repos… + Your local FDroid repo is accessible. + Touch to setup your local repo. + Fingerprint: + WiFi Network: + Enable WiFi + Enabling WiFi… + To connect to other people\'s devices, make sure both devices are on the same WiFi network. Then either type the URL above into F-Droid, or scan this QR Code: + QR Code of repo URL \n" + + "" + + "

" + heading + "

"); + + String up = null; + if (uri.length() > 1) { + String u = uri.substring(0, uri.length() - 1); + int slash = u.lastIndexOf('/'); + if (slash >= 0 && slash < u.length()) { + up = uri.substring(0, slash + 1); + } + } + + List files = Arrays.asList(f.list(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return new File(dir, name).isFile(); + } + })); + Collections.sort(files); + List directories = Arrays.asList(f.list(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return new File(dir, name).isDirectory(); + } + })); + Collections.sort(directories); + if (up != null || directories.size() + files.size() > 0) { + msg.append("
    "); + if (up != null || directories.size() > 0) { + msg.append("
    "); + if (up != null) { + msg.append("
  • ..
  • "); + } + for (String directory : directories) { + String dir = directory + "/"; + msg.append("
  • ").append(dir) + .append("
  • "); + } + msg.append("
    "); + } + if (files.size() > 0) { + msg.append("
    "); + for (String file : files) { + msg.append("
  • ").append(file) + .append(""); + File curFile = new File(f, file); + long len = curFile.length(); + msg.append(" ("); + if (len < 1024) { + msg.append(len).append(" bytes"); + } else if (len < 1024 * 1024) { + msg.append(len / 1024).append(".").append(len % 1024 / 10 % 100) + .append(" KB"); + } else { + msg.append(len / (1024 * 1024)).append(".") + .append(len % (1024 * 1024) / 10 % 100).append(" MB"); + } + msg.append(")
  • "); + } + msg.append("
    "); + } + msg.append("
"); + } + msg.append(""); + return msg.toString(); + } +} diff --git a/src/org/fdroid/fdroid/views/LocalRepoActivity.java b/src/org/fdroid/fdroid/views/LocalRepoActivity.java new file mode 100644 index 000000000..2c3ec3713 --- /dev/null +++ b/src/org/fdroid/fdroid/views/LocalRepoActivity.java @@ -0,0 +1,209 @@ + +package org.fdroid.fdroid.views; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.app.Dialog; +import android.app.ProgressDialog; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Configuration; +import android.net.wifi.WifiManager; +import android.nfc.NdefMessage; +import android.nfc.NdefRecord; +import android.nfc.NfcAdapter; +import android.os.Build; +import android.os.Bundle; +import android.support.v4.content.LocalBroadcastManager; +import android.text.TextUtils; +import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.widget.TextView; +import android.widget.ToggleButton; + +import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.PreferencesActivity; +import org.fdroid.fdroid.QrGenAsyncTask; +import org.fdroid.fdroid.R; +import org.fdroid.fdroid.Utils; +import org.fdroid.fdroid.net.WifiStateChangeService; + +import java.util.Locale; + +public class LocalRepoActivity extends Activity { + private static final String TAG = "LocalRepoActivity"; + private ProgressDialog repoProgress; + + private WifiManager wifiManager; + private ToggleButton repoSwitch; + + private int SET_IP_ADDRESS = 7345; + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.local_repo_activity); + + repoSwitch = (ToggleButton) findViewById(R.id.repoSwitch); + wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + } + + @Override + public void onResume() { + super.onResume(); + resetNetworkInfo(); + LocalBroadcastManager.getInstance(this).registerReceiver(onWifiChange, + new IntentFilter(WifiStateChangeService.BROADCAST)); + } + + @Override + public void onPause() { + super.onPause(); + LocalBroadcastManager.getInstance(this).unregisterReceiver(onWifiChange); + } + + private BroadcastReceiver onWifiChange = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent i) { + resetNetworkInfo(); + } + }; + + private void resetNetworkInfo() { + int wifiState = wifiManager.getWifiState(); + if (wifiState == WifiManager.WIFI_STATE_ENABLED) { + setUIFromWifi(); + wireRepoSwitchToWebServer(); + } else { + repoSwitch.setChecked(false); + repoSwitch.setText(R.string.enable_wifi); + repoSwitch.setTextOn(getString(R.string.enabling_wifi)); + repoSwitch.setTextOff(getString(R.string.enable_wifi)); + repoSwitch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + wifiManager.setWifiEnabled(true); + /* + * Once the wifi is connected to a network, then + * WifiStateChangeReceiver will receive notice, and kick off + * the process of getting the info about the wifi + * connection. + */ + } + }); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.local_repo_activity, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_settings: + startActivityForResult(new Intent(this, PreferencesActivity.class), SET_IP_ADDRESS); + return true; + } + return false; + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode != Activity.RESULT_OK) + return; + if (requestCode == SET_IP_ADDRESS) { + setUIFromWifi(); + } + } + + @Override + protected Dialog onCreateDialog(int id) { + switch (id) { + case 0: + repoProgress = new ProgressDialog(this); + repoProgress.setMessage("Scanning Apps. Please wait..."); + repoProgress.setIndeterminate(false); + repoProgress.setMax(100); + repoProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + repoProgress.setCancelable(false); + repoProgress.show(); + return repoProgress; + default: + return null; + } + } + + private void wireRepoSwitchToWebServer() { + repoSwitch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (repoSwitch.isChecked()) { + FDroidApp.startLocalRepoService(LocalRepoActivity.this); + } else { + FDroidApp.stopLocalRepoService(LocalRepoActivity.this); + } + } + }); + } + + @TargetApi(14) + private void setUIFromWifi() { + if (TextUtils.isEmpty(FDroidApp.repo.address)) + return; + // the fingerprint is not useful on the button label + String buttonLabel = FDroidApp.repo.address.replaceAll("\\?.*$", ""); + repoSwitch.setText(buttonLabel); + repoSwitch.setTextOn(buttonLabel); + repoSwitch.setTextOff(buttonLabel); + /* + * Set URL to UPPER for compact QR Code, FDroid will translate it back. + * Remove the SSID from the query string since SSIDs are case-sensitive. + * Instead the receiver will have to rely on the BSSID to find the right + * wifi AP to join. Lots of QR Scanners are buggy and do not respect + * custom URI schemes, so we have to use http:// or https:// :-( + */ + final String qrUriString = Utils.getSharingUri(this, FDroidApp.repo).toString() + .replaceFirst("fdroidrepo", "http") + .replaceAll("ssid=[^?]*", "") + .toUpperCase(Locale.ENGLISH); + Log.i("QRURI", qrUriString); + new QrGenAsyncTask(this, R.id.repoQrCode).execute(qrUriString); + + TextView wifiNetworkNameTextView = (TextView) findViewById(R.id.wifiNetworkName); + wifiNetworkNameTextView.setText(FDroidApp.ssid); + + TextView fingerprintTextView = (TextView) findViewById(R.id.fingerprint); + if (FDroidApp.repo.fingerprint != null) { + fingerprintTextView.setVisibility(View.VISIBLE); + fingerprintTextView.setText(FDroidApp.repo.fingerprint); + } else { + fingerprintTextView.setVisibility(View.GONE); + } + + // the required NFC API was added in 4.0 aka Ice Cream Sandwich + if (Build.VERSION.SDK_INT >= 14) { + NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); + if (nfcAdapter == null) + return; + nfcAdapter.setNdefPushMessage(new NdefMessage(new NdefRecord[] { + NdefRecord.createUri(Utils.getSharingUri(this, FDroidApp.repo)), + }), this); + } + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + // ignore orientation/keyboard change + super.onConfigurationChanged(newConfig); + } +} From a9c88bb5d76d72a1fc2ddd92f89a5d351540f686 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 20:37:52 -0400 Subject: [PATCH 38/73] build a local repo from a list of installed APKs Wire up the "Setup Repo" button on the Local Repo view to generate an FDroid repo on the device that is hosted with the local webserver. This also generates an index.html for when people navigate to the local repo via a browser. This index.html will allow them to both download FDroid and to setup the repo on the device running the webserver on the local FDroid. refs #3204 https://dev.guardianproject.info/issues/3204 refs #2668 https://dev.guardianproject.info/issues/2668 --- assets/index.template.html | 65 ++ res/menu/local_repo_activity.xml | 5 + res/values/strings.xml | 7 + src/org/fdroid/fdroid/FDroidApp.java | 4 + src/org/fdroid/fdroid/Utils.java | 70 +- src/org/fdroid/fdroid/data/Apk.java | 6 +- src/org/fdroid/fdroid/data/App.java | 9 +- .../fdroid/localrepo/LocalRepoManager.java | 675 ++++++++++++++++++ .../fdroid/net/WifiStateChangeService.java | 4 + .../fdroid/views/LocalRepoActivity.java | 91 ++- 10 files changed, 910 insertions(+), 26 deletions(-) create mode 100644 assets/index.template.html create mode 100644 src/org/fdroid/fdroid/localrepo/LocalRepoManager.java diff --git a/assets/index.template.html b/assets/index.template.html new file mode 100644 index 000000000..fe48db91f --- /dev/null +++ b/assets/index.template.html @@ -0,0 +1,65 @@ + + + + + {{REPO_URL}} local FDroid repo + + + + + + + + +

Kerplapp Bootstrap

+
    +
  1. Find a Kerplapp Repo
  2. +
  3. Download F-Droid client
  4. +
  5. Install F-Droid client
  6. +
  7. Add Kerplapp Repo to F-Droid client
  8. +
  9. Kerplapp an App!
  10. +
+ + diff --git a/res/menu/local_repo_activity.xml b/res/menu/local_repo_activity.xml index 823701dac..462e4fe64 100644 --- a/res/menu/local_repo_activity.xml +++ b/res/menu/local_repo_activity.xml @@ -1,6 +1,11 @@ + Discovering local FDroid repos… Your local FDroid repo is accessible. Touch to setup your local repo. + Updating… + Deleting current repo… + Adding %s to repo… + Writing raw index file (index.xml)… + Linking APKs into the repo… + Copying app icons into the repo… + Finished updating local repo Fingerprint: WiFi Network: Enable WiFi diff --git a/src/org/fdroid/fdroid/FDroidApp.java b/src/org/fdroid/fdroid/FDroidApp.java index 10c51528f..1b5bfcf35 100644 --- a/src/org/fdroid/fdroid/FDroidApp.java +++ b/src/org/fdroid/fdroid/FDroidApp.java @@ -55,6 +55,7 @@ import org.fdroid.fdroid.compat.PRNGFixes; import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.InstalledAppCacheUpdater; import org.fdroid.fdroid.data.Repo; +import org.fdroid.fdroid.localrepo.LocalRepoManager; import org.fdroid.fdroid.localrepo.LocalRepoService; import org.fdroid.fdroid.net.WifiStateChangeService; import org.thoughtcrime.ssl.pinning.PinningTrustManager; @@ -83,6 +84,7 @@ public class FDroidApp extends Application { public static String ssid = ""; public static String bssid = ""; public static Repo repo = new Repo(); + public static LocalRepoManager localRepo = null; static Set selectedApps = new HashSet(); private static Messenger localRepoServiceMessenger = null; @@ -125,6 +127,8 @@ public class FDroidApp extends Application { //Apply the Google PRNG fixes to properly seed SecureRandom PRNGFixes.apply(); + localRepo = new LocalRepoManager(getApplicationContext()); + // Check that the installed app cache hasn't gotten out of sync somehow. // e.g. if we crashed/ran out of battery half way through responding // to a package installed intent. It doesn't really matter where diff --git a/src/org/fdroid/fdroid/Utils.java b/src/org/fdroid/fdroid/Utils.java index 6d0957028..8111aace3 100644 --- a/src/org/fdroid/fdroid/Utils.java +++ b/src/org/fdroid/fdroid/Utils.java @@ -20,8 +20,7 @@ package org.fdroid.fdroid; import android.content.Context; import android.net.Uri; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; +import android.os.Build; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; @@ -30,13 +29,10 @@ import com.nostra13.universalimageloader.utils.StorageUtils; import org.fdroid.fdroid.data.Repo; -import java.io.Closeable; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; +import java.math.BigInteger; import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.security.cert.Certificate; import java.security.cert.CertificateEncodingException; import java.text.SimpleDateFormat; @@ -315,4 +311,62 @@ public final class Utils { } } + // this is all new stuff being added + public static String hashBytes(byte[] input, String algo) { + try { + MessageDigest md = MessageDigest.getInstance(algo); + byte[] hashBytes = md.digest(input); + String hash = toHexString(hashBytes); + + md.reset(); + return hash; + } catch (NoSuchAlgorithmException e) { + Log.e("FDroid", "Device does not support " + algo + " MessageDisgest algorithm"); + return null; + } + } + + public static String getBinaryHash(File apk, String algo) { + FileInputStream fis = null; + BufferedInputStream bis = null; + try { + MessageDigest md = MessageDigest.getInstance(algo); + fis = new FileInputStream(apk); + bis = new BufferedInputStream(fis); + + byte[] dataBytes = new byte[524288]; + int nread = 0; + + while ((nread = bis.read(dataBytes)) != -1) + md.update(dataBytes, 0, nread); + + byte[] mdbytes = md.digest(); + return toHexString(mdbytes); + } catch (IOException e) { + Log.e("FDroid", "Error reading \"" + apk.getAbsolutePath() + + "\" to compute " + algo + " hash."); + return null; + } catch (NoSuchAlgorithmException e) { + Log.e("FDroid", "Device does not support " + algo + " MessageDisgest algorithm"); + return null; + } finally { + closeQuietly(fis); + } + } + + /** + * Computes the base 16 representation of the byte array argument. + * + * @param bytes an array of bytes. + * @return the bytes represented as a string of hexadecimal digits. + */ + public static String toHexString(byte[] bytes) { + BigInteger bi = new BigInteger(1, bytes); + return String.format("%0" + (bytes.length << 1) + "X", bi); + } + + public static String getDefaultRepoName() { + return (Build.BRAND + " " + Build.MODEL).replaceAll(" ", "-"); + } + } diff --git a/src/org/fdroid/fdroid/data/Apk.java b/src/org/fdroid/fdroid/data/Apk.java index 95ff15f65..a6d08edb4 100644 --- a/src/org/fdroid/fdroid/data/Apk.java +++ b/src/org/fdroid/fdroid/data/Apk.java @@ -4,7 +4,8 @@ import android.content.ContentValues; import android.database.Cursor; import org.fdroid.fdroid.Utils; -import java.util.*; +import java.io.File; +import java.util.Date; public class Apk extends ValueObject implements Comparable { @@ -31,7 +32,8 @@ public class Apk extends ValueObject implements Comparable { // True if compatible with the device. public boolean compatible; - public String apkName; + public String apkName; // F-Droid style APK name + public File installedFile; // the .apk file on this device's filesystem // If not null, this is the name of the source tarball for the // application. Null indicates that it's a developer's binary diff --git a/src/org/fdroid/fdroid/data/App.java b/src/org/fdroid/fdroid/data/App.java index b5ffb8292..19a3cc889 100644 --- a/src/org/fdroid/fdroid/data/App.java +++ b/src/org/fdroid/fdroid/data/App.java @@ -1,20 +1,20 @@ package org.fdroid.fdroid.data; import android.content.ContentValues; -import android.content.Context; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.database.Cursor; + import org.fdroid.fdroid.AppFilter; import org.fdroid.fdroid.Utils; import java.util.Date; -import java.util.Map; +import java.util.List; public class App extends ValueObject implements Comparable { // True if compatible with the device (i.e. if at least one apk is) public boolean compatible; + public boolean includeInRepo = false; public String id = "unknown"; public String name = "Unknown"; @@ -83,6 +83,9 @@ public class App extends ValueObject implements Comparable { public int installedVersionCode; + public ApplicationInfo appInfo; + public List apks; + @Override public int compareTo(App app) { return name.compareToIgnoreCase(app.name); diff --git a/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java b/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java new file mode 100644 index 000000000..240216da0 --- /dev/null +++ b/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java @@ -0,0 +1,675 @@ + +package org.fdroid.fdroid.localrepo; + +import android.annotation.TargetApi; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.pm.ApplicationInfo; +import android.content.pm.FeatureInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.AssetManager; +import android.content.res.XmlResourceParser; +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.graphics.Bitmap.Config; +import android.graphics.Canvas; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.preference.PreferenceManager; +import android.text.TextUtils; +import android.util.Log; + +import org.fdroid.fdroid.Utils; +import org.fdroid.fdroid.data.Apk; +import org.fdroid.fdroid.data.App; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.security.cert.Certificate; +import java.security.cert.CertificateEncodingException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +public class LocalRepoManager { + private static final String TAG = "LocalRepoManager"; + + // For ref, official F-droid repo presently uses a maxage of 14 days + private static final String DEFAULT_REPO_MAX_AGE_DAYS = "14"; + + private final PackageManager pm; + private final AssetManager assetManager; + private final SharedPreferences prefs; + private final String fdroidPackageName; + + private String ipAddressString = "UNSET"; + private String uriString = "UNSET"; + + private Map apps = new HashMap(); + + public final File xmlIndex; + public final File webRoot; + public final File fdroidDir; + public final File repoDir; + public final File iconsDir; + + public LocalRepoManager(Context c) { + pm = c.getPackageManager(); + assetManager = c.getAssets(); + prefs = PreferenceManager.getDefaultSharedPreferences(c); + fdroidPackageName = c.getPackageName(); + + webRoot = c.getFilesDir(); + /* /fdroid/repo is the standard path for user repos */ + fdroidDir = new File(webRoot, "fdroid"); + repoDir = new File(fdroidDir, "repo"); + iconsDir = new File(repoDir, "icons"); + xmlIndex = new File(repoDir, "index.xml"); + + if (!fdroidDir.exists()) + if (!fdroidDir.mkdir()) + Log.e(TAG, "Unable to create empty base: " + fdroidDir); + + if (!repoDir.exists()) + if (!repoDir.mkdir()) + Log.e(TAG, "Unable to create empty repo: " + repoDir); + + if (!iconsDir.exists()) + if (!iconsDir.mkdir()) + Log.e(TAG, "Unable to create icons folder: " + iconsDir); + } + + public void setUriString(String uriString) { + this.uriString = uriString; + } + + public void writeIndexPage(String repoAddress) { + ApplicationInfo appInfo; + + String fdroidClientURL = "https://f-droid.org/FDroid.apk"; + + try { + appInfo = pm.getApplicationInfo(fdroidPackageName, PackageManager.GET_META_DATA); + File apkFile = new File(appInfo.publicSourceDir); + File fdroidApkLink = new File(webRoot, "fdroid.client.apk"); + fdroidApkLink.delete(); + if (symlinkOrCopyFile(apkFile, fdroidApkLink)) + fdroidClientURL = "/" + fdroidApkLink.getName(); + } catch (NameNotFoundException e) { + e.printStackTrace(); + } + + try { + File indexHtml = new File(webRoot, "index.html"); + BufferedReader in = new BufferedReader( + new InputStreamReader(assetManager.open("index.template.html"), "UTF-8")); + BufferedWriter out = new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(indexHtml))); + + String line; + while ((line = in.readLine()) != null) { + line = line.replaceAll("\\{\\{REPO_URL\\}\\}", repoAddress); + line = line.replaceAll("\\{\\{CLIENT_URL\\}\\}", fdroidClientURL); + out.write(line); + } + in.close(); + out.close(); + // make symlinks/copies in each subdir of the repo to make sure that + // the user will always find the bootstrap page. + File fdroidDirIndex = new File(fdroidDir, "index.html"); + fdroidDirIndex.delete(); + symlinkOrCopyFile(indexHtml, fdroidDirIndex); + File repoDirIndex = new File(repoDir, "index.html"); + repoDirIndex.delete(); + symlinkOrCopyFile(indexHtml, repoDirIndex); + // add in /FDROID/REPO to support bad QR Scanner apps + File fdroidCAPS = new File(fdroidDir.getParentFile(), "FDROID"); + fdroidCAPS.mkdir(); + File repoCAPS = new File(fdroidCAPS, "REPO"); + repoCAPS.mkdir(); + File fdroidCAPSIndex = new File(fdroidCAPS, "index.html"); + fdroidCAPSIndex.delete(); + symlinkOrCopyFile(indexHtml, fdroidCAPSIndex); + File repoCAPSIndex = new File(repoCAPS, "index.html"); + repoCAPSIndex.delete(); + symlinkOrCopyFile(indexHtml, repoCAPSIndex); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private void deleteContents(File path) { + if (path.exists()) { + for (File file : path.listFiles()) { + if (file.isDirectory()) { + deleteContents(file); + } else { + file.delete(); + } + } + } + } + + public void deleteRepo() { + deleteContents(repoDir); + } + + public void copyApksToRepo() { + copyApksToRepo(new ArrayList(apps.keySet())); + } + + public void copyApksToRepo(List appsToCopy) { + for (String packageName : appsToCopy) { + App app = apps.get(packageName); + + for (Apk apk : app.apks) { + File outFile = new File(repoDir, apk.apkName); + if (!symlinkOrCopyFile(apk.installedFile, outFile)) { + throw new IllegalStateException("Unable to copy APK"); + } + } + } + } + + /** + * use symlinks if they are available, otherwise fall back to copying + */ + public static boolean symlinkOrCopyFile(File inFile, File outFile) { + if (new File("/system/bin/ln").exists()) { + return doSymLink(inFile, outFile); + } else { + return doCopyFile(inFile, outFile); + } + } + + public static boolean doSymLink(File inFile, File outFile) { + int exitCode = -1; + try { + Process sh = Runtime.getRuntime().exec("sh"); + OutputStream out = sh.getOutputStream(); + String command = "/system/bin/ln -s " + inFile.getAbsolutePath() + " " + outFile + + "\nexit\n"; + Log.i(TAG, "Running: " + command); + out.write(command.getBytes("ASCII")); + + final char buf[] = new char[40]; + InputStreamReader reader = new InputStreamReader(sh.getInputStream()); + while (reader.read(buf) != -1) + throw new IOException("stdout: " + new String(buf)); + reader = new InputStreamReader(sh.getErrorStream()); + while (reader.read(buf) != -1) + throw new IOException("stderr: " + new String(buf)); + + exitCode = sh.waitFor(); + } catch (IOException e) { + e.printStackTrace(); + return false; + } catch (InterruptedException e) { + e.printStackTrace(); + return false; + } + Log.i(TAG, "symlink exitcode: " + exitCode); + return exitCode == 0; + } + + public static boolean doCopyFile(File inFile, File outFile) { + InputStream inStream = null; + OutputStream outStream = null; + + try { + inStream = new FileInputStream(inFile); + outStream = new FileOutputStream(outFile); + + return doCopyStream(inStream, outStream); + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + + public static boolean doCopyStream(InputStream inStream, OutputStream outStream) + { + byte[] buf = new byte[1024]; + int readBytes; + try + { + while ((readBytes = inStream.read(buf)) > 0) { + outStream.write(buf, 0, readBytes); + } + inStream.close(); + outStream.close(); + return true; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + + public interface ScanListener { + public void processedApp(String packageName, int index, int total); + } + + @TargetApi(9) + public App addApp(Context context, String packageName) { + ApplicationInfo appInfo; + PackageInfo packageInfo; + try { + appInfo = pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA); + packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES + | PackageManager.GET_PERMISSIONS); + } catch (NameNotFoundException e) { + e.printStackTrace(); + return null; + } + + App app = new App(); + app.name = (String) appInfo.loadLabel(pm); + app.summary = (String) appInfo.loadDescription(pm); + app.icon = getIconFile(packageName, packageInfo.versionCode).getName(); + app.id = appInfo.packageName; + if (Build.VERSION.SDK_INT > 8) { + app.added = new Date(packageInfo.firstInstallTime); + app.lastUpdated = new Date(packageInfo.lastUpdateTime); + } else { + app.added = new Date(System.currentTimeMillis()); + app.lastUpdated = app.added; + } + app.appInfo = appInfo; + app.apks = new ArrayList(); + + // TODO: use pm.getInstallerPackageName(packageName) for something + + File apkFile = new File(appInfo.publicSourceDir); + Apk apk = new Apk(); + apk.version = packageInfo.versionName; + apk.vercode = packageInfo.versionCode; + apk.hashType = "sha256"; + apk.hash = Utils.getBinaryHash(apkFile, apk.hashType); + apk.added = app.added; + apk.minSdkVersion = getMinSdkVersion(context, packageName); + apk.id = app.id; + apk.installedFile = apkFile; + if (packageInfo.requestedPermissions == null) + apk.permissions = null; + else + apk.permissions = Utils.CommaSeparatedList.make( + Arrays.asList(packageInfo.requestedPermissions)); + apk.apkName = apk.id + "_" + apk.vercode + ".apk"; + + FeatureInfo[] features = packageInfo.reqFeatures; + + if (features != null && features.length > 0) { + List featureNames = new ArrayList(features.length); + + for (int i = 0; i < features.length; i++) + featureNames.add(features[i].name); + + apk.features = Utils.CommaSeparatedList.make(featureNames); + } + + // Signature[] sigs = pkgInfo.signatures; + + byte[] rawCertBytes; + try { + JarFile apkJar = new JarFile(apkFile); + JarEntry aSignedEntry = (JarEntry) apkJar.getEntry("AndroidManifest.xml"); + + if (aSignedEntry == null) { + apkJar.close(); + return null; + } + + InputStream tmpIn = apkJar.getInputStream(aSignedEntry); + byte[] buff = new byte[2048]; + while (tmpIn.read(buff, 0, buff.length) != -1) { + // NOP - apparently have to READ from the JarEntry before you + // can call + // getCerficates() and have it return != null. Yay Java. + } + tmpIn.close(); + + if (aSignedEntry.getCertificates() == null + || aSignedEntry.getCertificates().length == 0) { + apkJar.close(); + return null; + } + + Certificate signer = aSignedEntry.getCertificates()[0]; + rawCertBytes = signer.getEncoded(); + + apkJar.close(); + + /* + * I don't fully understand the loop used here. I've copied it + * verbatim from getsig.java bundled with FDroidServer. I *believe* + * it is taking the raw byte encoding of the certificate & + * converting it to a byte array of the hex representation of the + * original certificate byte array. This is then MD5 sum'd. It's a + * really bad way to be doing this if I'm right... If I'm not right, + * I really don't know! see lines 67->75 in getsig.java bundled with + * Fdroidserver + */ + byte[] fdroidSig = new byte[rawCertBytes.length * 2]; + for (int j = 0; j < rawCertBytes.length; j++) { + byte v = rawCertBytes[j]; + int d = (v >> 4) & 0xF; + fdroidSig[j * 2] = (byte) (d >= 10 ? ('a' + d - 10) : ('0' + d)); + d = v & 0xF; + fdroidSig[j * 2 + 1] = (byte) (d >= 10 ? ('a' + d - 10) : ('0' + d)); + } + apk.sig = Utils.hashBytes(fdroidSig, "md5"); + + } catch (CertificateEncodingException e) { + return null; + } catch (IOException e) { + return null; + } + + app.apks.add(apk); + + if (!validApp(app)) + return null; + + apps.put(packageName, app); + return app; + } + + /* PackageManager doesn't give us minSdkVersion, so we have to parse it */ + public int getMinSdkVersion(Context context, String packageName) { + try { + AssetManager am = context.createPackageContext(packageName, 0).getAssets(); + XmlResourceParser xml = am.openXmlResourceParser("AndroidManifest.xml"); + int eventType = xml.getEventType(); + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + if (xml.getName().equals("uses-sdk")) { + for (int j = 0; j < xml.getAttributeCount(); j++) { + if (xml.getAttributeName(j).equals("minSdkVersion")) { + return Integer.parseInt(xml.getAttributeValue(j)); + } + } + } + } + eventType = xml.nextToken(); + } + } catch (NameNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } + return 8; // some kind of hopeful default + } + + public void removeApp(String packageName) { + apps.remove(packageName); + } + + public List getApps() { + return new ArrayList(apps.keySet()); + } + + public boolean validApp(App app) { + if (app == null) + return false; + + if (app.name == null || app.name.equals("")) + return false; + + if (app.id == null | app.id.equals("")) + return false; + + if (app.apks == null || app.apks.size() != 1) + return false; + + File apkFile = app.apks.get(0).installedFile; + if (apkFile == null || !apkFile.canRead()) + return false; + + return true; + } + + public void copyIconsToRepo() { + for (App app : apps.values()) { + if (app.apks.size() > 0) { + Apk apk = app.apks.get(0); + copyIconToRepo(app.appInfo.loadIcon(pm), app.id, apk.vercode); + } + } + } + + /** + * Extracts the icon from an APK and writes it to the repo as a PNG + * + * @return path to the PNG file + */ + public void copyIconToRepo(Drawable drawable, String packageName, int versionCode) { + Bitmap bitmap; + if (drawable instanceof BitmapDrawable) { + bitmap = ((BitmapDrawable) drawable).getBitmap(); + } else { + bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), + drawable.getIntrinsicHeight(), Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + drawable.draw(canvas); + } + File png = getIconFile(packageName, versionCode); + OutputStream out; + try { + out = new BufferedOutputStream(new FileOutputStream(png)); + bitmap.compress(CompressFormat.PNG, 100, out); + out.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private File getIconFile(String packageName, int versionCode) { + return new File(iconsDir, packageName + "_" + versionCode + ".png"); + } + + // TODO this needs to be ported to < android-8 + @TargetApi(8) + public void writeIndexXML() throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + + Document doc = builder.newDocument(); + Element rootElement = doc.createElement("fdroid"); + doc.appendChild(rootElement); + + // max age is an EditTextPreference, which is always a String + int repoMaxAge = Float.valueOf(prefs.getString("max_repo_age_days", + DEFAULT_REPO_MAX_AGE_DAYS)).intValue(); + + String repoName = prefs.getString("repo_name", Utils.getDefaultRepoName()); + + Element repo = doc.createElement("repo"); + repo.setAttribute("icon", "blah.png"); + repo.setAttribute("maxage", String.valueOf(repoMaxAge)); + repo.setAttribute("name", repoName + " on " + ipAddressString); + long timestamp = System.currentTimeMillis() / 1000L; + repo.setAttribute("timestamp", String.valueOf(timestamp)); + repo.setAttribute("url", uriString); + rootElement.appendChild(repo); + + Element repoDesc = doc.createElement("description"); + repoDesc.setTextContent("A repo generated from apps installed on " + repoName); + repo.appendChild(repoDesc); + + SimpleDateFormat dateToStr = new SimpleDateFormat("yyyy-MM-dd", Locale.US); + for (Entry entry : apps.entrySet()) { + String latestVersion = "0"; + String latestVerCode = "0"; + App app = entry.getValue(); + Element application = doc.createElement("application"); + application.setAttribute("id", app.id); + rootElement.appendChild(application); + + Element appID = doc.createElement("id"); + appID.setTextContent(app.id); + application.appendChild(appID); + + Element added = doc.createElement("added"); + added.setTextContent(dateToStr.format(app.added)); + application.appendChild(added); + + Element lastUpdated = doc.createElement("lastupdated"); + lastUpdated.setTextContent(dateToStr.format(app.lastUpdated)); + application.appendChild(lastUpdated); + + Element name = doc.createElement("name"); + name.setTextContent(app.name); + application.appendChild(name); + + Element summary = doc.createElement("summary"); + summary.setTextContent(app.name); + application.appendChild(summary); + + Element description = doc.createElement("description"); + description.setTextContent(app.name); + application.appendChild(description); + + Element desc = doc.createElement("desc"); + desc.setTextContent(app.name); + application.appendChild(desc); + + Element icon = doc.createElement("icon"); + icon.setTextContent(app.icon); + application.appendChild(icon); + + Element license = doc.createElement("license"); + license.setTextContent("Unknown"); + application.appendChild(license); + + Element categories = doc.createElement("categories"); + categories.setTextContent("LocalRepo," + repoName); + application.appendChild(categories); + + Element category = doc.createElement("category"); + category.setTextContent("LocalRepo," + repoName); + application.appendChild(category); + + Element web = doc.createElement("web"); + application.appendChild(web); + + Element source = doc.createElement("source"); + application.appendChild(source); + + Element tracker = doc.createElement("tracker"); + application.appendChild(tracker); + + Element marketVersion = doc.createElement("marketversion"); + application.appendChild(marketVersion); + + Element marketVerCode = doc.createElement("marketvercode"); + application.appendChild(marketVerCode); + + for (Apk apk : app.apks) { + Element packageNode = doc.createElement("package"); + + Element version = doc.createElement("version"); + latestVersion = apk.version; + version.setTextContent(apk.version); + packageNode.appendChild(version); + + // F-Droid unfortunately calls versionCode versioncode... + Element versioncode = doc.createElement("versioncode"); + latestVerCode = String.valueOf(apk.vercode); + versioncode.setTextContent(latestVerCode); + packageNode.appendChild(versioncode); + + Element apkname = doc.createElement("apkname"); + apkname.setTextContent(apk.apkName); + packageNode.appendChild(apkname); + + Element hash = doc.createElement("hash"); + hash.setAttribute("type", apk.hashType); + hash.setTextContent(apk.hash.toLowerCase(Locale.US)); + packageNode.appendChild(hash); + + Element sig = doc.createElement("sig"); + sig.setTextContent(apk.sig.toLowerCase(Locale.US)); + packageNode.appendChild(sig); + + Element size = doc.createElement("size"); + size.setTextContent(String.valueOf(apk.installedFile.length())); + packageNode.appendChild(size); + + Element sdkver = doc.createElement("sdkver"); + sdkver.setTextContent(String.valueOf(apk.minSdkVersion)); + packageNode.appendChild(sdkver); + + Element apkAdded = doc.createElement("added"); + apkAdded.setTextContent(dateToStr.format(apk.added)); + packageNode.appendChild(apkAdded); + + Element features = doc.createElement("features"); + if (apk.features != null) + features.setTextContent(Utils.CommaSeparatedList.str(apk.features)); + packageNode.appendChild(features); + + Element permissions = doc.createElement("permissions"); + if (apk.permissions != null) { + StringBuilder buff = new StringBuilder(); + + for (String permission : apk.permissions) { + buff.append(permission.replace("android.permission.", "")); + buff.append(","); + } + String out = buff.toString(); + if (!TextUtils.isEmpty(out)) + permissions.setTextContent(out.substring(0, out.length() - 1)); + } + packageNode.appendChild(permissions); + + application.appendChild(packageNode); + } + + // now mark the latest version in the feed for this particular app + marketVersion.setTextContent(latestVersion); + marketVerCode.setTextContent(latestVerCode); + } + + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + + DOMSource domSource = new DOMSource(doc); + StreamResult result = new StreamResult(xmlIndex); + + transformer.transform(domSource, result); + } +} diff --git a/src/org/fdroid/fdroid/net/WifiStateChangeService.java b/src/org/fdroid/fdroid/net/WifiStateChangeService.java index afab55923..3b646f71a 100644 --- a/src/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/src/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -14,6 +14,7 @@ import android.support.v4.content.LocalBroadcastManager; import android.util.Log; import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.Utils; import java.util.Locale; @@ -66,6 +67,9 @@ public class WifiStateChangeService extends Service { scheme = "http"; FDroidApp.repo.address = String.format(Locale.ENGLISH, "%s://%s:%d/fdroid/repo", scheme, FDroidApp.ipAddressString, FDroidApp.port); + FDroidApp.localRepo.setUriString(FDroidApp.repo.address); + FDroidApp.localRepo.writeIndexPage( + Utils.getSharingUri(context, FDroidApp.repo).toString()); } catch (InterruptedException e) { e.printStackTrace(); } diff --git a/src/org/fdroid/fdroid/views/LocalRepoActivity.java b/src/org/fdroid/fdroid/views/LocalRepoActivity.java index 2c3ec3713..c15248314 100644 --- a/src/org/fdroid/fdroid/views/LocalRepoActivity.java +++ b/src/org/fdroid/fdroid/views/LocalRepoActivity.java @@ -5,32 +5,25 @@ import android.annotation.TargetApi; import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; +import android.content.*; import android.content.res.Configuration; +import android.net.Uri; import android.net.wifi.WifiManager; import android.nfc.NdefMessage; import android.nfc.NdefRecord; import android.nfc.NfcAdapter; +import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.text.TextUtils; import android.util.Log; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; +import android.view.*; import android.widget.TextView; +import android.widget.Toast; import android.widget.ToggleButton; -import org.fdroid.fdroid.FDroidApp; -import org.fdroid.fdroid.PreferencesActivity; -import org.fdroid.fdroid.QrGenAsyncTask; -import org.fdroid.fdroid.R; -import org.fdroid.fdroid.Utils; +import org.fdroid.fdroid.*; import org.fdroid.fdroid.net.WifiStateChangeService; import java.util.Locale; @@ -104,12 +97,21 @@ public class LocalRepoActivity extends Activity { public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.local_repo_activity, menu); + if (Build.VERSION.SDK_INT < 11) // TODO remove after including appcompat-v7 + menu.findItem(R.id.menu_setup_repo).setVisible(false); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { + case R.id.menu_setup_repo: + setUIFromWifi(); + String[] packages = new String[2]; + packages[0] = getPackageName(); + packages[1] = "com.android.bluetooth"; + new UpdateAsyncTask(this, packages).execute(); + return true; case R.id.menu_settings: startActivityForResult(new Intent(this, PreferencesActivity.class), SET_IP_ADDRESS); return true; @@ -206,4 +208,67 @@ public class LocalRepoActivity extends Activity { // ignore orientation/keyboard change super.onConfigurationChanged(newConfig); } + + class UpdateAsyncTask extends AsyncTask { + private static final String TAG = "UpdateAsyncTask"; + private ProgressDialog progressDialog; + private String[] selectedApps; + private Uri sharingUri; + + public UpdateAsyncTask(Context c, String[] apps) { + selectedApps = apps; + progressDialog = new ProgressDialog(c); + progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); + progressDialog.setTitle(R.string.updating); + sharingUri = Utils.getSharingUri(c, FDroidApp.repo); + } + + @Override + protected void onPreExecute() { + progressDialog.show(); + } + + @Override + protected Void doInBackground(Void... params) { + try { + publishProgress(getString(R.string.deleting_repo)); + FDroidApp.localRepo.deleteRepo(); + for (String app : selectedApps) { + publishProgress(String.format(getString(R.string.adding_apks_format), app)); + FDroidApp.localRepo.addApp(getApplicationContext(), app); + } + FDroidApp.localRepo.writeIndexPage(sharingUri.toString()); + publishProgress(getString(R.string.writing_index_xml)); + FDroidApp.localRepo.writeIndexXML(); + publishProgress(getString(R.string.linking_apks)); + FDroidApp.localRepo.copyApksToRepo(); + publishProgress(getString(R.string.copying_icons)); + // run the icon copy without progress, its not a blocker + new AsyncTask() { + + @Override + protected Void doInBackground(Void... params) { + FDroidApp.localRepo.copyIconsToRepo(); + return null; + } + }.execute(); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onProgressUpdate(String... progress) { + super.onProgressUpdate(progress); + progressDialog.setMessage(progress[0]); + } + + @Override + protected void onPostExecute(Void result) { + progressDialog.dismiss(); + Toast.makeText(getBaseContext(), R.string.updated_local_repo, Toast.LENGTH_SHORT) + .show(); + } + } } From 17c42e4bd04555cc1ee455dce85f0ca6aef0b4ad Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 5 May 2014 11:38:29 -0400 Subject: [PATCH 39/73] use class Context directly rather than storing it Use the WifiStateChangeService.this syntax in order to eliminate an instance variable. --- src/org/fdroid/fdroid/net/WifiStateChangeService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/org/fdroid/fdroid/net/WifiStateChangeService.java b/src/org/fdroid/fdroid/net/WifiStateChangeService.java index 3b646f71a..577314167 100644 --- a/src/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/src/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -21,11 +21,8 @@ import java.util.Locale; public class WifiStateChangeService extends Service { public static final String BROADCAST = "org.fdroid.fdroid.action.WIFI_CHANGE"; - private Context context; - @Override public int onStartCommand(Intent intent, int flags, int startId) { - context = this; new WaitForWifiAsyncTask().execute(); return START_NOT_STICKY; } @@ -60,7 +57,7 @@ public class WifiStateChangeService extends Service { FDroidApp.bssid = wifiInfo.getBSSID(); String scheme; - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(WifiStateChangeService.this); if (prefs.getBoolean("use_https", false)) scheme = "https"; else @@ -69,7 +66,7 @@ public class WifiStateChangeService extends Service { scheme, FDroidApp.ipAddressString, FDroidApp.port); FDroidApp.localRepo.setUriString(FDroidApp.repo.address); FDroidApp.localRepo.writeIndexPage( - Utils.getSharingUri(context, FDroidApp.repo).toString()); + Utils.getSharingUri(WifiStateChangeService.this, FDroidApp.repo).toString()); } catch (InterruptedException e) { e.printStackTrace(); } @@ -79,7 +76,7 @@ public class WifiStateChangeService extends Service { @Override protected void onPostExecute(Void result) { Intent intent = new Intent(BROADCAST); - LocalBroadcastManager.getInstance(context).sendBroadcast(intent); + LocalBroadcastManager.getInstance(WifiStateChangeService.this).sendBroadcast(intent); WifiStateChangeService.this.stopSelf(); } } From 94dc2d019fd518ae910c75c2dc4374a91e9cbec0 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 May 2014 20:51:23 -0400 Subject: [PATCH 40/73] add wizard for sending FDroid to another device via WiFi/QR This is a little helper to direct people to get a new device to download FDroid from another device that already has it. It first prompts them to join the same wifi network, and offers a QR Code to associate to the same wifi. The next step is a QR Code for getting the URL to the local repo. The index.html on that local repo includes a download link for FDroid and a repo link to the local repo. refs #3204 https://dev.guardianproject.info/issues/3204 --- AndroidManifest.xml | 2 + res/layout/qr_wizard_activity.xml | 43 +++++++ res/menu/local_repo_activity.xml | 7 +- res/values/strings.xml | 6 + .../fdroid/views/LocalRepoActivity.java | 3 + .../views/QrWizardDownloadActivity.java | 82 +++++++++++++ .../views/QrWizardWifiNetworkActivity.java | 110 ++++++++++++++++++ 7 files changed, 252 insertions(+), 1 deletion(-) create mode 100644 res/layout/qr_wizard_activity.xml create mode 100644 src/org/fdroid/fdroid/views/QrWizardDownloadActivity.java create mode 100644 src/org/fdroid/fdroid/views/QrWizardWifiNetworkActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 834132306..9c9a599c4 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -182,6 +182,8 @@ + + + + + + + + + + + + + + + + \ No newline at end of file From 96c3af54855ce30edc99fe418c658faff8f899c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 8 May 2014 13:16:21 +0200 Subject: [PATCH 72/73] Add missing RTL/LTR layout attributes --- res/layout/local_repo_activity.xml | 7 ++++++- res/layout/qr_wizard_activity.xml | 3 ++- res/layout/select_local_apps_list_item.xml | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/res/layout/local_repo_activity.xml b/res/layout/local_repo_activity.xml index 17908b176..d7a8a6045 100644 --- a/res/layout/local_repo_activity.xml +++ b/res/layout/local_repo_activity.xml @@ -32,6 +32,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="15dp" + android:layout_marginStart="15dp" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:typeface="monospace" /> @@ -51,6 +52,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="15dp" + android:layout_marginStart="15dp" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:typeface="monospace" /> @@ -70,6 +72,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="15dp" + android:layout_marginStart="15dp" android:typeface="monospace" /> @@ -78,7 +81,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" + android:layout_marginStart="20dp" android:layout_marginRight="20dp" + android:layout_marginEnd="20dp" android:text="@string/same_wifi_instructions" /> - \ No newline at end of file + diff --git a/res/layout/qr_wizard_activity.xml b/res/layout/qr_wizard_activity.xml index 5d2fac14a..b461f9eb8 100644 --- a/res/layout/qr_wizard_activity.xml +++ b/res/layout/qr_wizard_activity.xml @@ -23,6 +23,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="15dp" + android:layout_marginStart="15dp" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:typeface="monospace" /> @@ -40,4 +41,4 @@ android:layout_height="wrap_content" android:text="@string/next" /> - \ No newline at end of file + diff --git a/res/layout/select_local_apps_list_item.xml b/res/layout/select_local_apps_list_item.xml index c29cd761b..eb77c8fd7 100644 --- a/res/layout/select_local_apps_list_item.xml +++ b/res/layout/select_local_apps_list_item.xml @@ -27,6 +27,7 @@ @@ -40,6 +41,7 @@ android:id="@+id/application_label" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginLeft="?android:attr/listPreferredItemPaddingStart" android:layout_marginStart="?android:attr/listPreferredItemPaddingStart" android:layout_marginTop="6dip" android:textAppearance="?android:attr/textAppearanceListItem" /> @@ -53,4 +55,4 @@ android:textAppearance="?android:attr/textAppearanceSmall" /> - \ No newline at end of file + From 6a4b323d065df78f336aa9f087677aa8a211a8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 8 May 2014 13:23:20 +0200 Subject: [PATCH 73/73] Prepare for 0.67-test --- AndroidManifest.xml | 4 ++-- res/values-nl/strings.xml | 8 ++++---- res/values/no_trans.xml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 61014ce33..6f538cecc 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="670" + android:versionName="0.67-test" > Versie Bewerken Verwijderen - Versturen via NFC aanzetten... + Versturen via NFC aanzetten… buffer gedownloade apps Gedownloade apk-files bewaren op SD card apk-files niet bewaren @@ -58,7 +58,7 @@ Een bron-adres ziet er ongeveer Applicatie-lijst vernieuwen… downloaden applicatie van NFC is niet ingeschakeld! - Ga naar NFC instellingen... + Ga naar NFC instellingen… Geen Bluetooth verzendmethode gevonden, kies er een! Kies Bluetooth verzendmethode Bron-adres @@ -67,7 +67,7 @@ Een bron-adres ziet er ongeveer Wilt u ze vernieuwen? Vernieuw Bronnen Beheer bronnen - Bluetooth FDroid.apk... + Bluetooth FDroid.apk… Voorkeuren Over Zoeken @@ -105,7 +105,7 @@ Wilt u ze vernieuwen? Wat is nieuw Recentelijk vernieuwd Lokale FDroid opslagplaatsen - Lokale FDroid-bronnen ontdekken... + Lokale FDroid-bronnen ontdekken… Downloaden %2$s / %3$s (%4$d%%) van %1$s diff --git a/res/values/no_trans.xml b/res/values/no_trans.xml index 4130f834c..39deb8217 100644 --- a/res/values/no_trans.xml +++ b/res/values/no_trans.xml @@ -2,7 +2,7 @@ F-Droid - 0.66 + 0.67-test https://f-droid.org team@f-droid.org

myj%Ih3_rhs%yPJ9 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