Opened 21 months ago

#3114 new bug

DNS resolution doesn't use the correct network interface

Reported by: oxguy3 Owned by:
Priority: minor Milestone: needs verified
Component: libtorrent Version: 1.3.13
Keywords: Cc:

Description

When you set an IP address as the Interface in the Network tab of Deluge's Preferences, all traffic that Deluge sends out is supposed to go via that IP address. However, DNS resolution for trackers does not use this interface, and instead uses the system's default interface.

This bug is critical for me, as I have firewall settings that restrict Deluge from making connections on any interface besides my VPN connection (except on port 58846). Deluge entirely fails to resolve all hostnames unless I add an exception for port 53 in my iptables settings.


I did a bit of digging to figure out why this happens. Deluge lets libtorrent handle hostname resolution, and libtorrent uses Boost.ASIO's ip::tcp::resolver for its DNS resolution (see libtorrent/src/resolver.cpp). ip::tcp::resolver is basically a blackbox -- it doesn't allow you to configure what DNS servers it uses or how it connects to them, and it just does whatever it wants. I don't know enough about Deluge/libtorrent to know how this might be resolved...

Change History (0)

Note: See TracTickets for help on using tickets.