DukeLupus / dlFilter

dlFilter is a text filtering script for mIRC. It is created with both chat and file sharing channels in mind. dlFilter removes ads, requests, annoying KeepTrack, mp3 play & away messages and much more. Also, dlFilter can send notices from fileservers to separate window and group @find results, allowing them to be easily viewed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

update check fails DNS lookup

dny238 opened this issue · comments

When my mIRC connects to a server, dlFilter errors into the server i/o window
[09:19] [dlFilter] Error: DLF.Socket.Update: raw.githubusercontent.com: connecting: DNS error resolving hostname: [0] Unknown Error

Even added a hosts file entry to try to point that towards github.com and it's still not working. I can browse to that in Chrome, so... no clue.

That is very weird. One more thing to try would be "ipconfig /flushdns" in cmd.

What does "/dns -h githubusercontent.com" in mIRC get?

C:\Users\rob>ping raw.githubusercontent.com
Pinging github.map.fastly.net [151.101.68.133] with 32 bytes of data:
/dns -h githubusercontent.com
[11:54] * Dns resolving githubusercontent.com
[11:54] * Dns unable to resolve address githubusercontent.com
/dns -h raw.githubusercontent.com
[11:56] * Dns resolving raw.githubusercontent.com
[11:56] * Dns unable to resolve address raw.githubusercontent.com

Sorry I have not been able to comment whilst away from home.

My results are as follows:

/dns -h githubusercontent.com
* Dns resolving githubusercontent.com
* Dns unable to resolve address githubusercontent.com
/dns -h raw.githubusercontent.com
* Dns resolving raw.githubusercontent.com
* Dns resolved raw.githubusercontent.com to 151.101.64.133, 151.101.0.133, 151.101.192.133, 151.101.128.133

The primary problem appears to be that, for @dny238, mIRC is not resolving raw.githubusercontent.com. This would seem to be a local issue. You might want to try /dns -4h raw.githubusercontent.com and /dns -6h raw.githubusercontent.com and post the results here to try to identify whether it is an IP v4/v6 issue.

It would also help to know whether you use a socks or web proxy (i.e. in a corporate environment) as the current update implementation doesn't handle that.

Also, please post your mIRC version, and confirm whether you can reach https://raw.githubusercontent.com/DukeLupus/dlFilter/master/dlFilter.version and https://raw.githubusercontent.com/DukeLupus/dlFilter/master/dlFilter.mrc from your browser.

A potential secondary problem is that when dlFilter is trying to resolve the IP it gets an error and displays it on the console. I am unclear whether @dny238 considers it to be an issue or not - and if it is an issue what a better solution would be.

I am assuming that the "server io" window @dny238 is referring to is the window with the server host name as title. This seems to me to be an appropriate place to display such an error (though as an alternative we could open a custom window called @dlFilter-Errors for such things), but I am open to suggestions if this is not considered the best placeto display this error.

The error message could also provide a better explanation i.e. that dlFilter was checking for updates and couldn't reach the update site. And if we can work out why @dny238 is having the issue, and what to do to resolve it, we could also provide pointers on how to fix it.

P.S. You can turn of update checking in dlF options. But you would then need to check for updates manually.

It's IPv6 issue!

/dns -4h raw.githubusercontent.com
[10:22] * Dns resolving raw.githubusercontent.com
[10:22] * Dns resolved raw.githubusercontent.com to 151.101.68.133
/dns -6h raw.githubusercontent.com
[10:22] * Dns resolving raw.githubusercontent.com
[10:22] * Dns unable to resolve address raw.githubusercontent.com

Can you fix it?

I can check why I can't resolve an ipv6, but if ipv4 works that should be enough, right?

This is most likely a mIRC bug - but I will need a bit more diagnostic information to report it to Khaled.

Can you please open a Command Prompt window and run "ipconfig /all" and "route print" and post the results here?

I could probably tweak the sockets code to create a workaround to this bug, but since I plan to remove the sockets based approach to downloading updates and replace it with a $url based approach, I am not going to put the effort into this.

Here's the IPConfig

Z:\> ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : DESKTOP-V751QMM
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : hsd1.co.comcast.net.

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : hsd1.co.comcast.net.
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
   Physical Address. . . . . . . . . : 00-1F-BC-0E-2D-F5
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2601:282:4201:5350:bc9c:6160:b611:1fd0(Preferred)
   Temporary IPv6 Address. . . . . . : 2601:282:4201:5350:8fc:1707:a382:5de0(Deprecated)
   Temporary IPv6 Address. . . . . . : 2601:282:4201:5350:28e4:d0ff:75fc:8cce(Deprecated)
   Temporary IPv6 Address. . . . . . : 2601:282:4201:5350:4454:f19c:d446:5982(Deprecated)
   Temporary IPv6 Address. . . . . . : 2601:282:4201:5350:6814:5e15:5a69:8823(Deprecated)
   Temporary IPv6 Address. . . . . . : 2601:282:4201:5350:f1cf:8e7b:bc03:52ad(Preferred)
   Link-local IPv6 Address . . . . . : fe80::bc9c:6160:b611:1fd0%3(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.2.145(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Wednesday, December 11, 2019 7:19:58 PM
   Lease Expires . . . . . . . . . . : Tuesday, December 17, 2019 7:45:13 AM
   Default Gateway . . . . . . . . . : fe80::9e3d:cfff:fe9b:649a%3
                                       192.168.2.1
   DHCP Server . . . . . . . . . . . : 192.168.2.1
   DHCPv6 IAID . . . . . . . . . . . : 33562556
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-6C-25-A9-00-1F-BC-0E-2D-F5
   DNS Servers . . . . . . . . . . . : 2001:558:feed::1
                                       2001:558:feed::2
                                       208.67.220.220
                                       208.67.222.222
                                       8.8.8.8
                                       2001:558:feed::1
                                       2001:558:feed::2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Npcap Loopback Adapter:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Npcap Loopback Adapter
   Physical Address. . . . . . . . . : 02-00-4C-4F-4F-50
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::443c:f8bf:9ec:48f0%16(Preferred)
   Autoconfiguration IPv4 Address. . : 169.254.72.240(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 520224844
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-6C-25-A9-00-1F-BC-0E-2D-F5
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
   Physical Address. . . . . . . . . : 00-26-83-36-B9-DE
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Here's the routeprint

===========================================================================
Interface List
  3...00 1f bc 0e 2d f5 ......Intel(R) 82574L Gigabit Network Connection
 16...02 00 4c 4f 4f 50 ......Npcap Loopback Adapter
  7...00 26 83 36 b9 de ......Bluetooth Device (Personal Area Network)
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.2.1    192.168.2.145     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      169.254.0.0      255.255.0.0         On-link    169.254.72.240    281
   169.254.72.240  255.255.255.255         On-link    169.254.72.240    281
  169.254.255.255  255.255.255.255         On-link    169.254.72.240    281
      192.168.2.0    255.255.255.0         On-link     192.168.2.145    281
    192.168.2.145  255.255.255.255         On-link     192.168.2.145    281
    192.168.2.255  255.255.255.255         On-link     192.168.2.145    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link     192.168.2.145    281
        224.0.0.0        240.0.0.0         On-link    169.254.72.240    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link     192.168.2.145    281
  255.255.255.255  255.255.255.255         On-link    169.254.72.240    281
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  3    281 ::/0                     fe80::9e3d:cfff:fe9b:649a
  1    331 ::1/128                  On-link
  3    281 2601:282:4201:5350::/60  fe80::9e3d:cfff:fe9b:649a
  3    281 2601:282:4201:5350::/64  On-link
  3    281 2601:282:4201:5350:8fc:1707:a382:5de0/128
                                    On-link
  3    281 2601:282:4201:5350:28e4:d0ff:75fc:8cce/128
                                    On-link
  3    281 2601:282:4201:5350:4454:f19c:d446:5982/128
                                    On-link
  3    281 2601:282:4201:5350:6814:5e15:5a69:8823/128
                                    On-link
  3    281 2601:282:4201:5350:bc9c:6160:b611:1fd0/128
                                    On-link
  3    281 2601:282:4201:5350:f1cf:8e7b:bc03:52ad/128
                                    On-link
  3    281 fe80::/64                On-link
 16    281 fe80::/64                On-link
 16    281 fe80::443c:f8bf:9ec:48f0/128
                                    On-link
  3    281 fe80::bc9c:6160:b611:1fd0/128
                                    On-link
  1    331 ff00::/8                 On-link
  3    281 ff00::/8                 On-link
 16    281 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

Sorry - but can you please do a couple more things for me:

  1. Can you please test /dns -4 and -6 again, and then look in the server window and tell me whether you are connected to the server on IPv4 or IPv6?
  2. Then please go to mIRC options / Connect / Options / Ports and say whether the checkbox is ticked for "Enable IPv6 support and prioritize IPv6 over IPv4 connections"?

Thx.

It is not checked.

[00:54] -clarent.ca.us.irchighway.net- *** Looking up your hostname...
[00:54] Caps supported: away-notify extended-join account-notify multi-prefix sasl tls userhost-in-names
[00:54] -clarent.ca.us.irchighway.net- *** Could not resolve your hostname: Domain name not found; using your IP address (2601:282:4201:5350:bc9c:6160:b611:snip) instead.
[00:54] Caps set: away-notify extended-join account-notify multi-prefix userhost-in-names
[00:54] -clarent.ca.us.irchighway.net- Welcome to irchighway!
-
[00:54] Welcome to the irchighway IRC Network dny238!dny238@2601:282:4201:5350:bc9c:6160:b611:snip
[00:54] Your host is clarent.ca.us.irchighway.net, running version InspIRCd-2.0

does this help you determine how I'm connecting?

Connecting via IPv6 - WikiChip suggests that IPV4 may be completely disabled when you are connected via IPv6 (which is dumb! since IPv6 is for the server connection only and you may want to do a /dns or socket connection on IPv4 to a different IP address at the same time.

Reported as a potential bug @ https://forums.mirc.com/ubbthreads.php/topics/266476

@dny238 Can you please advise how you start the IPv6 connection to irchighway? DO you issue a /server -6 command either manually or via a script?

I don't specify the /server -6 option. Wasn't aware of it.
Don't see any thing about IPv6 turned on in my irc client.
Thanks!

So how do you connect? Is it automatic when you start mIRC? Do you have a script which makes it automatic or do you use mIRC options to make it automatic?

In tools->connect->options the
'connect on startup'
option is checked.
reconnect on disconnect is also checked.

It seems to reconnect to the last server I connected to. I haven't ever used the -6 option as I wasn't aware of it until now.

@dny238 Can you please try "/dns irc.irchighway.net", "/dns -4 irc.irchighway.net", "/dns -6 irc.irchighway.net" & "/dns -46 irc.irchighway.net" and post the responses here?

Also please do the above when connected to irc and when disconnected and see if it makes a difference.

In that order....

Connected

/dns irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1
/dns -4 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 66.207.167.12
/dns -6 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1
/dns -46 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1, 66.207.167.12

Disconnected IDENTICAL

/dns irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1
/dns -4 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 66.207.167.12
/dns -6 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1
/dns -46 irc.irchighway.net
* Dns resolving irc.irchighway.net
* Dns resolved irc.irchighway.net to 2001:41d0:8:9403::1, 66.207.167.12

Thanks - we are narrowing this down. /dns should be the same as /dns -46 but it isn't. On my system, with only IPv4 connectivity, /dns is equal to /dns -4. On your with IPv4 and IPv6 connectivity, and IPv6 NOT prioritised, /dns is equivalent to /dns -6 - but no idea why.

I am guessing that this IS one or more mIRC issues. Waiting for Khaled to take a look and respond.

Sorry to keep asking, but can you open a cmd window and do "nslookup irc.irchighway.net" and post the results? I am interested to see whether nslookup uses the IPv4 or IPv6 DNS servers. Then do a "ping irc.irchighway.net" and "ping -4 irc.irchighway.net" and "ping -6 irc.irchighway.net" so I can see what version of IP ping uses as a default. Thx.

I think we are now close enough to a diagnosis to try a fix:

Can you try making the following changes to your local copy of dlFilter to see if it fixes the update issue:

Somewhere around line 5145 in dlFilter.mrc are the following lines:

  var %flag
  if (%protocol == https) %flag = -e
  sockopen %flag %socket %host %port

We need to change these to:

  var %flag -46
  if (%protocol == https) %flag = %flag $+ e
  sockopen %flag %socket %host %port

Then see if you can check for an update.

That works! We can close this

mIRC issue: stupidly does not DNS query IPv4 addresses by default if connection is IPv6.

Fixed with 7b8b8e3.