mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
Avoid using IPv6 ULA for outgoing connections #14974
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#14974
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Pentium4User on GitHub (Sep 19, 2023).
qBittorrent & operating system versions
qBittorrent: 4.5.5-1 amd64
Operating system: Debian Sid
Qt: 6.4.2
libtorrent-rasterbar: 2.0.9-2
What is the problem?
Hello!
qBittorrent uses the IPv6 ULA address to connect to other GUA addresses (from 2000::/3, public IPv6 internet).
This has the result that answers will never ever reach me because IPv6 ULA isn't intended for communication in the internet.
qBittorrent should always use the IPv6 GUA address of the PC when connecting to another GUA and use ULA only for local peers that also have an ULA address.
Steps to reproduce
In Advanced settings, enable to bind to all IPv6 addresses, system must have additional ULA addresses.
Start downloading a torrent and use ss -utn to see the outgoing connections to GUA addresses form the ULA address.
Additional context
No response
Log(s) & preferences file(s)
No response
@Balls0fSteel commented on GitHub (Sep 19, 2023):
I found this:
bool QHostAddress::isSiteLocal() consthttps://doc.qt.io/qt-6/qhostaddress.html
Guess when it enumerates the addresses/picks one, it could just ignore if the address is local. Just an idea.
@Pentium4User commented on GitHub (Sep 19, 2023):
Good point, that is fec0::/10. This must not be used when connecting to GUA (2000::/3).
bool QHostAddress::isUniqueLocalUnicast() looks good to find ULA (fc00::/7).
Maybe also check for link-local and loopback to also avoid using them.
It would be nice if you could implement these checks.
@Chocobo1 commented on GitHub (Oct 3, 2023):
Some findings:
In this case, qbt will merely pass the string
[::]:<port number>tolisten_interfacesand it seems libtorrent handles the rest (routing, etc).@arvidn
Any thoughts?
@Pentium4User commented on GitHub (May 29, 2024):
As the libtorrent tag was added, did someone already reported it there?