|Anonymous | Login | Signup for a new account||2018-03-23 20:23 UTC|
|My View | View Issues | Change Log | Roadmap | Doomseeker Issue Support Ranking | Rules | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003287||Doomseeker||[All Projects] Bug||public||2017-10-03 18:58||2018-02-18 19:07|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Platform||x86_64||OS||Debian GNU/Linux||OS Version||buster/sid|
|Target Version||Fixed in Version|
|Summary||0003287: IRC: IRC network address hostname lookups use IPv4 when IPv6 connectivity is available|
|Description||Doomseeker includes a small IRC client.|
Connecting to an IRC network with DNS hostname lookups from IRC network address seems to prefer IPv4 over IPv6, even while IPv6 connectivity was available.
|Steps To Reproduce|
|Additional Information||Both the local and remote hosts had dual-stack IPv4 and IPv6 connectivity in this case. The DNS holds both A and AAAA records.|
Directly inputting an IPv6 address to the defined IRC network's address field works for connecting over IPv6.
Using a third-party IRC client such as Irssi, HexChat or WeeChat works as intended and resolves IPv6 first when the host has IPv6-connectivity.
Example IRC networks currently with dual-stack IPv4 & IPv6 connectivity:
Attached ip-addr.txt shows my configured network interfaces (without routes) from iproute2.
|Attached Files||ip-addr.txt [^] (1,341 bytes) 2017-10-03 18:58 [Show Content]|
This was specifically programmed to do so to avoid some "hostname look up problems":https://bitbucket.org/Doomseeker/doomseeker/commits/920ac7da8535c9abaac88801b004fee098c32282#Lsrc/irc/ircclient.cppT103 [^]
Since this was 2010 and Qt has underwent new version releases since then, I'll try to see if this is still necessary. Sending the host name directly to socket.connectToHost() will refer the choice to Qt which, I hope, will make the right decision.
If you do so with an invalid domain and quit the program before the resolution errors out, you will be stuck with doomseeker process running forever. See this commit for more details:https://bitbucket.org/Doomseeker/doomseeker/commits/fb1f296bfbcffe767f3c4e6bda16ff9c5f0c6b95 [^]
edited on: 2018-02-18 18:45
I figured it out.
Process is getting stuck on domain names lookup because we never "delete QApplication".
See this "minimal" example:https://bitbucket.org/zalewa/dotfiles/commits/5c2545284971ae6924fd42466041e37d8913336b#Ldev/qt/hostlookup/main.cppT83 [^]
Work on this will progress in 0003376
This commit will directly use the host name to connect the TCP socket:https://bitbucket.org/Doomseeker/doomseeker/commits/53e0b57c8f839ce0fee7ea2ffe4436f9b56f7b23 [^]
I cannot promise that this will result in IPv6 being preferred over IPv4, but at least Qt does the decision now, not us.
|Only registered users can voice their support. Click here to register, or here to log in.|
|Supporters:||No one explicitly supports this issue yet.|
|Opponents:||No one explicitly opposes this issue yet.|
|2017-10-03 18:58||WubTheCaptain||New Issue|
|2017-10-03 18:58||WubTheCaptain||File Added: ip-addr.txt|
|2018-02-18 13:05||Zalewa||Note Added: 0019069|
|2018-02-18 13:05||Zalewa||Assigned To||=> Zalewa|
|2018-02-18 13:05||Zalewa||Status||new => acknowledged|
|2018-02-18 13:27||Zalewa||Note Added: 0019070|
|2018-02-18 18:39||Zalewa||Note Added: 0019071|
|2018-02-18 18:44||Zalewa||Relationship added||related to 0003376|
|2018-02-18 18:44||Zalewa||Status||acknowledged => assigned|
|2018-02-18 18:44||Zalewa||Note Edited: 0019071||View Revisions|
|2018-02-18 18:45||Zalewa||Note Edited: 0019071||View Revisions|
|2018-02-18 19:07||Zalewa||Note Added: 0019073|
|2018-02-18 19:07||Zalewa||Status||assigned => needs testing|
Questions or other issues? Contact Us.
|Copyright © 2000 - 2018 MantisBT Team|