Bug 267551

Summary: Implement ipv4 and ipv6 tracker announce parameters
Product: [Applications] ktorrent Reporter: Benedikt Gollatz <benedikt>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED FIXED    
Severity: wishlist CC: kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Benedikt Gollatz 2011-03-03 14:21:34 UTC
Version:           unspecified (using KDE 4.5.5) 
OS:                Linux

When operating a dual-stack IPv6/IPv4 setup and announcing a torrent on a tracker that is both reachable via IPv6 and IPv4, ktorrent connects to the tracker only via IPv6, announces only its IPv6 address and only receives IPv6 peers from the tracker, which keeps separate IPv6 and IPv4 client pools. As a consequence, dual-stack hosts cannot see IPv4-only peers and vice versa.

Reproducible: Always

Steps to Reproduce:
1. Set up working IPv6 and IPv4 on host1.
2. Create torrent, announce on IPv6- and IPv4-enabled tracker like <http://tracker.ccc.de/announce>.
3. Open torrent on exclusively IPv4-connected host2.

Actual Results:  
host1 and host2 get a distinct set of peers (IPv6 pool and IPv4 pool), even though they are theoretically interconnectible. Due to the current lack of popularity of IPv6, host1 may not see any peers at all.

Expected Results:  
host1 contacts tracker both via IPv4 and IPv6, thus acquiring both IPv6 and IPv4 peer addresses and announcing both its IPv4 and IPv6 address to the tracker.
Comment 1 Joris Guisson 2011-03-04 10:13:41 UTC
In the advanced settings, is do not use KIO for tracker announces enabled ?
Comment 2 Benedikt Gollatz 2011-03-04 10:59:59 UTC
It is. Unfortunately, tracker.ccc.de appears not to listen on IPv6 any more (TCP reset), so I cannot test whether the behaviour changes if I disable that option.
Comment 3 Joris Guisson 2011-10-29 12:54:37 UTC
Git commit 54cccc03ad6ea6cb9bcbd26d5adf8da576bfafea by Joris Guisson.
Committed on 29/10/2011 at 14:53.
Pushed by guisson into branch 'master'.

Fill ip parameter of tracker announce with current IPv6 address if not filled in by user in settings

BUG: 267551

M  +1    -0    ChangeLog
M  +127  -120  src/tracker/httptracker.cpp
M  +26   -0    src/util/functions.cpp
M  +3    -0    src/util/functions.h

http://commits.kde.org/libktorrent/54cccc03ad6ea6cb9bcbd26d5adf8da576bfafea