From 8565eccb3de9f5361ad6ae099a1e58a78f9d1e37 Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Mon, 30 Jan 2017 10:21:46 +0000 Subject: [PATCH] [#2149] [Core] Fix for overwriting single proxy in lt>=0.16 --- deluge/core/preferencesmanager.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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):