facter 4.2.10 → 4.2.11
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/facts/linux/cloud/provider.rb +2 -0
- data/lib/facter/facts/windows/cloud/provider.rb +2 -0
- data/lib/facter/resolvers/windows/ffi/ffi.rb +13 -6
- data/lib/facter/resolvers/windows/networking.rb +3 -4
- data/lib/facter/util/file_helper.rb +2 -2
- data/lib/facter/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b94d35e70448fb5efde799119e0bcfe508e4097133b44939c453fcbd0f39983a
|
4
|
+
data.tar.gz: 6f97201f2619f853c2a66ff15cb4538b67dc3d843ff48629ca65d7b0bfc626d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ad5f88e1d7e8517c6cae2687fbf74a05ebcd2a92e54baef7276b08d6e0bee0e4af77e4f908951acf2e956d9e9ff9ced4773fff260639e2e1db3b230da75700a
|
7
|
+
data.tar.gz: 6a3e65102fd483807f3d67fa17eda71f7cdce61f59cc7e512c81990d9b02a29389c2c582ae3ccf187d3450918c28f9efc0a7a50c31314950f4109d3492e9c21d
|
@@ -12,6 +12,8 @@ module Facts
|
|
12
12
|
'azure' unless Facter::Resolvers::Az.resolve(:metadata).empty?
|
13
13
|
when 'kvm', 'xen'
|
14
14
|
'aws' unless Facter::Resolvers::Ec2.resolve(:metadata).empty?
|
15
|
+
when 'gce'
|
16
|
+
'gce' unless Facter::Resolvers::Gce.resolve(:metadata).empty?
|
15
17
|
end
|
16
18
|
|
17
19
|
Facter::ResolvedFact.new(FACT_NAME, provider)
|
@@ -13,6 +13,8 @@ module Facts
|
|
13
13
|
'azure' unless Facter::Resolvers::Az.resolve(:metadata).empty?
|
14
14
|
when 'kvm', 'xen'
|
15
15
|
'aws' unless Facter::Resolvers::Ec2.resolve(:metadata).empty?
|
16
|
+
when 'gce'
|
17
|
+
'gce' unless Facter::Resolvers::Gce.resolve(:metadata).empty?
|
16
18
|
end
|
17
19
|
|
18
20
|
Facter::ResolvedFact.new(FACT_NAME, provider)
|
@@ -24,26 +24,33 @@ MAX_PATH = 32_767
|
|
24
24
|
|
25
25
|
module FFI
|
26
26
|
WIN32FALSE = 0
|
27
|
-
END_OF_WCHAR_STRING = "\0\0".
|
27
|
+
END_OF_WCHAR_STRING = (+"\0\0").force_encoding(Encoding::UTF_16LE).freeze
|
28
28
|
|
29
29
|
class Pointer
|
30
30
|
def read_wide_string_with_length(char_length)
|
31
31
|
# char_length is number of wide chars (typically excluding NULLs), *not* bytes
|
32
|
-
str = get_bytes(0, char_length * 2).force_encoding(
|
33
|
-
str.encode(
|
32
|
+
str = get_bytes(0, char_length * 2).force_encoding(Encoding::UTF_16LE)
|
33
|
+
str.encode(Encoding::UTF_8, str.encoding)
|
34
34
|
end
|
35
35
|
|
36
|
-
def read_wide_string_without_length
|
36
|
+
def read_wide_string_without_length(replace_invalid_chars: false)
|
37
37
|
wide_character = get_bytes(0, 2)
|
38
|
+
wide_character.force_encoding(Encoding::UTF_16LE)
|
38
39
|
i = 2
|
39
40
|
str = []
|
40
41
|
|
41
|
-
while wide_character
|
42
|
+
while wide_character != END_OF_WCHAR_STRING
|
42
43
|
str << wide_character
|
43
44
|
wide_character = get_bytes(i, 2)
|
45
|
+
wide_character.force_encoding(Encoding::UTF_16LE)
|
44
46
|
i += 2
|
45
47
|
end
|
46
|
-
|
48
|
+
|
49
|
+
if replace_invalid_chars
|
50
|
+
str.join.force_encoding(Encoding::UTF_16LE).encode(Encoding::UTF_8, Encoding::UTF_16LE, invalid: :replace)
|
51
|
+
else
|
52
|
+
str.join.force_encoding(Encoding::UTF_16LE).encode(Encoding::UTF_8)
|
53
|
+
end
|
47
54
|
end
|
48
55
|
|
49
56
|
def read_win32_bool
|
@@ -71,12 +71,11 @@ module Facter
|
|
71
71
|
adapter_address = IpAdapterAddressesLh.new(adapter_address[:Next])
|
72
72
|
next
|
73
73
|
end
|
74
|
-
|
75
74
|
if !@fact_list[:domain] || @fact_list[:domain].empty?
|
76
|
-
@fact_list[:domain] = adapter_address[:DnsSuffix]
|
75
|
+
@fact_list[:domain] = adapter_address[:DnsSuffix]
|
76
|
+
.read_wide_string_without_length(replace_invalid_chars: true)
|
77
77
|
end
|
78
|
-
|
79
|
-
name = adapter_address[:FriendlyName].read_wide_string_without_length
|
78
|
+
name = adapter_address[:FriendlyName].read_wide_string_without_length(replace_invalid_chars: true)
|
80
79
|
net_interface[name] = build_interface_info(adapter_address, name)
|
81
80
|
end
|
82
81
|
|
@@ -9,14 +9,14 @@ module Facter
|
|
9
9
|
DEBUG_MESSAGE = 'File at: %s is not accessible.'
|
10
10
|
|
11
11
|
def safe_read(path, default_return = '')
|
12
|
-
return File.read(path) if File.readable?(path)
|
12
|
+
return File.read(path, encoding: Encoding::UTF_8) if File.readable?(path)
|
13
13
|
|
14
14
|
log_failed_to_read(path)
|
15
15
|
default_return
|
16
16
|
end
|
17
17
|
|
18
18
|
def safe_readlines(path, default_return = [])
|
19
|
-
return File.readlines(path) if File.readable?(path)
|
19
|
+
return File.readlines(path, encoding: Encoding::UTF_8) if File.readable?(path)
|
20
20
|
|
21
21
|
log_failed_to_read(path)
|
22
22
|
default_return
|
data/lib/facter/version.rb
CHANGED
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.2.
|
4
|
+
version: 4.2.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|