ruby / resolv

A thread-aware DNS resolver library written in Ruby
Other
38 stars 29 forks source link

IPv6: does not honour RFC5952 complient #24

Closed b4ldr closed 10 months ago

b4ldr commented 2 years ago

While troubleshooting an issue with OpenSSH known_hosts i noticed that the ruby resolve library doesn't honour RFC 5952. specifically section 4.2.2

The symbol "::" MUST NOT be used to shorten just one 16-bit 0 field. For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but 2001:db8::1:1:1:1:1 is not correct.

irb(main):001:0> require 'resolv'
=> true
irb(main):002:0> Resolv::IPv6.create('2001:0db8:0000:0001:0001:0001:0001:0001').to_s
=> "2001:db8::1:1:1:1:1"
irb(main):003:0> 

This prevented name generated using this library from been matched in openssh known_hosts