That's absolutely incorrect. Try testing it first yourself. (For the part I was talking about)
Funny, actually *ALL* of my IRC connections are IPv6. I connect to IPv4 addresses via /sockopen many times daily, every day, from these IPv6 connections. I *did* test this before responding with mIRC's actual behaviour.
This can be repeated as many times as you want, and on each connection it will based on that connection type (ipv4 or ipv6)
This is NOT the behaviour I see.
On an IPv6 server with no special adapter settings:
/dns google.com
(00:56:36) * Dns resolving google.com
-
(00:56:36) * Dns resolved google.com to 72.14.204.147
-
Same goes for IPv4 connections, naturally.
On an existing IPv
4 connection, change your adapter settings to bind to an IPv6 only adapter (NOT priority mode) and retest:
(00:58:17) * Dns resolving google.com
-
(00:58:17) * Dns unable to resolve address google.com
-
Same thing happens even on an IPv6 connection. It will stop working when you unbind from the IPv6 only adapter.
It has nothing to do with the active connection; it has everything to do with the interface mIRC is bound to in your adapter settings.
/sockopen behaves the same way, it's just easier to show with /dns (/dns holds the underlying code that's of concern here anyway).
edit:
We are actually both right:I initially didn't notice you used /server -6. Using -4 or -6 in /server ultimately binds your active connection to a specific adapter (the first available IPv4 or 6 adapter in the list). It is effectively a way to override the global setting with a connection local one. There is therefore both a global and local setting-- you were right about the local one, I was right about the global one. HOWEVER:
Using -6 for that connection means that
IPv4 does not work in that connection. This is
expected behaviour as well. /dns
will not function on IPv4 addresses inside of a connection with /server -6. Again,
this is expected behaviour. Because of this, it will be impossible to resolve IPv4 hosts. The issue isn't about bind ips, it's about resolving hosts. IPv4 is
disabled in a connection bound to an IPv6 only adapter. /server -6 does this (local for a connection). This is by design. I'm not a huge fan of the design, but it was discussed thoroughly when the feature was introduced. Even forcing IPv4 with /dns -4 will fail to resolve a host in such a connection.
In that sense, mIRC's behaviour with /sockopen is correct (in that it is by design). In a connection that it bound to an IPv6 adapter (either globally or locally via /server -6), IPv4 will be completely and explicitly disabled. /sockopen will not resolve the host because it can't (again, by design) use IPv4 here. Therefore:
you should probably not be using /server -6. It has a very specific usage.
Now, the "fix": Use PRIORITY MODE (Alt+O -> Connect -> Options -> Ports), not /server -4/-6. This mode will FALL BACK to IPv4 when 6 isn't available. /dns will continue to function. This is how *I* am able to /dns google and run your /goog script in my IPv6 connections.