diff options
author | Calum Lind <calumlind+deluge@gmail.com> | 2017-01-30 10:21:46 +0000 |
---|---|---|
committer | Calum Lind <calumlind+deluge@gmail.com> | 2017-01-30 10:36:33 +0000 |
commit | 8565eccb3de9f5361ad6ae099a1e58a78f9d1e37 (patch) | |
tree | fff07626f25d01d59d8f3c3df80f0f3efad6f0f4 | |
parent | 30eaf775c2d5563ecec30d95d5496976f385a6c2 (diff) | |
download | deluge-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.py | 10 |
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): |