[ruby-core:98581] [Ruby master Bug#16439] Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero
From:
merch-redmine@...
Date:
2020-05-29 21:19:19 UTC
List:
ruby-core #98581
Issue #16439 has been updated by jeremyevans0 (Jeremy Evans). This isn't just a problem for IPv6, it happens for IPv4 as well (e.g. 127.0= .0.01). It will happen in any case where the input is not in canonical for= m, where canonical form is the form that `Addrinfo#ip_address` gives you. = I've added a pull request to fix this: https://github.com/ruby/ruby/pull/31= 61 ---------------------------------------- Bug #16439: Resolv::DNS: timeouts if multiple IPv6 name servers are given a= nd address contains leading zero https://bugs.ruby-lang.org/issues/16439#change-85892 * Author: jmr (Jan-Martin R=E4mer) * Status: Open * Priority: Normal * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- Hi, Resolv::DNS does not return any results under those conditions: - there are at least two name servers (in /etc/resolv.conf). - The name servers have IPv6 addresses containing leading zeros. Example resolv.conf: nameserver 2001:0db8::0001:1 nameserver 2001:0db8::0002:1 This is caused by a mismatch in representation of the address: Requester::s= ender_for compares the address of the answering server (e.g. 2001:0db8::1:1= ) with the address the request was sent to (e.g. 2001:0db8::0001:1). This can be fixed by stripping leading zeros from the sender's address, as = done in the attached patch. Best regards, Jan-Martin ---Files-------------------------------- resolv.rb.patch (397 Bytes) -- = https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=3Dunsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>