From: merch-redmine@... Date: 2020-05-29T21:19:19+00:00 Subject: [ruby-core:98581] [Ruby master Bug#16439] Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero 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 form, 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/3161 ---------------------------------------- Bug #16439: Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero https://bugs.ruby-lang.org/issues/16439#change-85892 * Author: jmr (Jan-Martin R�mer) * 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::sender_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: