From 1610ea103435c7a9050a0728743ee493c85f2f16 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Sat, 9 Mar 2024 21:17:48 +0000 Subject: [PATCH] Upgrade onionwrapper to 0.1.0 and snowflake to 2.9.1. --- gradle/variables.gradle | 4 +- gradle/verification-metadata.xml | 48 +++++++++---------- .../android/ui/settings/SettingsFragment.kt | 12 ++--- .../mailbox/core/tor/AndroidTorPlugin.java | 2 +- .../mailbox/core/tor/AbstractTorPlugin.java | 7 +-- .../mailbox/core/tor/JavaTorPlugin.java | 2 +- 6 files changed, 34 insertions(+), 41 deletions(-) diff --git a/gradle/variables.gradle b/gradle/variables.gradle index 108fa0e7..a91f5b7c 100644 --- a/gradle/variables.gradle +++ b/gradle/variables.gradle @@ -4,9 +4,9 @@ ext { nav_version = '2.5.3' tor_version = '0.4.8.9-1' obfs4_version = '0.0.14-tor2' - snowflake_version = '2.5.1' + snowflake_version = '2.9.1' junit_version = '5.7.2' mockk_version = '1.10.4' ktlint_plugin_version = '10.2.1' - onionwrapper_version = '0.0.7' + onionwrapper_version = '0.1.0' } diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 944ff03e..d137a1b6 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -3133,44 +3133,44 @@ <sha256 value="9feb0d95ecef6e394b2a55ec4e451ec659f84a705345976053de166b157a0460" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.briarproject" name="onionwrapper-android" version="0.0.7"> - <artifact name="onionwrapper-android-0.0.7.aar"> + <component group="org.briarproject" name="onionwrapper-android" version="0.1.0"> + <artifact name="onionwrapper-android-0.1.0.aar"> <sha256 value="d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15" origin="Generated by Gradle"/> </artifact> - <artifact name="onionwrapper-android-0.0.7.module"> - <sha256 value="36ce596cb48dfdb83b1e4a09e4a5c574ed965821c586d0b91a3ebfc341ee236b" origin="Generated by Gradle"/> + <artifact name="onionwrapper-android-0.1.0.module"> + <sha256 value="163912a34b00afc316328a2559355e3cdf965a2bd2db8e75e03a82b3bf86f527" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.briarproject" name="onionwrapper-core" version="0.0.7"> - <artifact name="onionwrapper-core-0.0.7.jar"> - <sha256 value="918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd" origin="Generated by Gradle"/> + <component group="org.briarproject" name="onionwrapper-core" version="0.1.0"> + <artifact name="onionwrapper-core-0.1.0.jar"> + <sha256 value="3e6631771b891c959403f6145de034c6f9816e7d067808d534f954eef9a1ca35" origin="Generated by Gradle"/> </artifact> - <artifact name="onionwrapper-core-0.0.7.module"> - <sha256 value="75ebcd6f55d305a1e45184940b7f48332cdcaafc815a1564b1833993488ea4a5" origin="Generated by Gradle"/> + <artifact name="onionwrapper-core-0.1.0.module"> + <sha256 value="8ccad59794d11502dfd48024cb03ed03f144ab0e7e94b2a9557e34f3e0c7f806" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.briarproject" name="onionwrapper-java" version="0.0.7"> - <artifact name="onionwrapper-java-0.0.7.jar"> - <sha256 value="48115772d4348eab6f35e562ae648dd9d7398adb99e5429afb64a62c82f3d27c" origin="Generated by Gradle"/> + <component group="org.briarproject" name="onionwrapper-java" version="0.1.0"> + <artifact name="onionwrapper-java-0.1.0.jar"> + <sha256 value="c1a961c73f06d28e2a63c301d4e747398745bfc9709ade4ae3ba8818c6849fe0" origin="Generated by Gradle"/> </artifact> - <artifact name="onionwrapper-java-0.0.7.module"> - <sha256 value="1760f9256afbb4ed3603484ce27a77be6912f45819768e95b18845bbf93648a3" origin="Generated by Gradle"/> + <artifact name="onionwrapper-java-0.1.0.module"> + <sha256 value="cabcf088c78de7fca7a71c6242b47d7e72fd7fbcbcaa02c1f6fcf24dcbfd23fe" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.briarproject" name="snowflake-android" version="2.5.1"> - <artifact name="snowflake-android-2.5.1.jar"> - <sha256 value="88ec81c17b1b6fa884d06839dec0330e328b45c89f88c970a213ce91ca8eac87" origin="Generated by Gradle"/> + <component group="org.briarproject" name="snowflake-android" version="2.9.1"> + <artifact name="snowflake-android-2.9.1.jar"> + <sha256 value="8d6195637edbe3717d205c2e524e9d3cb742b90fc67b10565d16262af134e489" origin="Generated by Gradle"/> </artifact> - <artifact name="snowflake-android-2.5.1.pom"> - <sha256 value="982c1b2e81d7f8e8e82013a3b5de3501cb24cece1411a5cd834965d5b40634b3" origin="Generated by Gradle"/> + <artifact name="snowflake-android-2.9.1.pom"> + <sha256 value="550526c404e9a9105e9eae55490eac874b07febce4e64b1053cf357144f7c204" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.briarproject" name="snowflake-linux" version="2.5.1"> - <artifact name="snowflake-linux-2.5.1.jar"> - <sha256 value="edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2" origin="Generated by Gradle"/> + <component group="org.briarproject" name="snowflake-linux" version="2.9.1"> + <artifact name="snowflake-linux-2.9.1.jar"> + <sha256 value="36b2f406f67a1bf3b4a6cecbba2e153ad939209cc9c22299e4161019dbae0e03" origin="Generated by Gradle"/> </artifact> - <artifact name="snowflake-linux-2.5.1.pom"> - <sha256 value="5603bc6b5e8787e478ae8b1cb0a0b66f838503fafa1698bb3b6bd3c503db4d95" origin="Generated by Gradle"/> + <artifact name="snowflake-linux-2.9.1.pom"> + <sha256 value="9aa9b67b311ab926884a1394a095fd95b9d1ca4bb2549aa7c334da76d7dfc49e" origin="Generated by Gradle"/> </artifact> </component> <component group="org.briarproject" name="tor-android" version="0.4.8.9-1"> diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt index 9909cb82..8f416e85 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt +++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt @@ -14,7 +14,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.briarproject.mailbox.R import org.briarproject.mailbox.android.ui.MailboxViewModel -import org.briarproject.mailbox.core.settings.SettingsManager import org.briarproject.mailbox.core.tor.NetworkManager import org.briarproject.mailbox.core.tor.TorConstants.BRIDGE_AUTO import org.briarproject.mailbox.core.tor.TorConstants.BRIDGE_AUTO_DEFAULT @@ -49,9 +48,6 @@ class SettingsFragment : PreferenceFragmentCompat() { private lateinit var brideTypePrefs: List<SwitchPreferenceCompat> private lateinit var bridgeTypesCategory: PreferenceCategory - @Inject - lateinit var settingsManager: SettingsManager - @Inject lateinit var torSettingsStore: TorSettingsStore @@ -122,12 +118,12 @@ class SettingsFragment : PreferenceFragmentCompat() { private fun onAutoChanged(auto: Boolean) { autoPref.isChecked = auto val country = locationUtils.currentCountry - val doBridgesWork = circumventionProvider.doBridgesWork(country) + val useBridgesByDefault = circumventionProvider.shouldUseBridges(country) // if automatic mode is on, we show what Tor is using, otherwise we show what user has set if (auto) { setIsPersistent(false) - usePref.isChecked = doBridgesWork - onUseBridgesChanged(doBridgesWork) + usePref.isChecked = useBridgesByDefault + onUseBridgesChanged(useBridgesByDefault) val autoTypes = if (networkManager.networkStatus.isIpv6Only) { listOf(MEEK, SNOWFLAKE) } else { @@ -141,7 +137,7 @@ class SettingsFragment : PreferenceFragmentCompat() { } else { setIsPersistent(true) val useBridges = - torSettingsStore.getBooleanAndStoreDefault(usePref, BRIDGE_USE, doBridgesWork) + torSettingsStore.getBooleanAndStoreDefault(usePref, BRIDGE_USE, useBridgesByDefault) onUseBridgesChanged(useBridges) val customTypes = torPlugin.customBridgeTypes torSettingsStore.getBooleanAndStoreDefault( diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java index 6da3f8e7..26f4903f 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java +++ b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java @@ -54,7 +54,7 @@ public class AndroidTorPlugin extends AbstractTorPlugin { File torDirectory, IntSupplier portSupplier) { super(ioExecutor, settingsManager, networkManager, locationUtils, - circumventionProvider, portSupplier, SDK_INT >= 25, + circumventionProvider, portSupplier, new AndroidTorWrapper(app, wakeLockManager, ioExecutor, eventExecutor, architecture, torDirectory, SOCKS_PORT, CONTROL_PORT)); diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java index 3a39b7fe..cd3c436a 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java @@ -95,7 +95,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener { private final LocationUtils locationUtils; private final CircumventionProvider circumventionProvider; private final IntSupplier portSupplier; - private final boolean canVerifyLetsEncryptCerts; private final TorWrapper tor; private final AtomicBoolean used = new AtomicBoolean(false); @@ -109,7 +108,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener { LocationUtils locationUtils, CircumventionProvider circumventionProvider, IntSupplier portSupplier, - boolean canVerifyLetsEncryptCerts, TorWrapper tor) { this.ioExecutor = ioExecutor; this.settingsManager = settingsManager; @@ -117,7 +115,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener { this.locationUtils = locationUtils; this.circumventionProvider = circumventionProvider; this.portSupplier = portSupplier; - this.canVerifyLetsEncryptCerts = canVerifyLetsEncryptCerts; this.tor = tor; // Don't execute more than one connection status check at a time connectionStatusExecutor = @@ -232,7 +229,7 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener { List<String> bridges = new ArrayList<>(); for (BridgeType bridgeType : bridgeTypes) { bridges.addAll(circumventionProvider.getBridges(bridgeType, - countryCode, canVerifyLetsEncryptCerts)); + countryCode)); } tor.enableBridges(bridges); } @@ -357,7 +354,7 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener { private List<BridgeType> getBridgeTypes(String country, boolean ipv6Only) { List<BridgeType> bridgeTypes = emptyList(); boolean bridgesNeeded = - circumventionProvider.doBridgesWork(country); + circumventionProvider.shouldUseBridges(country); boolean bridgeAuto = settings.getBoolean(BRIDGE_AUTO, BRIDGE_AUTO_DEFAULT); if (bridgeAuto) { diff --git a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java index e3ac9442..72b30961 100644 --- a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java +++ b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java @@ -43,7 +43,7 @@ public class JavaTorPlugin extends AbstractTorPlugin { File torDirectory, IntSupplier portSupplier) { super(ioExecutor, settingsManager, networkManager, locationUtils, - circumventionProvider, portSupplier, true, + circumventionProvider, portSupplier, new UnixTorWrapper(ioExecutor, eventExecutor, architecture, torDirectory, SOCKS_PORT, CONTROL_PORT)); } -- GitLab