summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCalum Lind <calumlind+deluge@gmail.com>2017-01-30 10:21:46 +0000
committerCalum Lind <calumlind+deluge@gmail.com>2017-01-30 10:36:33 +0000
commit8565eccb3de9f5361ad6ae099a1e58a78f9d1e37 (patch)
treefff07626f25d01d59d8f3c3df80f0f3efad6f0f4
parent30eaf775c2d5563ecec30d95d5496976f385a6c2 (diff)
downloaddeluge-8565eccb3de9f5361ad6ae099a1e58a78f9d1e37.tar.gz
deluge-8565eccb3de9f5361ad6ae099a1e58a78f9d1e37.tar.bz2
deluge-8565eccb3de9f5361ad6ae099a1e58a78f9d1e37.zip
[#2149] [Core] Fix for overwriting single proxy in lt>=0.16
-rw-r--r--deluge/core/preferencesmanager.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/deluge/core/preferencesmanager.py b/deluge/core/preferencesmanager.py
index 4d73cf2d2..febb2a479 100644
--- a/deluge/core/preferencesmanager.py
+++ b/deluge/core/preferencesmanager.py
@@ -478,14 +478,22 @@ class PreferencesManager(component.Component):
self.new_release_timer.stop()
def _on_set_proxies(self, key, value):
+ lt_single_proxy = deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.0.0")
for k, v in value.items():
+ if k != "peer" and lt_single_proxy:
+ # Only set peer proxy to stop overwriting proxy setting in libtorrent >= 0.16.
+ if v["hostname"]:
+ log.warning("Using libtorrent >= 0.16 ignores proxy settings for %s", k)
+ self.config["proxies"][k] = DEFAULT_PREFS["proxies"][k]
+ continue
+
proxy_settings = lt.proxy_settings()
proxy_settings.type = lt.proxy_type(v["type"])
proxy_settings.username = str(v["username"])
proxy_settings.password = str(v["password"])
proxy_settings.hostname = str(v["hostname"])
proxy_settings.port = v["port"]
- log.debug("setting %s proxy settings", k)
+ log.debug("Setting %s proxy settings: %s", k, v)
getattr(self.session, "set_%s_proxy" % k)(proxy_settings)
def _on_rate_limit_ip_overhead(self, key, value):