Only update bridge and padding settings if network is enabled.

This commit is contained in:
akwizgran
2020-01-20 16:20:36 +00:00
parent 9bfbb4d02d
commit 2e42fb3c44

View File

@@ -801,35 +801,39 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
LOG.info("Disabling network, country is blocked"); LOG.info("Disabling network, country is blocked");
disabledBySettings = true; disabledBySettings = true;
reasonDisabled = REASON_COUNTRY_BLOCKED; reasonDisabled = REASON_COUNTRY_BLOCKED;
} else if (network == PREF_TOR_NETWORK_WITH_BRIDGES || } else {
LOG.info("Enabling network");
enableNetwork = true;
if (network == PREF_TOR_NETWORK_WITH_BRIDGES ||
(automatic && bridgesWork)) { (automatic && bridgesWork)) {
if (circumventionProvider.needsMeek(country)) { if (circumventionProvider.needsMeek(country)) {
LOG.info("Enabling network, using meek bridges"); LOG.info("Using meek bridges");
enableBridges = true; enableBridges = true;
useMeek = true; useMeek = true;
} else { } else {
LOG.info("Enabling network, using obfs4 bridges"); LOG.info("Using obfs4 bridges");
enableBridges = true; enableBridges = true;
} }
enableNetwork = true;
} else { } else {
LOG.info("Enabling network, not using bridges"); LOG.info("Not using bridges");
enableNetwork = true;
} }
if (wifi && charging) {
if (online && wifi && charging) {
LOG.info("Enabling connection padding"); LOG.info("Enabling connection padding");
enableConnectionPadding = true; enableConnectionPadding = true;
} else { } else {
LOG.info("Disabling connection padding"); LOG.info("Disabling connection padding");
} }
}
state.setDisabledBySettings(disabledBySettings, reasonDisabled); state.setDisabledBySettings(disabledBySettings, reasonDisabled);
try { try {
if (enableNetwork) {
enableBridges(enableBridges, useMeek); enableBridges(enableBridges, useMeek);
enableNetwork(enableNetwork);
enableConnectionPadding(enableConnectionPadding); enableConnectionPadding(enableConnectionPadding);
}
enableNetwork(enableNetwork);
} catch (IOException e) { } catch (IOException e) {
logException(LOG, WARNING, e); logException(LOG, WARNING, e);
} }