On torsdagen den 16 december 2010, you stated the following:
> after installing a new debian squeeze system, prayer fails to start with
> [...]
>    Error was: [os_bind_inet_socket()] bind() failed: Address already in use
> Aborted
> 
> a deep inspection shows that the problem is that no IPv6 Routers are (in
> my environment) present.

Actually, the bug is that Prayer tries to bind IPv4 and IPv6 sockets 
separately without setting the IPV6_V6ONLY flag. That fails because when the 
sysctl net.ipv6.bindv6only is set to 0 (after a long debate, the default value 
on Debian), IPv6 sockets listening on [::] will also handle IPv4 packets (with 
the remote address looking like ::ffff:1.2.3.4).

So the problem occurs on dual-stack systems whether IPv6 actually works or 
not, but not on systems without any IPv6 support at all. But thanks for 
reporting anyway. I should have noticed it myself but for some reason never 
really tried starting Prayer with net.ipv6.bindv6only=0.

To work around the problem one can set net.ipv6.bindv6only=1 in 
/etc/sysctl.conf (will affect all software on the system) or set use_http_port 
to 0.0.0.0:port or :::port as you suggest.

-- 
Magnus Holmgren        holmg...@debian.org
Debian Developer 

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to