lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 18498 discussions
[tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: Disable telemetry and experiments
by gk@torproject.org 27 Jul '18

27 Jul '18
commit 58ed6fff3b06e225b55d0af80ba399a0eba11e9e Author: Matthew Finkel <Matthew.Finkel(a)gmail.com> Date: Mon Apr 9 21:57:22 2018 +0000 Bug 25741 - TBA: Disable telemetry and experiments --- mobile/android/base/java/org/mozilla/gecko/BrowserApp.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java index 0cf5aa15b0e1..ce2f1c5908b8 100644 --- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java @@ -71,6 +71,7 @@ import android.widget.Button; import android.widget.ListView; import android.widget.ViewFlipper; +import org.mozilla.gecko.AppConstants; import org.mozilla.gecko.AppConstants.Versions; import org.mozilla.gecko.DynamicToolbar.VisibilityTransition; import org.mozilla.gecko.Tabs.TabEvents; @@ -703,7 +704,11 @@ public class BrowserApp extends GeckoApp showSplashScreen = true; final SafeIntent intent = new SafeIntent(getIntent()); - final boolean isInAutomation = IntentUtils.getIsInAutomationFromEnvironment(intent); + // TBA: Disable Switchboard testing experiments and + // Telemetry-uploading by abusing the isInAutomation detection. + final boolean isInAutomation = + (IntentUtils.getIsInAutomationFromEnvironment(intent) + || AppConstants.isTorBrowser()); GeckoProfile.setIntentArgs(intent.getStringExtra("args"));
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: Remove sync option from preferences
by gk@torproject.org 27 Jul '18

27 Jul '18
commit 99f346a73bde893c862bbb6504ff52f63b5b60e0 Author: Amogh Pradeep <amoghbl1(a)gmail.com> Date: Fri Jul 17 13:27:07 2015 -0400 Bug 25741 - TBA: Remove sync option from preferences We don't want this while the Sync subsystem is a proxy-bypass risk. We can drop this when the feature is patched. Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- mobile/android/app/src/main/res/xml/preferences.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mobile/android/app/src/main/res/xml/preferences.xml b/mobile/android/app/src/main/res/xml/preferences.xml index 06716cd9af91..08ee14ea443a 100644 --- a/mobile/android/app/src/main/res/xml/preferences.xml +++ b/mobile/android/app/src/main/res/xml/preferences.xml @@ -9,12 +9,6 @@ xmlns:gecko="http://schemas.android.com/apk/res-auto" android:enabled="false"> - <org.mozilla.gecko.preferences.SyncPreference android:key="android.not_a_preference.sync" - android:title="@string/pref_sync" - android:icon="@drawable/sync_avatar_default" - android:summary="@string/pref_sync_summary" - android:persistent="false" /> - <PreferenceScreen android:title="@string/pref_category_general" android:summary="@string/pref_category_general_summary" android:key="android.not_a_preference.general_screen"
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Orfox: hook up default panic trigger to "quit and clear"
by gk@torproject.org 27 Jul '18

27 Jul '18
commit e7b74ce6d0559f2a9d801b7dae1117fb8ead0212 Author: Hans-Christoph Steiner <hans(a)eds.org> Date: Sat Nov 21 00:24:09 2015 +0100 Orfox: hook up default panic trigger to "quit and clear" Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- mobile/android/base/AndroidManifest.xml.in | 7 +++ .../base/java/org/mozilla/gecko/GeckoApp.java | 61 ++++++++++++---------- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/mobile/android/base/AndroidManifest.xml.in b/mobile/android/base/AndroidManifest.xml.in index 4f626dcc2098..c4ea9a37683e 100644 --- a/mobile/android/base/AndroidManifest.xml.in +++ b/mobile/android/base/AndroidManifest.xml.in @@ -168,6 +168,13 @@ <data android:pathPattern=".*\\.xpi" /> </intent-filter> + <!-- receive triggers from panickit apps --> + <intent-filter> + <action android:name="info.guardianproject.panic.action.TRIGGER" /> + + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + #ifdef MOZ_ANDROID_BEAM <intent-filter> <action android:name="android.nfc.action.NDEF_DISCOVERED"/> diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java index ada3e5fa5b0c..63a136541970 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java @@ -129,6 +129,7 @@ public abstract class GeckoApp extends GeckoActivity public static final String ACTION_INIT_PW = "org.mozilla.gecko.INIT_PW"; public static final String ACTION_SWITCH_TAB = "org.mozilla.gecko.SWITCH_TAB"; public static final String ACTION_SHUTDOWN = "org.mozilla.gecko.SHUTDOWN"; + public static final String ACTION_PANIC_TRIGGER = "info.guardianproject.panic.action.TRIGGER"; public static final String INTENT_REGISTER_STUMBLER_LISTENER = "org.mozilla.gecko.STUMBLER_REGISTER_LOCAL_LISTENER"; @@ -554,42 +555,46 @@ public abstract class GeckoApp extends GeckoActivity @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.quit) { - // Make sure the Guest Browsing notification goes away when we quit. - GuestSession.hideNotification(this); + quitAndClear(); + return true; + } - final SharedPreferences prefs = getSharedPreferencesForProfile(); - final Set<String> clearSet = PrefUtils.getStringSet( - prefs, ClearOnShutdownPref.PREF, new HashSet<String>()); + return super.onOptionsItemSelected(item); + } - final GeckoBundle clearObj = new GeckoBundle(clearSet.size()); - for (final String clear : clearSet) { - clearObj.putBoolean(clear, true); - } + private void quitAndClear() { + // Make sure the Guest Browsing notification goes away when we quit. + GuestSession.hideNotification(this); - final GeckoBundle res = new GeckoBundle(2); - res.putBundle("sanitize", clearObj); + final SharedPreferences prefs = getSharedPreferencesForProfile(); + final Set<String> clearSet = PrefUtils.getStringSet( + prefs, ClearOnShutdownPref.PREF, new HashSet<String>()); - // If the user wants to clear open tabs, or else has opted out of session - // restore and does want to clear history, we also want to prevent the current - // session info from being saved. - if (clearObj.containsKey("private.data.openTabs")) { - res.putBoolean("dontSaveSession", true); - } else if (clearObj.containsKey("private.data.history")) { + final GeckoBundle clearObj = new GeckoBundle(clearSet.size()); + for (final String clear : clearSet) { + clearObj.putBoolean(clear, true); + } - final String sessionRestore = - getSessionRestorePreference(getSharedPreferences()); - res.putBoolean("dontSaveSession", "quit".equals(sessionRestore)); - } + final GeckoBundle res = new GeckoBundle(2); + res.putBundle("sanitize", clearObj); - EventDispatcher.getInstance().dispatch("Browser:Quit", res); + // If the user wants to clear open tabs, or else has opted out of session + // restore and does want to clear history, we also want to prevent the current + // session info from being saved. + if (clearObj.containsKey("private.data.openTabs")) { + res.putBoolean("dontSaveSession", true); + } else if (clearObj.containsKey("private.data.history")) { - // We don't call shutdown here because this creates a race condition which - // can cause the clearing of private data to fail. Instead, we shut down the - // UI only after we're done sanitizing. - return true; + final String sessionRestore = + getSessionRestorePreference(getSharedPreferences()); + res.putBoolean("dontSaveSession", "quit".equals(sessionRestore)); } - return super.onOptionsItemSelected(item); + EventDispatcher.getInstance().dispatch("Browser:Quit", res); + + // We don't call shutdown here because this creates a race condition which + // can cause the clearing of private data to fail. Instead, we shut down the + // UI only after we're done sanitizing. } @Override @@ -1531,6 +1536,8 @@ public abstract class GeckoApp extends GeckoActivity // Copy extras. settingsIntent.putExtras(intent.getUnsafe()); startActivity(settingsIntent); + } else if (ACTION_PANIC_TRIGGER.equals(action)) { + quitAndClear(); } mPromptService = new PromptService(this, getAppEventDispatcher());
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Orfox: disable screenshots and prevent page from being in "recent apps"
by gk@torproject.org 27 Jul '18

27 Jul '18
commit f44bf9a30b66b7b0ee34cc2daa89b1bde46f12d2 Author: Hans-Christoph Steiner <hans(a)eds.org> Date: Sat Nov 21 00:10:06 2015 +0100 Orfox: disable screenshots and prevent page from being in "recent apps" Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- mobile/android/base/java/org/mozilla/gecko/GeckoApp.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java index 1f2f95490d0a..ada3e5fa5b0c 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java @@ -78,6 +78,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewTreeObserver; import android.view.Window; +import android.view.WindowManager; import android.widget.AdapterView; import android.widget.Button; import android.widget.ListView; @@ -1068,6 +1069,9 @@ public abstract class GeckoApp extends GeckoActivity GeckoScreenOrientation.getInstance().update(getResources().getConfiguration().orientation); + // disable screenshots and pic in "recent apps" + getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); + setContentView(getLayout()); // Set up Gecko layout.
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: Disable GeckoNetworkManager
by gk@torproject.org 27 Jul '18

27 Jul '18
commit 945c0a54fb87628cd1679839c6fa3c55e643ec04 Author: Matthew Finkel <Matthew.Finkel(a)gmail.com> Date: Thu Apr 26 22:22:51 2018 +0000 Bug 25741 - TBA: Disable GeckoNetworkManager The browser should not need information related to the network interface or network state, tor should take care of that. --- mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java index f7464acdb019..9a5e89dc1579 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java @@ -199,12 +199,16 @@ public class GeckoApplication extends Application if (mIsInitialResume) { GeckoBatteryManager.getInstance().start(this); GeckoFontScaleListener.getInstance().initialize(this); - GeckoNetworkManager.getInstance().start(this); + if (!AppConstants.isTorBrowser()){ + GeckoNetworkManager.getInstance().start(this); + } mIsInitialResume = false; } else if (mPausedGecko) { GeckoThread.onResume(); mPausedGecko = false; - GeckoNetworkManager.getInstance().start(this); + if (!AppConstants.isTorBrowser()){ + GeckoNetworkManager.getInstance().start(this); + } } mInBackground = false;
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: top sites changed, used bookmarks icon temporarily.
by gk@torproject.org 27 Jul '18

27 Jul '18
commit 74da90a39fc0c6f8c5b1a78025b3da514707deaa Author: Amogh Pradeep <amoghbl1(a)gmail.com> Date: Thu Jun 18 04:14:18 2015 -0400 Bug 25741 - TBA: top sites changed, used bookmarks icon temporarily. Adjust the Top Sites shown when a user taps on the URL bar. Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- .../res/drawable-hdpi/suggestedsites_checktor.png | Bin 0 -> 1286 bytes .../suggestedsites_guardianproject.png | Bin 0 -> 1286 bytes .../drawable-hdpi/suggestedsites_torproject.png | Bin 0 -> 1286 bytes .../res/drawable-xhdpi/suggestedsites_checktor.png | Bin 0 -> 1626 bytes .../suggestedsites_guardianproject.png | Bin 0 -> 1626 bytes .../drawable-xhdpi/suggestedsites_torproject.png | Bin 0 -> 1626 bytes .../drawable-xxhdpi/suggestedsites_checktor.png | Bin 0 -> 1626 bytes .../suggestedsites_guardianproject.png | Bin 0 -> 1626 bytes .../drawable-xxhdpi/suggestedsites_torproject.png | Bin 0 -> 1626 bytes .../mozilla/gecko/util/UnusedResourcesUtil.java | 3 ++ mobile/locales/en-US/chrome/region.properties | 42 ++++++++++++--------- mobile/locales/search/list.json | 16 ++++---- mobile/locales/searchplugins/duckduckgo.xml | 6 +-- 13 files changed, 39 insertions(+), 28 deletions(-) diff --git a/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_checktor.png b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_checktor.png new file mode 100644 index 000000000000..a87c16e3d566 Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_checktor.png differ diff --git a/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_guardianproject.png b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_guardianproject.png new file mode 100644 index 000000000000..a87c16e3d566 Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_guardianproject.png differ diff --git a/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_torproject.png b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_torproject.png new file mode 100644 index 000000000000..a87c16e3d566 Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-hdpi/suggestedsites_torproject.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_checktor.png b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_checktor.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_checktor.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_guardianproject.png b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_guardianproject.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_guardianproject.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_torproject.png b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_torproject.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xhdpi/suggestedsites_torproject.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_checktor.png b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_checktor.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_checktor.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_guardianproject.png b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_guardianproject.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_guardianproject.png differ diff --git a/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_torproject.png b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_torproject.png new file mode 100644 index 000000000000..fa7f676310df Binary files /dev/null and b/mobile/android/app/src/photon/res/drawable-xxhdpi/suggestedsites_torproject.png differ diff --git a/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java b/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java index 8f68e29ba069..7ed717b6fd3d 100644 --- a/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java +++ b/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java @@ -63,10 +63,13 @@ final class UnusedResourcesUtil { public static final int[] USED_IN_SUGGESTEDSITES = { R.drawable.suggestedsites_amazon, + R.drawable.suggestedsites_checktor, R.drawable.suggestedsites_facebook, + R.drawable.suggestedsites_guardianproject, R.drawable.suggestedsites_restricted_fxsupport, R.drawable.suggestedsites_restricted_mozilla, R.drawable.suggestedsites_twitter, + R.drawable.suggestedsites_torproject, R.drawable.suggestedsites_webmaker, R.drawable.suggestedsites_wikipedia, R.drawable.suggestedsites_youtube, diff --git a/mobile/locales/en-US/chrome/region.properties b/mobile/locales/en-US/chrome/region.properties index 79c819c02cd1..1cc4d64ebf05 100644 --- a/mobile/locales/en-US/chrome/region.properties +++ b/mobile/locales/en-US/chrome/region.properties @@ -3,17 +3,17 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Default search engine -browser.search.defaultenginename=Google +browser.search.defaultenginename=DuckDuckGo # Search engine order (order displayed in the search bar dropdown). -browser.search.order.1=Google -browser.search.order.2=Bing +browser.search.order.1=DuckDuckGo +browser.search.order.2=Google # These override the equivalents above when the client detects that it is in # US market only. -browser.search.defaultenginename.US=Google -browser.search.order.US.1=Google -browser.search.order.US.2=Bing +browser.search.defaultenginename.US=DuckDuckGo +browser.search.order.US.1=DuckDuckGo +browser.search.order.US.2=Google # increment this number when anything gets changed in the list below. This will # cause Firefox to re-read these prefs and inject any new handlers into the @@ -44,19 +44,27 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s # browser.suggestedsites.NAME.title=Displayed name # browser.suggestedsites.NAME.url=Website URL # browser.suggestedsites.NAME.bgcolor= Color (hex format) -# -# Note that if you remove or add items to this set, you need to adjust -# mobile/android/tests/browser/robocop/testDistribution.java -# to reflect the new set of IDs reported as tiles data. -# -browser.suggestedsites.list.0=facebook -browser.suggestedsites.list.1=youtube -browser.suggestedsites.list.2=amazon + +browser.suggestedsites.list.0=checktor +browser.suggestedsites.list.1=torproject +browser.suggestedsites.list.2=guardianproject browser.suggestedsites.list.3=wikipedia -browser.suggestedsites.list.4=twitter +browser.suggestedsites.list.4=facebook + +browser.suggestedsites.checktor.title=Check Tor Connection +browser.suggestedsites.checktor.url=https://check.torproject.org/ +browser.suggestedsites.checktor.bgcolor=#ffecf0f3 + +browser.suggestedsites.torproject.title=The Tor Project +browser.suggestedsites.torproject.url=https://www.torproject.org/ +browser.suggestedsites.torproject.bgcolor=#ffecf0f3 + +browser.suggestedsites.guardianproject.title=The Guardian Project +browser.suggestedsites.guardianproject.url=https://guardianproject.info/ +browser.suggestedsites.guardianproject.bgcolor=#ffecf0f3 -browser.suggestedsites.facebook.title=Facebook -browser.suggestedsites.facebook.url=https://m.facebook.com/ +browser.suggestedsites.facebook.title=Facebook Onion Service +browser.suggestedsites.facebook.url=https://m.facebookcorewwwi.onion browser.suggestedsites.facebook.bgcolor=#3B5998 browser.suggestedsites.youtube.title=YouTube diff --git a/mobile/locales/search/list.json b/mobile/locales/search/list.json index 4c490568579c..a0ee93d4f7f7 100644 --- a/mobile/locales/search/list.json +++ b/mobile/locales/search/list.json @@ -1,30 +1,30 @@ { "default": { "visibleDefaultEngines": [ - "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" + "ddg", "google", "bing", "amazondotcom", "twitter", "wikipedia" ] }, "regionOverrides": { "US": { - "google": "google-2018" + "ddg": "duckduckgo" }, "KZ": { - "google": "google-nocodes" + "ddg": "duckduckgo" }, "BY": { - "google": "google-nocodes" + "ddg": "duckduckgo" }, "RU": { - "google": "google-nocodes" + "ddg": "duckduckgo" }, "TR": { - "google": "google-nocodes" + "ddg": "duckduckgo" }, "UA": { - "google": "google-nocodes" + "ddg": "duckduckgo" }, "CN": { - "google": "google-nocodes" + "ddg": "duckduckgo" } }, "locales": { diff --git a/mobile/locales/searchplugins/duckduckgo.xml b/mobile/locales/searchplugins/duckduckgo.xml index 2e5d1d2802c4..9ff1b91a027a 100644 --- a/mobile/locales/searchplugins/duckduckgo.xml +++ b/mobile/locales/searchplugins/duckduckgo.xml @@ -11,13 +11,13 @@ <Param name="type" value="list"/> </Url> <!-- this is effectively x-moz-phonesearch, but search service expects a text/html entry --> -<Url type="text/html" method="GET" template="https://duckduckgo.com/"> +<Url type="text/html" method="GET" template="https://duckduckgo.com/html/"> <Param name="q" value="{searchTerms}" /> <Param name="t" value="fpas" /> </Url> -<Url type="application/x-moz-tabletsearch" method="GET" template="https://duckduckgo.com/"> +<Url type="application/x-moz-tabletsearch" method="GET" template="https://duckduckgo.com/html/"> <Param name="q" value="{searchTerms}" /> <Param name="t" value="ftas" /> </Url> -<SearchForm>https://duckduckgo.com</SearchForm> +<SearchForm>https://duckduckgo.com/html/</SearchForm> </SearchPlugin>
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Orfox: quit button added
by gk@torproject.org 27 Jul '18

27 Jul '18
commit d3ae0dae41066bf664b1f7b016ca135dd47f10f6 Author: Amogh Pradeep <amoghbl1(a)gmail.com> Date: Fri Jul 17 17:01:09 2015 -0400 Orfox: quit button added Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- mobile/android/base/java/org/mozilla/gecko/BrowserApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java index 3cc087e66622..ea9480d149cc 100644 --- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java @@ -3711,7 +3711,7 @@ public class BrowserApp extends GeckoApp !PrefUtils.getStringSet(prefs, ClearOnShutdownPref.PREF, new HashSet<String>()).isEmpty(); - aMenu.findItem(R.id.quit).setVisible(visible); + aMenu.findItem(R.id.quit).setVisible(true); // If tab data is unavailable we disable most of the context menu and related items and // return early.
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: Adjust the User Agent String so it doesn't leak Android version
by gk@torproject.org 27 Jul '18

27 Jul '18
commit 0635ac83085116e683ea876bb91c848682126ae8 Author: Matthew Finkel <Matthew.Finkel(a)gmail.com> Date: Thu Apr 26 15:17:42 2018 +0000 Bug 25741 - TBA: Adjust the User Agent String so it doesn't leak Android version --- mobile/android/base/AppConstants.java.in | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/mobile/android/base/AppConstants.java.in b/mobile/android/base/AppConstants.java.in index 79f81257dade..d676b1e1da12 100644 --- a/mobile/android/base/AppConstants.java.in +++ b/mobile/android/base/AppConstants.java.in @@ -131,20 +131,33 @@ public class AppConstants { public static final String OS_TARGET = "@OS_TARGET@"; public static final String TARGET_XPCOM_ABI = "@TARGET_XPCOM_ABI@"; - public static final String USER_AGENT_BOT_LIKE = "Redirector/" + AppConstants.MOZ_APP_VERSION + - " (Android; rv:" + AppConstants.MOZ_APP_VERSION + ")"; - - public static final String USER_AGENT_FENNEC_MOBILE = "Mozilla/5.0 (Android " + + // TBA: Commented out, not used. + //public static final String USER_AGENT_BOT_LIKE = "Redirector/" + AppConstants.MOZ_APP_VERSION + + // " (Android; rv:" + AppConstants.MOZ_APP_VERSION + ")"; + + // TBA: Fennec's UAS now contains the Android version. Hard-code all users UAS + // so it matches the RFP string from necko. + // toolkit/components/resistfingerprinting/nsRFPService.h + public static final String USER_AGENT_FENNEC_MOBILE = +//#ifdef TOR_BROWSER_VERSION + "Mozilla/5.0 (Android 6.0; Mobile; rv:60.0) Gecko/20100101 Firefox/60.0"; +//#else + "Mozilla/5.0 (Android " + Build.VERSION.RELEASE + "; Mobile; rv:" + AppConstants.MOZ_APP_VERSION + ") Gecko/" + AppConstants.MOZ_APP_VERSION + " Firefox/" + AppConstants.MOZ_APP_VERSION; +//#endif +//#ifdef TOR_BROWSER_VERSION + public static final String USER_AGENT_FENNEC_TABLET = USER_AGENT_FENNEC_MOBILE; +//#else public static final String USER_AGENT_FENNEC_TABLET = "Mozilla/5.0 (Android " + Build.VERSION.RELEASE + "; Tablet; rv:" + AppConstants.MOZ_APP_VERSION + ") Gecko/" + AppConstants.MOZ_APP_VERSION + " Firefox/" + AppConstants.MOZ_APP_VERSION; +//#endif public static final int MOZ_MIN_CPU_VERSION = @MOZ_MIN_CPU_VERSION@;
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
by gk@torproject.org 27 Jul '18

27 Jul '18
commit ebc4951c6b23a345c1cf6d99fd4be2b2a6a22e78 Author: Amogh Pradeep <amoghbl1(a)gmail.com> Date: Fri Jun 12 02:07:45 2015 -0400 Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources. See Bug 1357997 for partial uplift. --- .../java/org/mozilla/gecko/util/ProxySelector.java | 25 +++++++++++++++++++++- .../org/mozilla/gecko/sync/net/BaseResource.java | 7 ++++++ .../service/utils/AbstractCommunicator.java | 11 +++++++--- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java index 35010242b22d..f05716fe1d09 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java @@ -29,6 +29,10 @@ import java.net.URLConnection; import java.util.List; public class ProxySelector { + private static final String TOR_PROXY_ADDRESS = "127.0.0.1"; + private static final int TOR_SOCKS_PROXY_PORT = 9050; + private static final int TOR_HTTP_PROXY_PORT = 8118; + public static URLConnection openConnectionWithProxy(URI uri) throws IOException { java.net.ProxySelector ps = java.net.ProxySelector.getDefault(); Proxy proxy = Proxy.NO_PROXY; @@ -39,7 +43,26 @@ public class ProxySelector { } } - return uri.toURL().openConnection(proxy); + /* Ignore the proxy we found from the VM, only use Tor. We can probably + * safely use the logic in this class in the future. */ + return uri.toURL().openConnection(getProxy()); + } + + public static Proxy getProxy() { + // TODO make configurable + return new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(TOR_PROXY_ADDRESS, TOR_SOCKS_PROXY_PORT)); + } + + public static String getProxyHostAddress() { + return TOR_PROXY_ADDRESS; + } + + public static int getSocksProxyPort() { + return TOR_SOCKS_PROXY_PORT; + } + + public static int getHttpProxyPort() { + return TOR_HTTP_PROXY_PORT; } public ProxySelector() { diff --git a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/BaseResource.java b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/BaseResource.java index 6abe5efc9cb5..48d51be8b42d 100644 --- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/BaseResource.java +++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/BaseResource.java @@ -23,9 +23,11 @@ import org.json.simple.JSONObject; import org.mozilla.gecko.background.common.GlobalConstants; import org.mozilla.gecko.background.common.log.Logger; import org.mozilla.gecko.sync.ExtendedJSONObject; +import org.mozilla.gecko.util.ProxySelector; import ch.boye.httpclientandroidlib.Header; import ch.boye.httpclientandroidlib.HttpEntity; +import ch.boye.httpclientandroidlib.HttpHost; import ch.boye.httpclientandroidlib.HttpResponse; import ch.boye.httpclientandroidlib.HttpVersion; import ch.boye.httpclientandroidlib.client.AuthCache; @@ -40,6 +42,7 @@ import ch.boye.httpclientandroidlib.client.methods.HttpRequestBase; import ch.boye.httpclientandroidlib.client.methods.HttpUriRequest; import ch.boye.httpclientandroidlib.client.protocol.ClientContext; import ch.boye.httpclientandroidlib.conn.ClientConnectionManager; +import ch.boye.httpclientandroidlib.conn.params.ConnRoutePNames; import ch.boye.httpclientandroidlib.conn.scheme.PlainSocketFactory; import ch.boye.httpclientandroidlib.conn.scheme.Scheme; import ch.boye.httpclientandroidlib.conn.scheme.SchemeRegistry; @@ -215,6 +218,10 @@ public class BaseResource implements Resource { // We could reuse these client instances, except that we mess around // with their parameters… so we'd need a pool of some kind. client = new DefaultHttpClient(getConnectionManager()); + /* TBA: We need a HTTP Proxy here */ + HttpHost defaultProxy = new HttpHost(ProxySelector.getProxyHostAddress(), + ProxySelector.getHttpProxyPort()); + client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, defaultProxy); // TODO: Eventually we should use Apache HttpAsyncClient. It's not out of alpha yet. // Until then, we synchronously make the request, then invoke our delegate's callback. diff --git a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/utils/AbstractCommunicator.java b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/utils/AbstractCommunicator.java index 4e30cb7deeb7..9b3ee98f89db 100644 --- a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/utils/AbstractCommunicator.java +++ b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/utils/AbstractCommunicator.java @@ -7,6 +7,7 @@ package org.mozilla.mozstumbler.service.utils; import android.os.Build; import android.util.Log; +import org.mozilla.gecko.util.ProxySelector; import org.mozilla.mozstumbler.service.AppGlobals; import org.mozilla.mozstumbler.service.Prefs; @@ -16,7 +17,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; -import java.net.URL; +import java.net.URI; public abstract class AbstractCommunicator { @@ -72,8 +73,12 @@ public abstract class AbstractCommunicator { if (sMozApiKey == null || prefs != null) { sMozApiKey = prefs.getMozApiKey(); } - URL url = new URL(getUrlString() + "?key=" + sMozApiKey); - mHttpURLConnection = (HttpURLConnection) url.openConnection(); + + /* TBA: This was a URL, but the connection logic would simply + * convert the URL into a URI, and then later convert the URI back + * into a URL. Creating a URL at the beginning is only wasteful. */ + URI uri = new URI(getUrlString() + "?key=" + sMozApiKey); + mHttpURLConnection = (HttpURLConnection) ProxySelector.openConnectionWithProxy(uri); mHttpURLConnection.setRequestMethod("POST"); } catch (MalformedURLException e) { throw new IllegalArgumentException(e);
1 0
0 0
[tor-browser/tor-browser-60.1.0esr-8.0-1] Orfox: add BroadcastReceiver to receive Tor status from Orbot
by gk@torproject.org 27 Jul '18

27 Jul '18
commit e3bb52052fcb1e06b8c90bcacfe456d6a5d7758f Author: Hans-Christoph Steiner <hans(a)eds.org> Date: Tue Sep 1 20:49:27 2015 +0200 Orfox: add BroadcastReceiver to receive Tor status from Orbot Run in thread so Tor status updates will be received while the Gecko event sync is blocking the main thread. This might not be the best approach since it probably means that the main UI will be frozen waiting for Tor to reach ON status. Queue URL Intents events when Orbot is not yet started Instead of failing when opening a URL and Tor is not ready, queue those Intents, then send them once we get STATUS_ON from Orbot. Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com> --- .../base/java/org/mozilla/gecko/BrowserApp.java | 32 ++++++++++++++++++++++ .../main/java/org/mozilla/gecko/GeckoAppShell.java | 32 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java index 8d5bbddabc88..3cc087e66622 100644 --- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java @@ -13,11 +13,13 @@ import android.app.DownloadManager; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; +import android.content.BroadcastReceiver; import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -35,6 +37,9 @@ import android.nfc.NfcEvent; import android.os.Build; import android.os.Bundle; import android.os.Environment; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; import android.os.Parcel; import android.os.Parcelable; import android.os.StrictMode; @@ -1273,6 +1278,16 @@ public class BrowserApp extends GeckoApp } } + private BroadcastReceiver torStatusReceiver = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + if (TextUtils.equals(intent.getAction(), OrbotHelper.ACTION_STATUS)) { + GeckoAppShell.setTorStatus(intent); + } + } + }; + public void checkStartOrbot() { if (!OrbotHelper.isOrbotInstalled(this)) { final Intent installOrbotIntent = OrbotHelper.getOrbotInstallIntent(this); @@ -1293,6 +1308,14 @@ public class BrowserApp extends GeckoApp }); builder.show(); } else { + /* run in thread so Tor status updates will be received while the + * Gecko event sync is blocking the main thread */ + HandlerThread handlerThread = new HandlerThread("torStatusReceiver"); + handlerThread.start(); + Looper looper = handlerThread.getLooper(); + Handler handler = new Handler(looper); + registerReceiver(torStatusReceiver, new IntentFilter(OrbotHelper.ACTION_STATUS), + null, handler); OrbotHelper.requestStartTor(this); } } @@ -1335,6 +1358,15 @@ public class BrowserApp extends GeckoApp for (BrowserAppDelegate delegate : delegates) { delegate.onPause(this); } + + if (torStatusReceiver != null) + { + try { + unregisterReceiver(torStatusReceiver); + } catch (IllegalArgumentException e) { + Log.w(LOGTAG, "Tor status receiver couldn't be unregistered", e); + } + } } @Override diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java index 7dbb286cae04..f67603f853e2 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java @@ -18,10 +18,13 @@ import java.net.Proxy; import java.net.URLConnection; import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.concurrent.ConcurrentLinkedQueue; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Queue; import java.util.StringTokenizer; import java.util.TreeMap; @@ -39,6 +42,8 @@ import org.mozilla.gecko.util.ProxySelector; import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.geckoview.BuildConfig; +import info.guardianproject.netcipher.proxy.OrbotHelper; + import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; @@ -110,7 +115,11 @@ public class GeckoAppShell // We have static members only. private GeckoAppShell() { } + /* Initialize as STATUS_OFF */ + private static String sTorStatus = OrbotHelper.STATUS_OFF; + private static final CrashHandler CRASH_HANDLER = new CrashHandler() { + @Override protected String getAppPackageName() { final Context appContext = getAppContext(); @@ -200,6 +209,8 @@ public class GeckoAppShell static private int sDensityDpi; static private int sScreenDepth; + static final Queue<Intent> PENDING_URL_INTENTS = new ConcurrentLinkedQueue<Intent>(); + /* Is the value in sVibrationEndTime valid? */ private static boolean sVibrationMaybePlaying; @@ -251,6 +262,16 @@ public class GeckoAppShell private static Rect sScreenSize; + static void sendPendingUrlIntents() { + try { + Context context = getApplicationContext(); + while (!PENDING_URL_INTENTS.isEmpty()) { + final Intent intent = PENDING_URL_INTENTS.poll(); + context.startActivity(intent); + } + } catch (NoSuchElementException e) {} + } + @WrapForJNI(stubName = "NotifyObservers", dispatchTo = "gecko") private static native void nativeNotifyObservers(String topic, String data); @@ -1874,4 +1895,15 @@ public class GeckoAppShell public static String getDefaultLocale() { return Locale.getDefault().toString(); } + + public static void setTorStatus(Intent intent) { + sTorStatus = intent.getStringExtra(OrbotHelper.EXTRA_STATUS); + if (OrbotHelper.STATUS_ON.equals(sTorStatus)) { + sendPendingUrlIntents(); + } + } + + public static String getTorStatus() { + return sTorStatus; + } }
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 1460
  • 1461
  • 1462
  • 1463
  • 1464
  • 1465
  • 1466
  • ...
  • 1850
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.