
clairehurst pushed to branch tor-browser-140.3.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: e2c37c35 by Henry Wilkes at 2025-10-07T18:06:10+01:00 fixup! TB 40597: Implement TorSettings module TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - 90bf16d7 by Henry Wilkes at 2025-10-07T18:06:11+01:00 fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - 65eb80ce by Henry Wilkes at 2025-10-07T18:06:11+01:00 fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - 9ebd40f1 by Henry Wilkes at 2025-10-07T18:06:12+01:00 fixup! TB 42247: Android helpers for the TorProvider TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - a696660b by Henry Wilkes at 2025-10-07T18:06:13+01:00 fixup! TB 40041 [android]: Implement Tor Network Settings TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - b3c3b0a1 by Henry Wilkes at 2025-10-07T18:06:14+01:00 fixup! TB 41878: [android] Add standalone Tor Bootstrap TB 44068: Migrate from "meek-azure" to "meek" name for built-in bridge types. - - - - - 18f6af85 by Henry Wilkes at 2025-10-07T18:06:15+01:00 fixup! TB 40041 [android]: Implement Tor Network Settings TB 44068: Add a note about the legacy meek_azure name. - - - - - 10 changed files: - browser/app/profile/000-tor-browser.js - browser/components/torpreferences/content/builtinBridgeDialog.xhtml - browser/components/torpreferences/content/connectionPane.js - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt - mobile/android/fenix/app/src/main/res/values/preference_keys.xml - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java - toolkit/modules/TorSettings.sys.mjs Changes: ===================================== browser/app/profile/000-tor-browser.js ===================================== @@ -62,7 +62,7 @@ pref("torbrowser.settings.bridges.enabled", false); // TorBridgeSource. Initially TorBridgeSource.Invalid = -1. pref("torbrowser.settings.bridges.source", -1); pref("torbrowser.settings.bridges.lox_id", ""); -// obfs4|meek-azure|snowflake|etc. +// obfs4|meek|snowflake|etc. pref("torbrowser.settings.bridges.builtin_type", ""); // torbrowser.settings.bridges.bridge_strings.0 // torbrowser.settings.bridges.bridge_strings.1 ===================================== browser/components/torpreferences/content/builtinBridgeDialog.xhtml ===================================== @@ -76,7 +76,7 @@ <vbox class="builtin-bridges-option"> <hbox> <radio - value="meek-azure" + value="meek" data-l10n-id="built-in-dialog-meek-radio-option2" /> <html:span class="bridge-status-badge"> ===================================== browser/components/torpreferences/content/connectionPane.js ===================================== @@ -1079,7 +1079,7 @@ const gBuiltinBridgesArea = { name: "tor-bridges-built-in-snowflake-name", description: "tor-bridges-built-in-snowflake-description", }, - "meek-azure": { + meek: { name: "tor-bridges-built-in-meek-name", description: "tor-bridges-built-in-meek-description", }, ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt ===================================== @@ -33,10 +33,10 @@ class TorBridgeConfigFragment : PreferenceFragmentCompat() { // Initialize radio button group for built-in bridge transport types val radioObfs4 = bindBridgeTransportRadio(TorBridgeTransportConfig.BUILTIN_OBFS4) - val radioMeekAzure = bindBridgeTransportRadio(TorBridgeTransportConfig.BUILTIN_MEEK_AZURE) + val radioMeek = bindBridgeTransportRadio(TorBridgeTransportConfig.BUILTIN_MEEK) val radioSnowflake = bindBridgeTransportRadio(TorBridgeTransportConfig.BUILTIN_SNOWFLAKE) - builtinBridgeRadioGroups.addAll(mutableListOf(radioObfs4, radioMeekAzure, radioSnowflake)) + builtinBridgeRadioGroups.addAll(mutableListOf(radioObfs4, radioMeek, radioSnowflake)) // `*` is Kotlin's "spread" operator, for expanding an Array as a vararg. addToRadioGroup(*builtinBridgeRadioGroups.toTypedArray()) ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt ===================================== @@ -19,7 +19,7 @@ enum class TorBridgeTransportConfig( preferenceKey = R.string.pref_key_tor_network_settings_bridge_config_builtin_bridge_obfs4, transportName = "obfs4" ), - BUILTIN_MEEK_AZURE( + BUILTIN_MEEK( preferenceKey = R.string.pref_key_tor_network_settings_bridge_config_builtin_bridge_meek_azure, transportName = "meek" ), @@ -38,8 +38,8 @@ object TorBridgeTransportConfigUtil { return when (bridge) { TorBridgeTransportConfig.BUILTIN_OBFS4.transportName -> TorBridgeTransportConfig.BUILTIN_OBFS4 - TorBridgeTransportConfig.BUILTIN_MEEK_AZURE.transportName -> - TorBridgeTransportConfig.BUILTIN_MEEK_AZURE + TorBridgeTransportConfig.BUILTIN_MEEK.transportName -> + TorBridgeTransportConfig.BUILTIN_MEEK TorBridgeTransportConfig.BUILTIN_SNOWFLAKE.transportName -> TorBridgeTransportConfig.BUILTIN_SNOWFLAKE else -> TorBridgeTransportConfig.USER_PROVIDED ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt ===================================== @@ -65,7 +65,7 @@ class TorControllerGV( BridgeSource.BuiltIn -> { when (getTorSettings()?.bridgesBuiltinType) { BridgeBuiltinType.Obfs4 -> TorBridgeTransportConfig.BUILTIN_OBFS4 - BridgeBuiltinType.MeekAzure -> TorBridgeTransportConfig.BUILTIN_MEEK_AZURE + BridgeBuiltinType.Meek -> TorBridgeTransportConfig.BUILTIN_MEEK BridgeBuiltinType.Snowflake -> TorBridgeTransportConfig.BUILTIN_SNOWFLAKE else -> TorBridgeTransportConfig.USER_PROVIDED } @@ -87,7 +87,7 @@ class TorControllerGV( it.bridgesSource = BridgeSource.BuiltIn val bbt: BridgeBuiltinType = when (value) { TorBridgeTransportConfig.BUILTIN_OBFS4 -> BridgeBuiltinType.Obfs4 - TorBridgeTransportConfig.BUILTIN_MEEK_AZURE -> BridgeBuiltinType.MeekAzure + TorBridgeTransportConfig.BUILTIN_MEEK -> BridgeBuiltinType.Meek TorBridgeTransportConfig.BUILTIN_SNOWFLAKE -> BridgeBuiltinType.Snowflake else -> BridgeBuiltinType.Invalid } ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -496,6 +496,8 @@ <string name="pref_key_tor_network_settings_bridge_config_explanation" translatable="false">pref_key_tor_network_settings_bridge_config_explanation</string> <string name="pref_key_tor_network_settings_bridge_config_toggle" translatable="false">pref_key_tor_network_settings_bridge_config_toggle</string> <string name="pref_key_tor_network_settings_bridge_config_builtin_bridge_obfs4" translatable="false">pref_key_tor_network_settings_bridge_config_builtin_bridge_obfs4</string> + <!-- NOTE: The "meek_azure" part is a legacy name for simply "meek", kept + - only to avoid a preference migration. See tor-browser#44068 --> <string name="pref_key_tor_network_settings_bridge_config_builtin_bridge_meek_azure" translatable="false">pref_key_tor_network_settings_bridge_config_builtin_bridge_meek_azure</string> <string name="pref_key_tor_network_settings_bridge_config_builtin_bridge_snowflake" translatable="false">pref_key_tor_network_settings_bridge_config_builtin_bridge_snowflake</string> <string name="pref_key_tor_network_settings_bridge_config_user_provided_bridge" translatable="false">pref_key_tor_network_settings_bridge_config_user_provided_bridge</string> ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java ===================================== @@ -68,10 +68,10 @@ public class TorSettings { } public enum BridgeBuiltinType { - /* TorSettings.sys.mjs ~ln43: string: obfs4|meek-azure|snowflake|etc */ + /* TorSettings.sys.mjs ~ln43: string: obfs4|meek|snowflake|etc */ Invalid("invalid"), Obfs4("obfs4"), - MeekAzure("meek-azure"), + Meek("meek"), Snowflake("snowflake"); private String type; @@ -88,8 +88,8 @@ public class TorSettings { switch (s) { case "obfs4": return Obfs4; - case "meek-azure": - return MeekAzure; + case "meek": + return Meek; case "snowflake": return Snowflake; } ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java ===================================== @@ -49,7 +49,7 @@ public class TorLegacyAndroidSettings { TorSettings.BridgeBuiltinType.fromString(userDefinedBridgeList); break; case "meek": - settings.bridgesBuiltinType = TorSettings.BridgeBuiltinType.MeekAzure; + settings.bridgesBuiltinType = TorSettings.BridgeBuiltinType.Meek; break; default: settings.bridgesSource = TorSettings.BridgeSource.Invalid; ===================================== toolkit/modules/TorSettings.sys.mjs ===================================== @@ -36,7 +36,7 @@ const TorSettingsPrefs = Object.freeze({ source: "torbrowser.settings.bridges.source", /* string: output of crypto.randomUUID() */ lox_id: "torbrowser.settings.bridges.lox_id", - /* string: obfs4|meek-azure|snowflake|etc */ + /* string: obfs4|meek|snowflake|etc */ builtin_type: "torbrowser.settings.bridges.builtin_type", /* preference branch: each child branch should be a bridge string */ bridge_strings: "torbrowser.settings.bridges.bridge_strings", @@ -534,6 +534,13 @@ class TorSettingsImpl { const req = await fetch("chrome://global/content/pt_config.json"); const config = await req.json(); lazy.logger.debug("Loaded pt_config.json", config); + if ("meek-azure" in config.bridges) { + // Convert the meek-azure name to meek. tor-browser#44068. + // NOTE: no need to convert recommendedDefault since it is not meek. + lazy.logger.debug("Converting pt_config type from meek-azure to meek"); + config.bridges.meek = config.bridges["meek-azure"]; + delete config.bridges["meek-azure"]; + } this.#recommendedPT = config.recommendedDefault; this.#builtinBridges = config.bridges; for (const type in this.#builtinBridges) { @@ -687,13 +694,26 @@ class TorSettingsImpl { ) ); break; - case TorBridgeSource.BuiltIn: + case TorBridgeSource.BuiltIn: { // bridge_strings is set via builtin_type. - bridges.builtin_type = Services.prefs.getStringPref( + let builtinType = Services.prefs.getStringPref( TorSettingsPrefs.bridges.builtin_type, "" ); + if (builtinType === "meek-azure") { + lazy.logger.debug( + "Converting builtin-bridge setting value from meek-azure to meek" + ); + builtinType = "meek"; + // Store the new value. + Services.prefs.setStringPref( + TorSettingsPrefs.bridges.builtin_type, + builtinType + ); + } + bridges.builtin_type = builtinType; break; + } case TorBridgeSource.Lox: // bridge_strings is set via lox id. bridges.lox_id = Services.prefs.getStringPref( View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0457934... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0457934... You're receiving this email because of your account on gitlab.torproject.org.
participants (1)
-
clairehurst (@clairehurst)