From 69261828a86a64d0f76a45577be23218e0eb179c Mon Sep 17 00:00:00 2001 From: Sebastian Reitenbach Date: Thu, 25 Dec 2025 22:26:57 +0100 Subject: [PATCH 1/2] Fix facter networking on OpenBSD, when there's a gif or gre tunnel interface configured. --- lib/facter/util/resolvers/networking/networking.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/facter/util/resolvers/networking/networking.rb b/lib/facter/util/resolvers/networking/networking.rb index 492300eae..ac9cce0d1 100644 --- a/lib/facter/util/resolvers/networking/networking.rb +++ b/lib/facter/util/resolvers/networking/networking.rb @@ -62,6 +62,8 @@ def get_scope(ip) def find_valid_binding(bindings) bindings.each do |binding| + next unless binding.is_a?(Hash) + next unless binding[:address] return binding unless ignored_ip_address(binding[:address]) end bindings.empty? ? nil : bindings.first @@ -115,6 +117,7 @@ def expand_primary_interface(networking_facts, primary) def expand_binding(values, bindings, ipv4_type: true) binding = find_valid_binding(bindings) + return unless binding.is_a?(Hash) && binding[:address] ip_protocol_type = ipv4_type ? '' : '6' values["ip#{ip_protocol_type}".to_sym] = binding[:address] From 5282ca0252f7cb22637dcadbdb59ad230a7f07cc Mon Sep 17 00:00:00 2001 From: Sebastian Reitenbach Date: Fri, 26 Dec 2025 17:30:13 +0100 Subject: [PATCH 2/2] fix rubocop --- lib/facter/util/resolvers/networking/networking.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/facter/util/resolvers/networking/networking.rb b/lib/facter/util/resolvers/networking/networking.rb index ac9cce0d1..aca4f325b 100644 --- a/lib/facter/util/resolvers/networking/networking.rb +++ b/lib/facter/util/resolvers/networking/networking.rb @@ -118,6 +118,7 @@ def expand_primary_interface(networking_facts, primary) def expand_binding(values, bindings, ipv4_type: true) binding = find_valid_binding(bindings) return unless binding.is_a?(Hash) && binding[:address] + ip_protocol_type = ipv4_type ? '' : '6' values["ip#{ip_protocol_type}".to_sym] = binding[:address]