[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 238688] New: Does not listen on IPv4 when IPv4-mapped addresses
From: Modestas Vainius <modestas () vainius ! eu>
Date: 2010-05-24 13:42:53
Message-ID: bug-238688-17878 () http ! bugs ! kde ! org/
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=238688
Summary: Does not listen on IPv4 when IPv4-mapped addresses are
disabled
Product: ktorrent
Version: unspecified
Platform: Debian unstable
OS/Version: Linux
Status: NEW
Severity: normal
Priority: NOR
Component: general
AssignedTo: joris.guisson@gmail.com
ReportedBy: modestas@vainius.eu
Version: unspecified (using KDE 4.4.3)
OS: Linux
The bug is in libktorrent v4.0rc1. Please check the header of the following
patch for up-to-date details. Current header is copy & pasted bellow.
http://git.debian.org/?p=pkg-kde/kde-extras/libktorrent.git;a=blob;f=debian/patches/debian_disable_ipv6_only.diff
Description: Always bind IPv6 sockets to IPv4 as well
If net.ipv6.bindv6only = 1 (Linux defaults to net.ipv6.bindv6only = 0) is set
(a new default for Debian Linux since Squeeze), IPv6 sockets are not bound to
IPv4 by default. This made KTorrent not listen on IPv4 (see Debian bug).
However, an application may explicitly set IPV6_V6ONLY socket option to 0 in
order to enforce contrary behaviour on Linux and other systems which support
IPv4-mapped addresses.
.
Unfortunately, this fix is just a workaround and my attempt at damage control.
According to [1], not all IPv6 stacks support IPv4-mapped addresses (Windows,
OpenBSD, Debian kFreeBSD do not support them). What is more, as far as I can
tell, net.ipv6.bindv6only=1 like behaviour is default on *BSD. So KTorrent
without IPV6_V6ONLY explicitly set to 0 used to bind to IPv6-only addresses on
these systems. Only Linux and OSX default to net.ipv6.bindv6only=0 like
behaviour.
.
The proper fix would be to open two sockets: one AF_INET6 with IPV6_V6ONLY and
another AF_INET one. I recommend you to read the thread [2] about bindv6only=1
in Debian in order to better understand this issue.
.
1. http://en.wikipedia.org/wiki/IPv6#IPv4-mapped_addresses
2.
http://news.gmane.org/find-root.php?message_id=%3c20091024182431.GB13333%40bongo.bofh.it%3e
Author: Modestas Vainius <modax@debian.org>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581896
Origin: vendor
Forwarded: yes
Last-Update: 2010-05-24
Reproducible: Always
Regardless of bindv6only/IP6_V6ONLY setting, sockets appear as {tcp,udp}6 in
netstat. However, you may check if IPv4 works by trying to connect
127.0.0.1:<port> with e.g. telnet/netcat.
Again, the right solution is to open two sockets for both IPv6 and IPv4.
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic