tags 573801 + ipv6 moreinfo
thanks

On Sun, 14 Mar 2010 01:35:44 +0100
"Marc Dequènes (Duck)" <[email protected]> wrote:

> Netbase has recently introduced the sysctl-setting
> net.ipv6.bindv6only=1 in /etc/sysctl.d/bindv6only.conf and this
> setting will probably be the default in squeeze.
> 
> This setting disable the automatic bind-mapping from ipv6 to ipv4,  
> then if you want to listen on both protocol, you've got to bind on  
> both. The former behavior is broken as it does not allow useful  
> combinations and does not respect standards established on all other  
> OSes. With the 'inet6' ejabberd setting then it listen on ipv6 only,  
> which is not what is expected.
> 
> More info on the problem here :
>    http://lists.debian.org/debian-devel/2009/10/msg00541.html

I had a talk with one of upstream developers regarding this issue
and he explained me that no modification to ejabberd is required
to support disjoint IPv4 and IPv6 listeners at the same time.

To do this it suffices to duplicate the block of settings for
each listener which has to listen for both protocols,
and configure one listener of each resulting pair to listen for IPv6
and another one to listen for IPv4. This can be done either by using
the "inet6" option of by specifying appropriate IP addresses as
ejabberd is now able to figure out the necessary protocol from the
format of an IP address assigned to the listener as described in [1].

So, to implement support for c2s connections using both IPv4 and IPv6
on all available interfaces, one would write in the config file:

{listen,
  {{5222, "0.0.0.0"}, ejabberd_c2s, [...]},
  {{5222, "::"}, ejabberd_c2s, [...]},
  ...
}

with the first c2s listener supporting IPv4 and the second -- IPv6.

If you have an access to a server with mixed IPv4/IPv6 connectivity,
please test and report back.

1. http://www.process-one.net/en/ejabberd/guide_en#listened



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to