Project

General

Profile

Bug #16439

Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero

Added by jmr (Jan-Martin Rämer) 3 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:96374]
Tags:

Description

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) resolv.rb.patch jmr (Jan-Martin Rämer), 12/20/2019 01:00 PM

No data to display

Also available in: Atom PDF