MantisBT - Doomseeker
View Issue Details
0003531Doomseeker[All Projects] Suggestionpublic2018-10-04 20:162019-07-20 06:36
Master O 
WubTheCaptain 
nonefeatureN/A
confirmedopen 
 
 
0003531: IPV6 Support for Doomseeker
In relation to the report below regarding IPv6 support for Zandronum:

https://zandronum.com/tracker/view.php?id=214 [^]

Doomseeker will also need IPv6 support accordingly.
No tags attached.
related to 0000214acknowledged  Zandronum IPV6 Support for Skulltag on All OSes it runs on 
related to 0003494closed Pol M Doomseeker Master server connections timeout on OpenBSD (UDP packets not sent on Qt5) 
parent of 0003287closed Zalewa Doomseeker IRC: IRC network address hostname lookups use IPv4 when IPv6 connectivity is available 
Issue History
2018-10-04 20:16Master ONew Issue
2018-10-05 00:36Blzut3Relationship addedrelated to 0000214
2018-10-05 00:36Blzut3Statusnew => acknowledged
2018-10-05 00:37Blzut3ProjectZandronum => Doomseeker
2018-10-05 05:45WubTheCaptainNote Added: 0019910
2018-10-05 05:45WubTheCaptainStatusacknowledged => feedback
2018-10-05 05:45WubTheCaptainOSAll Applicable OS-es =>
2018-10-05 05:50WubTheCaptainRelationship addedchild of 0003287
2018-10-05 05:50WubTheCaptainRelationship replacedparent of 0003287
2018-10-05 05:54WubTheCaptainNote Added: 0019911
2018-10-05 12:36Master ONote Added: 0019917
2018-10-05 12:36Master OStatusfeedback => new
2018-10-05 17:13WubTheCaptainNote Added: 0019918
2018-10-05 17:13WubTheCaptainStatusnew => acknowledged
2018-10-05 18:04WubTheCaptainPrioritynormal => low
2018-10-05 22:36Blzut3Note Added: 0019920
2018-10-06 08:58WubTheCaptainStatusacknowledged => confirmed
2018-10-06 09:00WubTheCaptainTarget Version => 1.3
2018-10-13 18:12WubTheCaptainNote Added: 0020111
2018-10-13 23:55Blzut3Note Added: 0020120
2018-12-17 05:40WubTheCaptainNote Added: 0020265
2018-12-17 05:44WubTheCaptainNote Added: 0020266
2018-12-17 05:44WubTheCaptainNote Edited: 0020266bug_revision_view_page.php?bugnote_id=20266#r12318
2018-12-17 05:47WubTheCaptainNote Edited: 0020266bug_revision_view_page.php?bugnote_id=20266#r12319
2019-02-14 19:23Master ONote Added: 0020389
2019-02-14 21:56Pol MNote Added: 0020390
2019-02-15 03:44WubTheCaptainPrioritylow => none
2019-02-15 03:48WubTheCaptainNote Added: 0020391
2019-02-15 03:49WubTheCaptainNote Edited: 0020391bug_revision_view_page.php?bugnote_id=20391#r12429
2019-02-15 13:57AOSPNote Added: 0020392
2019-04-24 03:02WubTheCaptainRelationship addedchild of 0003494
2019-05-01 16:55WubTheCaptainNote Added: 0020598
2019-05-01 16:55WubTheCaptainRelationship replacedrelated to 0003494
2019-06-19 00:58WubTheCaptainAssigned To => WubTheCaptain
2019-06-19 00:58WubTheCaptainStatusconfirmed => assigned
2019-06-19 00:58WubTheCaptainStatusassigned => confirmed
2019-07-20 06:36ZalewaTarget Version1.3 =>

Notes
(0019910)
WubTheCaptain   
2018-10-05 05:45   
What specifically?

  • Doomseeker's IRC client defaults to IPv6 hostname lookups since 0003287 (to be released with Doomseeker 1.2).
  • doomseeker.drdteam.org has no AAAA records in DNS (site issue), particularly IP2C autoupdates and software release downloads (automatic updates on Windows).
  • Game (engine) plugin architecture?
  • Master server support (software, server administration?)


Last two I'm not familiar with.
(0019911)
WubTheCaptain   
2018-10-05 05:54   
I'm actually more certain the server browser already supports IPv6, at least for Custom Servers (1.1) / Pinned Servers (1.2). Just tested.
(0019917)
Master O   
2018-10-05 12:36   
WubTheCaptain, I was referring to Master Server support, which is why I referencedhttps://zandronum.com/tracker/view.php?id=214 [^] in the first place.

Torr also said in that particular thread that the master server protocol needs IPv6 support as well.
(0019918)
WubTheCaptain   
2018-10-05 17:13   
I took a quick look at the source.

  • Server refresher assumes IPv4.
  • IP2C's isLANAddress() and isLocalhostAddress() only support IPv4 so far.
  • Something odd in ServerListRowHandler::fillItem() assumes IPv4.
  • Master server querying (src/core/serverapi/masterclient.cpp) only works with IPv4 largely.


Perhaps Blzut3 or Zalewa can create the appropriate children of this ticket.
(0019920)
Blzut3   
2018-10-05 22:36   
Can confirm that IPv6 is not supported in the server browser. In fact I had to specifically write code to reject IPv6 from Chocolate Doom. This was a long time ago so while it might be simpler now though all the refresher rewrites back then there was an issue with Qt changing the socket type automatically and potentially needing to manage two sockets.

Addressing this is now feasible since I do have IPv6 with my ISP.

Outside of the server browser things should more or less just depend on Qt so should support IPv6 unless we made a mistake.
(0020111)
WubTheCaptain   
2018-10-13 18:12   
[18:10:11] New Zandronum LAN server detected: ::ffff:127.0.0.1:50666
[18:10:11] New Zandronum LAN server detected: ::ffff:127.0.0.1:50667


Lack of IPv6 support in Zandronum probably meant why I could never directly join servers I created at Create Game from the server browser.

Oh, and that address (instead of ::1) is deprecated by an RFC, I believe.
(0020120)
Blzut3   
2018-10-13 23:55   
That address is IPv4 mapped IPv6. Which is a kernel feature that allows IPv6 sockets to accept v4 connections transparently. So while unconventional notation it is not the same as ::1, it is however the same as 127.0.0.1. I think you're thinking of another similar range.

As for not being able to join games that you create through the server browser on v4. That's likely a NAT "problem." Just discovered that my router has this issue. In short the router is detecting that you're trying to connect to your external IP (i.e. it) and looping it back early. As a result the connection appears to be coming from your router's LAN IP instead of the external one and only L2 forwarding is applied. At least that's what I think is going on.
(0020265)
WubTheCaptain   
2018-12-17 05:40   
Quote from Blzut3
I think you're thinking of another similar range.


Am I?

I had commited a change to another tool called "6rd.sh" on Sun Jul 9 09:26:23 2017 +0000 with this comment:

Quote from commit 07e8c7e507e9dd87ea2865eb36328487fcbc4be9
IPv4-compatible IPv6 addresses have been deprecated by RFC 4291 (section 2.5.5.1).


https://tools.ietf.org/html/rfc4291#section-2.5.5.1 [^]
(0020266)
WubTheCaptain   
2018-12-17 05:44   
(edited on: 2018-12-17 05:47)
Quote from WubTheCaptain
Quote from Blzut3
I think you're thinking of another similar range.


Am I?


You're right. "IPv4-Compatible IPv6 Addresses" (section 2.5.5.1) such as ::0000:127.0.0.1 are deprecated, but IPv4-Mapped IPv6 Addresses (section 2.5.5.2) such as ::ffff:127.0.0.1 are not deprecated and remain valid.

(0020389)
Master O   
2019-02-14 19:23   
Any progress on this issue since December 2018?
(0020390)
Pol M   
2019-02-14 21:56   
I have not seen much movement around this subject, so I'd say nope :)
I'd deal with it, but I do not have access to an IPv6 router and I do not know much about this kind of issues, so until that changes, I will not pick this one.
(0020391)
WubTheCaptain   
2019-02-15 03:48   
(edited on: 2019-02-15 03:49)
My current router (UniFi Security Gateway) also doesn't have IPv6-support in software, and although I have a PC Engines apu2 available with OpenBSD, I haven't set it up for routing (with 6rd). I also don't have the knowledge to work on the code in that area.

I'd hope (or I could almost claim "we'd hope") someone could work on this → priority "none". This may change appropriately if someone starts working on the issue.

Don't get me wrong, I'd be very interested to get this issue resolved as well.

(0020392)
AOSP   
2019-02-15 13:57   
I've had IPv6 support for God-knows how many years now, so I'd be interested in this. The first problem, as already mentioned, is adding IPv6 support to the master protocol - although I don't think that would be too hard? That's more something to do discuss in the Zandronum ticket tho, but I'll play about with it, as I think I have a few ideas...
(0020598)
WubTheCaptain   
2019-05-01 16:55   
0003494 was resolved with a hacky workaround forcing binding to 0.0.0.0 (IPv4) and needs to be removed later.