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

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 03 Apr 2020 15:20:01 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40343: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40343
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#40343: 28.0.50; dns-set-servers fails on IPv6 available Windows
From: Robert Pluim <[email-masked]>
To: Kazuhiro Ito <[email-masked]>
Cc: [email-masked]
Date: Fri, 03 Apr 2020 17:19:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

>>>>> On Fri, 03 Apr 2020 23:08:10 +0900, Kazuhiro Ito <[email-masked]> said:

    >> Thanks for that. This should fix all those cases:
    Kazuhiro> Thank you for the patch.  It works well on Cygwin environment.  But I
    Kazuhiro> noticed different problems in dns-query when TCP is used.

Thanks for checking, pushed to master as 00f7744c1b

Closing the bug.

    Kazuhiro> 1. dns-write function needs to be called with TCP-P option.
    Kazuhiro> 2. First 2 bytes of received data (length field) should be truncated
    Kazuhiro> for dns-read function.  Or dns-read function should accept TCP-P
    Kazuhiro> option like dns-wrote function.

Indeed, looks like thatʼs never worked. Iʼll fix those separately.

Robert

Subject: 28.0.50; dns-set-servers fails on IPv6 available Windows
From: Kazuhiro Ito <[email-masked]>
To: [email-masked]
Date: Tue, 31 Mar 2020 17:46:47 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

dns-set-servers function fails to set dns-servers on Windows with IPv6
available network.

(progn
  (require 'dns)
  (dns-set-servers)
  dns-servers)

-> (nil)

The reason is that Windows's nslookup program returns server's IPv6
address if availeble but dns-set-servers function assumes that
server's address is always IPv4.

> C:\>nslookup localhost
> サーバー:  server.lan
> Address:  xxxx:xxxx:xxxx::1
>
> 名前:    localhost.lan
> Addresses:  ::1
>           127.0.0.1

# "サーバー" and "名前" are Japanese translations for "Server" and
# "Name", respectively.

From dns-set-servers definition in lisp/net/dns.el

> (re-search-forward
>  "^Address:[ \t]*\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" nil t)

-- 
Kazuhiro Ito