facter 4.2.14 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/facter/util/resolvers/networking/networking.rb +18 -1
- data/lib/facter/version.rb +1 -1
- data/lib/facter.rb +5 -5
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3dd94ae85f9b9327eac3cbcc63794f202f4eea27d7b8c2c80b8a5b354aca94a
|
4
|
+
data.tar.gz: a179d9b63edb75738a22d5ed2061c0b2b4313da80dad43af2ad9eb4b1e3bee27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33fd39d071e0033316518b51310290694d869c7b8f3b7d006c66f20629999cbcc549df6ed58b28d46c092664ba3a89c7f5813117bf5bff50c555202e79c99476
|
7
|
+
data.tar.gz: c824262cd5cdcb601b203bc4675c832348dce77ca9867f008a23cb8f8677812ab858cc3f11012b80deec949515d6419876b5480d25587e2a7df52c9df1c15540
|
@@ -64,8 +64,25 @@ module Facter
|
|
64
64
|
bindings.empty? ? nil : bindings.first
|
65
65
|
end
|
66
66
|
|
67
|
+
IPV4_LINK_LOCAL_ADDR = IPAddr.new('169.254.0.0/16').freeze # RFC5735
|
68
|
+
IPV6_LINK_LOCAL_ADDR = IPAddr.new('fe80::/10').freeze # RFC4291
|
69
|
+
IPV6_UNIQUE_LOCAL_ADDR = IPAddr.new('fc00::/7').freeze # RFC4193
|
70
|
+
|
67
71
|
def ignored_ip_address(addr)
|
68
|
-
|
72
|
+
return true if addr.empty?
|
73
|
+
|
74
|
+
ip = IPAddr.new(addr)
|
75
|
+
return true if ip.loopback?
|
76
|
+
|
77
|
+
[
|
78
|
+
IPV4_LINK_LOCAL_ADDR,
|
79
|
+
IPV6_LINK_LOCAL_ADDR,
|
80
|
+
IPV6_UNIQUE_LOCAL_ADDR
|
81
|
+
].each do |range|
|
82
|
+
return true if range.include?(ip)
|
83
|
+
end
|
84
|
+
|
85
|
+
false
|
69
86
|
end
|
70
87
|
|
71
88
|
def calculate_mask_length(netmask)
|
data/lib/facter/version.rb
CHANGED
data/lib/facter.rb
CHANGED
@@ -18,7 +18,7 @@ module Facter
|
|
18
18
|
# Method used by puppet-agent to retrieve facts
|
19
19
|
# @param args_as_string [string] facter cli arguments
|
20
20
|
#
|
21
|
-
# @return
|
21
|
+
# @return [Hash<String, Object>]
|
22
22
|
#
|
23
23
|
# @api private
|
24
24
|
def resolve(args_as_string)
|
@@ -42,7 +42,7 @@ module Facter
|
|
42
42
|
cli_options[:show_legacy] ||= false
|
43
43
|
Facter::Options.store(cli_options)
|
44
44
|
|
45
|
-
queried_facts(cli.args)
|
45
|
+
Hash[queried_facts(cli.args)]
|
46
46
|
end
|
47
47
|
|
48
48
|
# Method used by cli to set puppet paths
|
@@ -370,7 +370,7 @@ module Facter
|
|
370
370
|
# Retrieves a fact's value. Returns `nil` if no such fact exists.
|
371
371
|
#
|
372
372
|
# @param user_query [String] the fact name
|
373
|
-
# @return [String
|
373
|
+
# @return [Hash<String, Object>]
|
374
374
|
#
|
375
375
|
# @api public
|
376
376
|
def to_hash
|
@@ -410,7 +410,7 @@ module Facter
|
|
410
410
|
# @api public
|
411
411
|
def value(user_query)
|
412
412
|
user_query = user_query.to_s.downcase
|
413
|
-
resolve_fact(user_query)
|
413
|
+
resolve_fact(user_query) unless @already_searched.include?(user_query)
|
414
414
|
|
415
415
|
@already_searched[user_query]&.value
|
416
416
|
end
|
@@ -427,7 +427,7 @@ module Facter
|
|
427
427
|
# @api public
|
428
428
|
def fact(user_query)
|
429
429
|
user_query = user_query.to_s.downcase
|
430
|
-
resolve_fact(user_query)
|
430
|
+
resolve_fact(user_query) unless @already_searched.include?(user_query)
|
431
431
|
|
432
432
|
@already_searched[user_query]
|
433
433
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -114,20 +114,6 @@ dependencies:
|
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '1.3'
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: timecop
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '0.9'
|
124
|
-
type: :development
|
125
|
-
prerelease: false
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '0.9'
|
131
117
|
- !ruby/object:Gem::Dependency
|
132
118
|
name: webmock
|
133
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1089,7 +1075,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1089
1075
|
requirements:
|
1090
1076
|
- - ">="
|
1091
1077
|
- !ruby/object:Gem::Version
|
1092
|
-
version: '2.
|
1078
|
+
version: '2.5'
|
1093
1079
|
- - "<"
|
1094
1080
|
- !ruby/object:Gem::Version
|
1095
1081
|
version: '4.0'
|