From WikiChip
Difference between revisions of "mirc/ipv6"
< mirc

(mIRC option)
Line 18: Line 18:
  
 
This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default, which should not be something you want to do.
 
This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default, which should not be something you want to do.
 +
 +
== Notes ==
 +
 +
if you use /sockopen -d without -4 and/or -6 switches, it will base its DNS resolution on whether the bind address is ipv4/ipv6.
  
 
== Issues ==
 
== Issues ==

Revision as of 09:53, 20 December 2019


mIRC has a pretty weird implementation of ipv6 and it is not really well integrated with the scripting language.

/server -6 (without -4) & ipv6 server address

When you use /server -6 (without -4) or connect to an ipv6 ip address (passing an hostname which eventually resolve to an ipv6 address or passing an ipv6 address), this puts the whole status window in an ipv6 mode, meaning that disconnecting and reconnecting, regardless of how you do it, will attempt to connect with ipv6.

It must be noted that in the above situation, ipv4 is simply disabled by default, any script which has to resolve ipv4 addresses run from that status window will fail, by default, this is breaking backward compatibility.

Such scripts can now be updated by using the -4 switches on either /server, /dns, or /sockopen, which force it to 'support' ipv4

mIRC option

Remember, this option can be enabled/disabled at alt + o > Connect > options > ports button > Enable IPv6 support and prioritize IPv6 over IPv4 connections.

In this mode, IPv6 has priority but IPv4 is not disabled.

This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default, which should not be something you want to do.

Notes

if you use /sockopen -d without -4 and/or -6 switches, it will base its DNS resolution on whether the bind address is ipv4/ipv6.

Issues

There are severals issues with this:

1) If you're using the /server -6 (or equivalent) option, it just breaks old scripts which couldn't use the -4 switch before to connect to ipv4 ip address.

2) All in all, the only way to correctly get ipv4 fallback on any ipv6 connection is to never use /server -6 nor pass an ipv6 ip address, which seriously limits how you can connect: you are forced to pass an hostname. It does not make sense to see mirc being connected using ipv6 with ipv4 fallback support because we passed an hostname which resolved to ipv6 address and see mIRC fail on ipv4 just because we passed the ipv6 directly to /server.