commit 12b91c44f3af675dd0db5a3bacbf232c0f8d61f4 Author: Tad <t...@spotco.us> Date: Fri Jan 18 16:22:36 2019 -0500
Expose PreferIPv6 and NoIPv4Traffic options See https://trac.torproject.org/projects/tor/ticket/21269 --- app/src/main/res/values/strings.xml | 4 ++++ app/src/main/res/xml/preferences.xml | 15 +++++++++++++-- .../org/torproject/android/service/OrbotConstants.java | 3 +++ .../java/org/torproject/android/service/TorService.java | 16 +++++++++++++--- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fb51caa1..5a3730ed 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -388,6 +388,10 @@ <string name="pref_connection_padding_summary">Always enables connection padding to defend against some forms of traffic analysis. Default: auto</string> <string name="pref_reduced_connection_padding">Reduced connection padding</string> <string name="pref_reduced_connection_padding_summary">Closes relay connections sooner and sends less padding packets to reduce data and battery usage</string> + <string name="pref_prefer_ipv6">Prefer IPv6 connections</string> + <string name="pref_prefer_ipv6_summary">Tells exits that IPv6 addresses are preferred</string> + <string name="pref_disable_ipv4">Disable IPv4 connections</string> + <string name="pref_disable_ipv4_summary">Tells exits not to connect to IPv4 addresses</string> <string name="please_enable_vpn">Please activate the VPN mode to enable apps to use Tor</string> <string name="app_shortcuts">Tor-Enabled Apps</string> <string name="title_activity_bridge_wizard">BridgeWizardActivity</string> diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 0e5a70be..1f49d58b 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -174,13 +174,25 @@ android:title="@string/reachable_ports" /> </PreferenceCategory> - <PreferenceCategory android:title="Isolation"> + <PreferenceCategory android:title="Connectivity"> <CheckBoxPreference android:defaultValue="false" android:enabled="true" android:key="pref_isolate_dest" android:summary="@string/pref_isolate_dest_summary" android:title="@string/pref_isolate_dest" /> + <CheckBoxPreference + android:defaultValue="true" + android:enabled="true" + android:key="pref_prefer_ipv6" + android:summary="@string/pref_prefer_ipv6_summary" + android:title="@string/pref_prefer_ipv6" /> + <CheckBoxPreference + android:defaultValue="false" + android:enabled="true" + android:key="pref_disable_ipv4" + android:summary="@string/pref_disable_ipv4_summary" + android:title="@string/pref_disable_ipv4" /> </PreferenceCategory> <PreferenceCategory android:title="ConnectionPadding"> @@ -198,7 +210,6 @@ android:title="@string/pref_reduced_connection_padding" /> </PreferenceCategory> - <PreferenceCategory android:title="@string/pref_proxy_title"> <EditTextPreference android:dialogTitle="@string/pref_proxy_type_dialog" diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java index 06b1da83..e7f09a77 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java +++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java @@ -39,4 +39,7 @@ public interface OrbotConstants { public final static String PREF_CONNECTION_PADDING = "pref_connection_padding"; public final static String PREF_REDUCED_CONNECTION_PADDING = "pref_reduced_connection_padding"; + public final static String PREF_PREFER_IPV6 = "pref_prefer_ipv6"; + public final static String PREF_DISABLE_IPV4 = "pref_disable_ipv4"; + } diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorService.java b/orbotservice/src/main/java/org/torproject/android/service/TorService.java index 2ce7b706..c1178eda 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorService.java +++ b/orbotservice/src/main/java/org/torproject/android/service/TorService.java @@ -641,16 +641,26 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon String isolate = " "; if(prefs.getBoolean(OrbotConstants.PREF_ISOLATE_DEST, false)) { - isolate += "IsolateDestAddr"; + isolate += "IsolateDestAddr "; + } + + String ipv6Pref = " IPv6Traffic "; + if(prefs.getBoolean(OrbotConstants.PREF_PREFER_IPV6, true)) + { + ipv6Pref += "PreferIPv6 "; + } + if(prefs.getBoolean(OrbotConstants.PREF_DISABLE_IPV4, false)) + { + ipv6Pref += "NoIPv4Traffic "; } - extraLines.append("SOCKSPort ").append(socksPortPref).append(isolate).append('\n'); + extraLines.append("SOCKSPort ").append(socksPortPref).append(isolate).append(ipv6Pref).append('\n'); extraLines.append("SafeSocks 0").append('\n'); extraLines.append("TestSocks 0").append('\n'); if (Prefs.openProxyOnAllInterfaces()) extraLines.append("SocksListenAddress 0.0.0.0").append('\n'); - extraLines.append("HTTPTunnelPort ").append(mPortHTTP).append(isolate).append('\n'); + extraLines.append("HTTPTunnelPort ").append(mPortHTTP).append(isolate).append(ipv6Pref).append('\n'); if(prefs.getBoolean(OrbotConstants.PREF_CONNECTION_PADDING, false)) _______________________________________________ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits