My favorites | Sign in
Project Home Wiki Issues Source
New issue   Search
  Advanced search   Search tips   Subscriptions
Issue 68: IPv6 support
22 people starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  MWild1
Closed:  Nov 2011

Sign in to add a comment
Reported by, Feb 20, 2009
What steps will reproduce the problem?
1. Run Prosody on an IPv6 enabled system.
2. Try to connect to the server over IPv6 ( telnet ::1 5222 )
3. Watch the connection fail.

What is the expected output? What do you see instead?
Expected is that Prosody binds to IPv6 adresses too. It currently does not.

What version of the product are you using? On what operating system?
Mercurial, with the following version:
changeset:   831:e2d2095705dc
on Ubuntu 8.04.2

Please provide any additional information below.
No additional information. If more information is needed, please reply ;-)
Jun 2, 2009
Project Member #1 MWild1
Confirmed, the issue seems to be in LuaSocket:

> return socket.bind("::1", 1235)
nil	host not found

I have tonight emailed the LuaSocket developer, though I suspect the solution sees me
fixing the code, and distributing a patched version until a new one is released :(
Summary: IPv6 support
Status: Accepted
Owner: MWild1
Jun 11, 2009
I'm currently patching LuaSocket to accept IPv6 - I got Prosody to bind to IPv6
sockets tonight. Coordinating with Diego to get a more generally-usable and
upstream-friendly API for sockets and resolver; it's always nice to push changes
Jun 11, 2009
Project Member #3 waqas20

"Bear with me."??? That was cruel.
Oct 27, 2009
Project Member #4 MWild1
Marking an an Enhancement rather than Defect. IPv6 is still a goal, but other
pressing things are taking my time at the moment.
Labels: -Type-Defect Type-Enhancement
Feb 15, 2010
#5 agoode
For easy reference, here are some links pertaining to the work on LuaSocket:

Things look a little stalled out, I might try to get things going on LuaSocket if I 
find some time.
Jun 15, 2010
#6 agoode
I think nixio might be a way forward, the large amount of duplicated code between luasocket and luasec is problematic by itself, and the fact that luasocket seems pretty frozen at this point suggests looking elsewhere.
Jul 19, 2010
@bernd.zeimetz: I am not familiar with the VCS that Nick's site uses - what is the clean way to get the diff in "batch" mode ? I'd be curious to give it a shot.
Jul 19, 2010
That site is running redmine, but Nick doesn't maintain a running hgserve instance (or didn't, last I checked).  You can find a tar.bz2 of his code at

Jul 30, 2010
Project Member #10 MWild1
(No comment was entered for this change.)
Labels: Milestone-0.9
Mar 5, 2011
Project Member #11 MWild1
Diego (LuaSocket author) informed me today he is currently working on this :)
Status: Started
Jun 13, 2011
Any news on this? having ipv6 support would really rock!
Oct 10, 2011
It works:

I'm running prosody-trunk nightly build 234 and selfbuild luasocket2-hg on debian now.
Oct 10, 2011
Project Member #14 MWild1

For c2s it certainly works... we're currently working on supporting it for outgoing s2s connections (requires a bit more work, resolving AAAAs, etc.). That said, I think it's mostly done...
Oct 10, 2011
Ah, this explains why I have only a IPv4-connection to the IPv6-ejabberd of a friend of mine.
Nov 19, 2011
fyi, there's also a fork of luasocket here:
Nov 19, 2011
Project Member #17 MWild1
Yes, thanks. Sam contacted me about it.

For the record I don't consider luasocket2-hg on a fork... the intent is for all of it to be merged into the official LuaSocket and a new release made. I'm encouraging Sam to do the same with his work.

Diego mentioned he was considering setting up an official LuaSocket repository, which would be a very good thing in my opinion.
Nov 27, 2011
Project Member #18 MWild1
Ok... today I pushed the last IPv6 functionality patches to trunk. They'll be available in nightly #248.

To get it working you'll currently need to build a custom LuaSocket from source. Once the code has been proven sane by initial testers then we'll work on something more manageable for a release (like getting it merged into the official LuaSocket).

Next add to the global section of your config: interface = { "*", "::" }
(the "*" is for IPv4, the "::" is for IPv6)

Full information on the latest changes is at:

Thanks goes to Florian for making most of this work :)
Status: Fixed
Nov 27, 2011
I'm running now nightly #248, c2s works, but no outgoing s2s.
Nov 28, 2011
The thread mentions that if you use "*" and "::" then IPv4 is preferred.  If you explicitly list the addresses (instead of wildcard), then the preference works correctly.
Apr 28, 2012
Project Member #22 MWild1
We just merged a bunch of new code into trunk (see ). This includes IPv6 enhancements, we now support it for all connections (XMPP and others), both incoming and outgoing. All you need to do are two things:

1) Install an IPv6 version of LuaSocket. An official LuaSocket release with our changes being worked on, and it should be out in time for the 0.9.0 release. In the meantime you can get it from (via git or the download links there).

2) Set use_ipv6 = true in the Prosody config. This will tell Prosody to use IPv6 by default for all its services.

Since we're on a countdown to the release now, testing and bug reports are very welcome (please open new tickets for specific issues).

Thanks all!
Apr 18, 2013
some news ?
any idea of a date for the integration of IPv6 LuaSocket on Debian ?

Apr 18, 2013
Project Member #24 MWild1
IPv6 support will be released with 0.9, which we are currently packaging.

The IPv6 capable version of LuaSocket sadly won't be the next version of Debian (wheezy). It'll be in the next one, so you only have a few years to wait :)

We will be releasing a packaged version of the new LuaSocket along with 0.9, that you will be able to install from along with Prosody.
Apr 18, 2013
well, there are backports. Providing updated packages for wheezy there is
not hard.
May 18, 2013
Project Member #26 MWild1
Just for anyone subscribed to this bug report but missed the release announcement, or who is reading it at some point in the future...

We have released 0.9.0beta1 with full IPv6 support. There is as yet still no official LuaSocket release with IPv6 (it's being worked on). Therefore we have released "lua-socket-prosody" packages for the time being.

Latest information on everything IPv6-related can be found here:

Thanks for everyone's patience and support while we worked on this! Hopefully other Lua projects can also now benefit from our work.

If you test the beta and find any issues, please report as separate bugs and we'll fix them as soon as we can.
Sign in to add a comment

Powered by Google Project Hosting