Subject: Re: bug#40343: 28.0.50; dns-set-servers fails on IPv6 available Windows

From: Robert Pluim <[email-masked]>
Date: Tue, 31 Mar 2020 16:28:36 +0200

>>>>> On Tue, 31 Mar 2020 23:22:33 +0900, Kazuhiro Ito <[email-masked]> said:

    >> Does this work for you:
    >> 
    >> diff --git a/lisp/net/dns.el b/lisp/net/dns.el
    >> index 78d4827162..fd2ea99ac6 100644
    >> --- a/lisp/net/dns.el
    >> +++ b/lisp/net/dns.el
    >> @@ -328,7 +328,7 @@ dns-set-servers
    >> (call-process "nslookup" nil t nil "localhost")
    >> (goto-char (point-min))
    >> (re-search-forward
    >> -	   "^Address:[ \t]*\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" nil t)
    >> +	   "^Address:[ \t]*\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)\\|\\([[:xdigit:]:]*\\)" nil t)
    >> (setq dns-servers (list (match-string 1))))))
    >> (when (fboundp 'network-interface-list)
    >> (setq dns-servers-valid-for-interfaces (network-interface-list))))

    Kazuhiro> I needed to modify your regexp as below.

Ah yes, I got the grouping wrong.

    Kazuhiro> Additionally, I have
    Kazuhiro> question that whether we should consider the case nslookup doesn't
    Kazuhiro> return DNS server address, i.e. the case that re-search-forward didn't
    Kazuhiro> match anything.  In that case, (match-string 1) at next line returns
    Kazuhiro> inconstant value.  But according to docstring of dns-set-servers,
    Kazuhiro> dns-servers should be set to nil.

The dns lookup will fail in either case, no? So Iʼm not sure it really
matters.

Robert