Hack to fix IPv6 parsing in facter.
authorSofer Athlan-Guyot <sathlang@redhat.com>
Thu, 17 Mar 2016 16:44:41 +0000 (17:44 +0100)
committerSofer Athlan-Guyot <sathlang@redhat.com>
Thu, 17 Mar 2016 16:47:42 +0000 (17:47 +0100)
This kludge fixes the wrong regexp used in facter to report all IPv6
addresses.

While the upstream bug[1] is being work out, this should do the job.

Closes-Bug: 1558490

[1] https://tickets.puppetlabs.com/browse/FACT-1372

Change-Id: I85dabbd26bf8f25b2a03d22f547618b666421a83

lib/facter/netmask_ipv6.rb

index 5261485..598641f 100644 (file)
@@ -8,6 +8,8 @@ def netmask6(value)
 end
 
 if Facter.value('facterversion')[0].to_i < 3
+  Facter::Util::IP::REGEX_MAP[:linux][:ipaddress6] =
+    /inet6 (?:addr: )?((?!(?:fe80|::1))(?>[0-9,a-f,A-F]*\:{1,2})+[0-9,a-f,A-F]{0,4})/
   Facter::Util::IP.get_interfaces.each do |interface|
     Facter.add('netmask6_' + Facter::Util::IP.alphafy(interface)) do
       setcode do