facter 2.5.7-x64-mingw32 → 3.9.6.cfacter.20180412-x64-mingw32

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.
Files changed (506) hide show
  1. checksums.yaml +5 -5
  2. data/bin/facter.bat +8 -0
  3. data/bin/facter.exe +0 -0
  4. data/bin/facter_interactive.bat +6 -0
  5. data/bin/libfacter.so +0 -0
  6. data/bin/run_facter_interactive.bat +9 -0
  7. data/lib/facter.rb +45 -261
  8. data/lib/libfacter.so.a +0 -0
  9. metadata +23 -854
  10. data/COMMITTERS.md +0 -185
  11. data/CONTRIBUTING.md +0 -91
  12. data/Gemfile +0 -69
  13. data/LICENSE +0 -15
  14. data/README.md +0 -65
  15. data/Rakefile +0 -46
  16. data/bin/facter +0 -20
  17. data/etc/facter.conf +0 -5
  18. data/ext/build_defaults.yaml +0 -9
  19. data/ext/debian/changelog.erb +0 -59
  20. data/ext/debian/compat +0 -1
  21. data/ext/debian/control +0 -15
  22. data/ext/debian/copyright +0 -19
  23. data/ext/debian/docs +0 -1
  24. data/ext/debian/lintian-overrides +0 -0
  25. data/ext/debian/rules +0 -10
  26. data/ext/debian/source/format +0 -1
  27. data/ext/facter-diff +0 -74
  28. data/ext/ips/facter.p5m.erb +0 -10
  29. data/ext/ips/rules +0 -7
  30. data/ext/ips/transforms +0 -18
  31. data/ext/osx/file_mapping.yaml +0 -32
  32. data/ext/osx/preflight.erb +0 -33
  33. data/ext/osx/prototype.plist.erb +0 -38
  34. data/ext/project_data.yaml +0 -31
  35. data/ext/redhat/facter.spec.erb +0 -223
  36. data/ext/solaris/pkginfo +0 -7
  37. data/install.rb +0 -380
  38. data/lib/facter/Cfkey.rb +0 -42
  39. data/lib/facter/application.rb +0 -206
  40. data/lib/facter/architecture.rb +0 -50
  41. data/lib/facter/augeasversion.rb +0 -28
  42. data/lib/facter/blockdevices.rb +0 -105
  43. data/lib/facter/core/aggregate.rb +0 -220
  44. data/lib/facter/core/directed_graph.rb +0 -46
  45. data/lib/facter/core/execution.rb +0 -123
  46. data/lib/facter/core/execution/base.rb +0 -81
  47. data/lib/facter/core/execution/posix.rb +0 -50
  48. data/lib/facter/core/execution/windows.rb +0 -57
  49. data/lib/facter/core/logging.rb +0 -197
  50. data/lib/facter/core/resolvable.rb +0 -94
  51. data/lib/facter/core/suitable.rb +0 -113
  52. data/lib/facter/dhcp_servers.rb +0 -45
  53. data/lib/facter/domain.rb +0 -99
  54. data/lib/facter/ec2.rb +0 -68
  55. data/lib/facter/ec2/rest.rb +0 -137
  56. data/lib/facter/facterversion.rb +0 -15
  57. data/lib/facter/filesystems.rb +0 -45
  58. data/lib/facter/fqdn.rb +0 -24
  59. data/lib/facter/gce.rb +0 -16
  60. data/lib/facter/gce/metadata.rb +0 -87
  61. data/lib/facter/gid.rb +0 -25
  62. data/lib/facter/hardwareisa.rb +0 -20
  63. data/lib/facter/hardwaremodel.rb +0 -67
  64. data/lib/facter/hostname.rb +0 -31
  65. data/lib/facter/id.rb +0 -21
  66. data/lib/facter/interfaces.rb +0 -58
  67. data/lib/facter/ipaddress.rb +0 -169
  68. data/lib/facter/ipaddress6.rb +0 -82
  69. data/lib/facter/iphostnumber.rb +0 -29
  70. data/lib/facter/kernel.rb +0 -22
  71. data/lib/facter/kernelmajversion.rb +0 -23
  72. data/lib/facter/kernelrelease.rb +0 -45
  73. data/lib/facter/kernelversion.rb +0 -22
  74. data/lib/facter/ldom.rb +0 -51
  75. data/lib/facter/lsbdistcodename.rb +0 -20
  76. data/lib/facter/lsbdistdescription.rb +0 -21
  77. data/lib/facter/lsbdistid.rb +0 -20
  78. data/lib/facter/lsbdistrelease.rb +0 -20
  79. data/lib/facter/lsbmajdistrelease.rb +0 -22
  80. data/lib/facter/lsbminordistrelease.rb +0 -22
  81. data/lib/facter/lsbrelease.rb +0 -20
  82. data/lib/facter/macaddress.rb +0 -99
  83. data/lib/facter/macosx.rb +0 -56
  84. data/lib/facter/manufacturer.rb +0 -68
  85. data/lib/facter/memory.rb +0 -168
  86. data/lib/facter/netmask.rb +0 -43
  87. data/lib/facter/network.rb +0 -20
  88. data/lib/facter/operatingsystem.rb +0 -24
  89. data/lib/facter/operatingsystem/base.rb +0 -61
  90. data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  91. data/lib/facter/operatingsystem/implementation.rb +0 -33
  92. data/lib/facter/operatingsystem/linux.rb +0 -511
  93. data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  94. data/lib/facter/operatingsystem/sunos.rb +0 -54
  95. data/lib/facter/operatingsystem/vmkernel.rb +0 -11
  96. data/lib/facter/operatingsystem/windows.rb +0 -43
  97. data/lib/facter/operatingsystemmajrelease.rb +0 -31
  98. data/lib/facter/operatingsystemrelease.rb +0 -29
  99. data/lib/facter/os.rb +0 -98
  100. data/lib/facter/osfamily.rb +0 -18
  101. data/lib/facter/partitions.rb +0 -39
  102. data/lib/facter/path.rb +0 -14
  103. data/lib/facter/physicalprocessorcount.rb +0 -27
  104. data/lib/facter/processor.rb +0 -52
  105. data/lib/facter/processors.rb +0 -66
  106. data/lib/facter/processors/os.rb +0 -244
  107. data/lib/facter/ps.rb +0 -31
  108. data/lib/facter/puppetversion.rb +0 -20
  109. data/lib/facter/rackspace.rb +0 -37
  110. data/lib/facter/rubyplatform.rb +0 -12
  111. data/lib/facter/rubysitedir.rb +0 -15
  112. data/lib/facter/rubyversion.rb +0 -12
  113. data/lib/facter/selinux.rb +0 -154
  114. data/lib/facter/ssh.rb +0 -73
  115. data/lib/facter/system32.rb +0 -21
  116. data/lib/facter/system_uptime.rb +0 -44
  117. data/lib/facter/timezone.rb +0 -14
  118. data/lib/facter/uniqueid.rb +0 -4
  119. data/lib/facter/uptime.rb +0 -16
  120. data/lib/facter/uptime_days.rb +0 -13
  121. data/lib/facter/uptime_hours.rb +0 -13
  122. data/lib/facter/uptime_seconds.rb +0 -20
  123. data/lib/facter/util/architecture.rb +0 -19
  124. data/lib/facter/util/collection.rb +0 -161
  125. data/lib/facter/util/composite_loader.rb +0 -12
  126. data/lib/facter/util/config.rb +0 -88
  127. data/lib/facter/util/confine.rb +0 -66
  128. data/lib/facter/util/dhcp_servers.rb +0 -58
  129. data/lib/facter/util/directory_loader.rb +0 -88
  130. data/lib/facter/util/ec2.rb +0 -106
  131. data/lib/facter/util/fact.rb +0 -204
  132. data/lib/facter/util/file_read.rb +0 -37
  133. data/lib/facter/util/formatter.rb +0 -39
  134. data/lib/facter/util/ip.rb +0 -340
  135. data/lib/facter/util/ip/windows.rb +0 -215
  136. data/lib/facter/util/loader.rb +0 -155
  137. data/lib/facter/util/macaddress.rb +0 -43
  138. data/lib/facter/util/macosx.rb +0 -73
  139. data/lib/facter/util/manufacturer.rb +0 -99
  140. data/lib/facter/util/memory.rb +0 -228
  141. data/lib/facter/util/netmask.rb +0 -40
  142. data/lib/facter/util/normalization.rb +0 -94
  143. data/lib/facter/util/nothing_loader.rb +0 -12
  144. data/lib/facter/util/operatingsystem.rb +0 -21
  145. data/lib/facter/util/parser.rb +0 -168
  146. data/lib/facter/util/partitions.rb +0 -47
  147. data/lib/facter/util/partitions/linux.rb +0 -71
  148. data/lib/facter/util/partitions/openbsd.rb +0 -40
  149. data/lib/facter/util/plist.rb +0 -24
  150. data/lib/facter/util/plist/generator.rb +0 -228
  151. data/lib/facter/util/plist/parser.rb +0 -226
  152. data/lib/facter/util/posix.rb +0 -16
  153. data/lib/facter/util/processor.rb +0 -289
  154. data/lib/facter/util/registry.rb +0 -11
  155. data/lib/facter/util/resolution.rb +0 -160
  156. data/lib/facter/util/solaris_zones.rb +0 -158
  157. data/lib/facter/util/unix_root.rb +0 -5
  158. data/lib/facter/util/uptime.rb +0 -83
  159. data/lib/facter/util/values.rb +0 -109
  160. data/lib/facter/util/virtual.rb +0 -220
  161. data/lib/facter/util/vlans.rb +0 -21
  162. data/lib/facter/util/windows.rb +0 -10
  163. data/lib/facter/util/windows/api_types.rb +0 -135
  164. data/lib/facter/util/windows/dir.rb +0 -43
  165. data/lib/facter/util/windows/error.rb +0 -87
  166. data/lib/facter/util/windows/process.rb +0 -294
  167. data/lib/facter/util/windows/user.rb +0 -186
  168. data/lib/facter/util/windows_root.rb +0 -7
  169. data/lib/facter/util/wmi.rb +0 -49
  170. data/lib/facter/util/xendomains.rb +0 -28
  171. data/lib/facter/version.rb +0 -86
  172. data/lib/facter/virtual.rb +0 -339
  173. data/lib/facter/vlans.rb +0 -17
  174. data/lib/facter/xendomains.rb +0 -20
  175. data/lib/facter/zfs_version.rb +0 -14
  176. data/lib/facter/zonename.rb +0 -6
  177. data/lib/facter/zones.rb +0 -18
  178. data/lib/facter/zpool_version.rb +0 -10
  179. data/spec/fixtures/cpuinfo/amd64dual +0 -57
  180. data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
  181. data/spec/fixtures/cpuinfo/amd64quad +0 -79
  182. data/spec/fixtures/cpuinfo/amd64solo +0 -23
  183. data/spec/fixtures/cpuinfo/amd64tri +0 -86
  184. data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
  185. data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
  186. data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
  187. data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
  188. data/spec/fixtures/cpuinfo/panda-armel +0 -17
  189. data/spec/fixtures/cpuinfo/ppc64 +0 -19
  190. data/spec/fixtures/cpuinfo/ppc64le +0 -15
  191. data/spec/fixtures/cpuinfo/sparc +0 -10
  192. data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
  193. data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
  194. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
  195. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
  196. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
  197. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
  198. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
  199. data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
  200. data/spec/fixtures/hpux/sched.models +0 -174
  201. data/spec/fixtures/hpux/unistd.h +0 -1534
  202. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
  203. data/spec/fixtures/ifconfig/centos_5_5 +0 -17
  204. data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
  205. data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
  206. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
  207. data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
  208. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
  209. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
  210. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
  211. data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
  212. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
  213. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
  214. data/spec/fixtures/ifconfig/fedora_10 +0 -36
  215. data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
  216. data/spec/fixtures/ifconfig/fedora_13 +0 -18
  217. data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
  218. data/spec/fixtures/ifconfig/fedora_8 +0 -38
  219. data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
  220. data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
  221. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
  222. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
  223. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
  224. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
  225. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
  226. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
  227. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
  228. data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
  229. data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
  230. data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
  231. data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
  232. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
  233. data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
  234. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
  235. data/spec/fixtures/ldom/ldom_v1 +0 -6
  236. data/spec/fixtures/netstat/centos_5_5 +0 -5
  237. data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
  238. data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
  239. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
  240. data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
  241. data/spec/fixtures/netstat/fedora_10 +0 -7
  242. data/spec/fixtures/netstat/open_solaris_10 +0 -16
  243. data/spec/fixtures/netstat/open_solaris_b132 +0 -17
  244. data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
  245. data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
  246. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
  247. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
  248. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
  249. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
  250. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
  251. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
  252. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
  253. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
  254. data/spec/fixtures/unit/dhcp_servers/route +0 -3
  255. data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
  256. data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
  257. data/spec/fixtures/unit/filesystems/linux +0 -28
  258. data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
  259. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
  260. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
  261. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
  262. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
  263. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
  264. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
  265. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
  266. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
  267. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
  268. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
  269. data/spec/fixtures/unit/memory/aix-svmon +0 -9
  270. data/spec/fixtures/unit/memory/aix-swap_l +0 -2
  271. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
  272. data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
  273. data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
  274. data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
  275. data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
  276. data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
  277. data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
  278. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
  279. data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
  280. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
  281. data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
  282. data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
  283. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
  284. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
  285. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
  286. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
  287. data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
  288. data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
  289. data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
  290. data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
  291. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
  292. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
  293. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
  294. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
  295. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
  296. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
  297. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
  298. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
  299. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
  300. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
  301. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
  302. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
  303. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
  304. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
  305. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
  306. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
  307. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
  308. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
  309. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
  310. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
  311. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
  312. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
  313. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
  314. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
  315. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
  316. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
  317. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
  318. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
  319. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
  320. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
  321. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
  322. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
  323. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
  324. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
  325. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
  326. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
  327. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
  328. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
  329. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
  330. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
  331. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
  332. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
  333. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
  334. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
  335. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
  336. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
  337. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
  338. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
  339. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
  340. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
  341. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
  342. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
  343. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
  344. data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
  345. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
  346. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
  347. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
  348. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
  349. data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
  350. data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
  351. data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
  352. data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
  353. data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
  354. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
  355. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
  356. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
  357. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  358. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  359. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
  360. data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
  361. data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
  362. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  363. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
  364. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
  365. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
  366. data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
  367. data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
  368. data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
  369. data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
  370. data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
  371. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
  372. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
  373. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
  374. data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
  375. data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
  376. data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
  377. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
  378. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
  379. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
  380. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
  381. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
  382. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
  383. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
  384. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
  385. data/spec/integration/facter_spec.rb +0 -39
  386. data/spec/integration/util/windows/user_spec.rb +0 -59
  387. data/spec/lib/facter_spec/cpuinfo.rb +0 -15
  388. data/spec/lib/facter_spec/windows_network.rb +0 -64
  389. data/spec/puppetlabs_spec/files.rb +0 -57
  390. data/spec/puppetlabs_spec/fixtures.rb +0 -49
  391. data/spec/puppetlabs_spec/matchers.rb +0 -87
  392. data/spec/puppetlabs_spec/verbose.rb +0 -9
  393. data/spec/puppetlabs_spec_helper.rb +0 -26
  394. data/spec/schema/validate_facter_schema.rb +0 -18
  395. data/spec/shared_contexts/platform.rb +0 -55
  396. data/spec/shared_formats/parses.rb +0 -3
  397. data/spec/spec_helper.rb +0 -68
  398. data/spec/unit/application_spec.rb +0 -110
  399. data/spec/unit/architecture_spec.rb +0 -63
  400. data/spec/unit/blockdevices_spec.rb +0 -109
  401. data/spec/unit/core/aggregate_spec.rb +0 -125
  402. data/spec/unit/core/directed_graph_spec.rb +0 -79
  403. data/spec/unit/core/execution/base_spec.rb +0 -130
  404. data/spec/unit/core/execution/posix_spec.rb +0 -96
  405. data/spec/unit/core/execution/windows_spec.rb +0 -106
  406. data/spec/unit/core/execution_spec.rb +0 -42
  407. data/spec/unit/core/logging_spec.rb +0 -223
  408. data/spec/unit/core/resolvable_spec.rb +0 -81
  409. data/spec/unit/core/suitable_spec.rb +0 -106
  410. data/spec/unit/dhcp_servers_spec.rb +0 -212
  411. data/spec/unit/domain_spec.rb +0 -310
  412. data/spec/unit/ec2/rest_spec.rb +0 -168
  413. data/spec/unit/ec2_spec.rb +0 -139
  414. data/spec/unit/facter_spec.rb +0 -108
  415. data/spec/unit/filesystems_spec.rb +0 -50
  416. data/spec/unit/fqdn_spec.rb +0 -16
  417. data/spec/unit/gce/metadata_spec.rb +0 -49
  418. data/spec/unit/gce_spec.rb +0 -34
  419. data/spec/unit/gid_spec.rb +0 -51
  420. data/spec/unit/hardwareisa_spec.rb +0 -41
  421. data/spec/unit/hardwaremodel_spec.rb +0 -58
  422. data/spec/unit/hostname_spec.rb +0 -40
  423. data/spec/unit/id_spec.rb +0 -29
  424. data/spec/unit/interfaces_spec.rb +0 -67
  425. data/spec/unit/ipaddress6_spec.rb +0 -180
  426. data/spec/unit/ipaddress_spec.rb +0 -114
  427. data/spec/unit/kernel_spec.rb +0 -24
  428. data/spec/unit/kernelmajversion_spec.rb +0 -22
  429. data/spec/unit/kernelrelease_spec.rb +0 -66
  430. data/spec/unit/kernelversion_spec.rb +0 -32
  431. data/spec/unit/ldom_spec.rb +0 -84
  432. data/spec/unit/lsbdistcodename_spec.rb +0 -30
  433. data/spec/unit/lsbdistdescription_spec.rb +0 -30
  434. data/spec/unit/lsbdistid_spec.rb +0 -30
  435. data/spec/unit/lsbdistrelease_spec.rb +0 -30
  436. data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
  437. data/spec/unit/lsbminordistrelease_spec.rb +0 -31
  438. data/spec/unit/lsbrelease_spec.rb +0 -30
  439. data/spec/unit/macaddress_spec.rb +0 -76
  440. data/spec/unit/manufacturer_spec.rb +0 -115
  441. data/spec/unit/memory_spec.rb +0 -470
  442. data/spec/unit/netmask_spec.rb +0 -106
  443. data/spec/unit/operatingsystem/base_spec.rb +0 -76
  444. data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
  445. data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
  446. data/spec/unit/operatingsystem/linux_spec.rb +0 -559
  447. data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
  448. data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
  449. data/spec/unit/operatingsystem/windows_spec.rb +0 -77
  450. data/spec/unit/operatingsystem_spec.rb +0 -17
  451. data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
  452. data/spec/unit/operatingsystemrelease_spec.rb +0 -20
  453. data/spec/unit/os_spec.rb +0 -131
  454. data/spec/unit/osfamily_spec.rb +0 -17
  455. data/spec/unit/partitions_spec.rb +0 -88
  456. data/spec/unit/physicalprocessorcount_spec.rb +0 -13
  457. data/spec/unit/processor_spec.rb +0 -38
  458. data/spec/unit/processors/os_spec.rb +0 -469
  459. data/spec/unit/processors_spec.rb +0 -203
  460. data/spec/unit/ps_spec.rb +0 -42
  461. data/spec/unit/rackspace_spec.rb +0 -40
  462. data/spec/unit/rubyplatform_spec.rb +0 -7
  463. data/spec/unit/selinux_spec.rb +0 -119
  464. data/spec/unit/ssh_spec.rb +0 -77
  465. data/spec/unit/system32_spec.rb +0 -28
  466. data/spec/unit/system_uptime_spec.rb +0 -80
  467. data/spec/unit/uniqueid_spec.rb +0 -27
  468. data/spec/unit/uptime_spec.rb +0 -110
  469. data/spec/unit/util/collection_spec.rb +0 -258
  470. data/spec/unit/util/config_spec.rb +0 -120
  471. data/spec/unit/util/confine_spec.rb +0 -148
  472. data/spec/unit/util/dhcp_servers_spec.rb +0 -63
  473. data/spec/unit/util/directory_loader_spec.rb +0 -102
  474. data/spec/unit/util/ec2_spec.rb +0 -184
  475. data/spec/unit/util/fact_spec.rb +0 -142
  476. data/spec/unit/util/file_read_spec.rb +0 -29
  477. data/spec/unit/util/formatter_spec.rb +0 -55
  478. data/spec/unit/util/ip/windows_spec.rb +0 -80
  479. data/spec/unit/util/ip_spec.rb +0 -487
  480. data/spec/unit/util/loader_spec.rb +0 -286
  481. data/spec/unit/util/macaddress_spec.rb +0 -143
  482. data/spec/unit/util/macosx_spec.rb +0 -114
  483. data/spec/unit/util/manufacturer_spec.rb +0 -223
  484. data/spec/unit/util/normalization_spec.rb +0 -113
  485. data/spec/unit/util/operatingsystem_spec.rb +0 -107
  486. data/spec/unit/util/parser_spec.rb +0 -233
  487. data/spec/unit/util/partitions/partitions_spec.rb +0 -67
  488. data/spec/unit/util/partitions_spec.rb +0 -19
  489. data/spec/unit/util/posix_spec.rb +0 -11
  490. data/spec/unit/util/processor_spec.rb +0 -212
  491. data/spec/unit/util/registry_spec.rb +0 -76
  492. data/spec/unit/util/resolution_spec.rb +0 -129
  493. data/spec/unit/util/solaris_zones_spec.rb +0 -127
  494. data/spec/unit/util/uptime_spec.rb +0 -131
  495. data/spec/unit/util/values_spec.rb +0 -171
  496. data/spec/unit/util/virtual_spec.rb +0 -393
  497. data/spec/unit/util/vlans_spec.rb +0 -42
  498. data/spec/unit/util/wmi_spec.rb +0 -19
  499. data/spec/unit/util/xendomains_spec.rb +0 -114
  500. data/spec/unit/version_spec.rb +0 -42
  501. data/spec/unit/virtual_spec.rb +0 -585
  502. data/spec/unit/zfs_version_spec.rb +0 -87
  503. data/spec/unit/zonename_spec.rb +0 -14
  504. data/spec/unit/zones_spec.rb +0 -55
  505. data/spec/unit/zpool_version_spec.rb +0 -80
  506. data/spec/watchr.rb +0 -125
@@ -1,186 +0,0 @@
1
- require 'facter/util/windows'
2
- require 'ffi'
3
-
4
- module Facter::Util::Windows::User
5
- extend FFI::Library
6
-
7
- def admin?
8
- elevated_supported = Facter::Util::Windows::Process.supports_elevated_security?
9
-
10
- # if Vista or later, check for unrestricted process token
11
- return Facter::Util::Windows::Process.elevated_security? if elevated_supported
12
-
13
- # otherwise 2003 or less
14
- check_token_membership
15
- end
16
- module_function :admin?
17
-
18
-
19
- # https://msdn.microsoft.com/en-us/library/windows/desktop/ee207397(v=vs.85).aspx
20
- SECURITY_MAX_SID_SIZE = 68
21
-
22
- def check_token_membership
23
- is_admin = false
24
- FFI::MemoryPointer.new(:byte, SECURITY_MAX_SID_SIZE) do |sid_pointer|
25
- FFI::MemoryPointer.new(:dword, 1) do |size_pointer|
26
- size_pointer.write_uint32(SECURITY_MAX_SID_SIZE)
27
-
28
- if CreateWellKnownSid(:WinBuiltinAdministratorsSid, FFI::Pointer::NULL, sid_pointer, size_pointer) == Facter::Util::Windows::FFI::WIN32_FALSE
29
- raise Facter::Util::Windows::Error.new("Failed to create administrators SID")
30
- end
31
- end
32
-
33
- if IsValidSid(sid_pointer) == Facter::Util::Windows::FFI::WIN32_FALSE
34
- raise RuntimeError,"Invalid SID"
35
- end
36
-
37
- FFI::MemoryPointer.new(:win32_bool, 1) do |ismember_pointer|
38
- if CheckTokenMembership(Facter::Util::Windows::FFI::NULL_HANDLE, sid_pointer, ismember_pointer) == Facter::Util::Windows::FFI::WIN32_FALSE
39
- raise Facter::Util::Windows::Error.new("Failed to check membership")
40
- end
41
-
42
- # Is administrators SID enabled in calling thread's access token?
43
- is_admin = Facter::Util::Windows::FFI.read_win32_bool(ismember_pointer)
44
- end
45
- end
46
-
47
- is_admin
48
- end
49
- module_function :check_token_membership
50
-
51
- private
52
-
53
- ffi_convention :stdcall
54
-
55
- # https://msdn.microsoft.com/en-us/library/windows/desktop/aa376389(v=vs.85).aspx
56
- # BOOL WINAPI CheckTokenMembership(
57
- # _In_opt_ HANDLE TokenHandle,
58
- # _In_ PSID SidToCheck,
59
- # _Out_ PBOOL IsMember
60
- # );
61
- ffi_lib :advapi32
62
- attach_function :CheckTokenMembership,
63
- [:handle, :pointer, :pbool], :win32_bool
64
-
65
- public
66
-
67
- # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379650(v=vs.85).aspx
68
- WELL_KNOWN_SID_TYPE = enum(
69
- :WinNullSid , 0,
70
- :WinWorldSid , 1,
71
- :WinLocalSid , 2,
72
- :WinCreatorOwnerSid , 3,
73
- :WinCreatorGroupSid , 4,
74
- :WinCreatorOwnerServerSid , 5,
75
- :WinCreatorGroupServerSid , 6,
76
- :WinNtAuthoritySid , 7,
77
- :WinDialupSid , 8,
78
- :WinNetworkSid , 9,
79
- :WinBatchSid , 10,
80
- :WinInteractiveSid , 11,
81
- :WinServiceSid , 12,
82
- :WinAnonymousSid , 13,
83
- :WinProxySid , 14,
84
- :WinEnterpriseControllersSid , 15,
85
- :WinSelfSid , 16,
86
- :WinAuthenticatedUserSid , 17,
87
- :WinRestrictedCodeSid , 18,
88
- :WinTerminalServerSid , 19,
89
- :WinRemoteLogonIdSid , 20,
90
- :WinLogonIdsSid , 21,
91
- :WinLocalSystemSid , 22,
92
- :WinLocalServiceSid , 23,
93
- :WinNetworkServiceSid , 24,
94
- :WinBuiltinDomainSid , 25,
95
- :WinBuiltinAdministratorsSid , 26,
96
- :WinBuiltinUsersSid , 27,
97
- :WinBuiltinGuestsSid , 28,
98
- :WinBuiltinPowerUsersSid , 29,
99
- :WinBuiltinAccountOperatorsSid , 30,
100
- :WinBuiltinSystemOperatorsSid , 31,
101
- :WinBuiltinPrintOperatorsSid , 32,
102
- :WinBuiltinBackupOperatorsSid , 33,
103
- :WinBuiltinReplicatorSid , 34,
104
- :WinBuiltinPreWindows2000CompatibleAccessSid , 35,
105
- :WinBuiltinRemoteDesktopUsersSid , 36,
106
- :WinBuiltinNetworkConfigurationOperatorsSid , 37,
107
- :WinAccountAdministratorSid , 38,
108
- :WinAccountGuestSid , 39,
109
- :WinAccountKrbtgtSid , 40,
110
- :WinAccountDomainAdminsSid , 41,
111
- :WinAccountDomainUsersSid , 42,
112
- :WinAccountDomainGuestsSid , 43,
113
- :WinAccountComputersSid , 44,
114
- :WinAccountControllersSid , 45,
115
- :WinAccountCertAdminsSid , 46,
116
- :WinAccountSchemaAdminsSid , 47,
117
- :WinAccountEnterpriseAdminsSid , 48,
118
- :WinAccountPolicyAdminsSid , 49,
119
- :WinAccountRasAndIasServersSid , 50,
120
- :WinNTLMAuthenticationSid , 51,
121
- :WinDigestAuthenticationSid , 52,
122
- :WinSChannelAuthenticationSid , 53,
123
- :WinThisOrganizationSid , 54,
124
- :WinOtherOrganizationSid , 55,
125
- :WinBuiltinIncomingForestTrustBuildersSid , 56,
126
- :WinBuiltinPerfMonitoringUsersSid , 57,
127
- :WinBuiltinPerfLoggingUsersSid , 58,
128
- :WinBuiltinAuthorizationAccessSid , 59,
129
- :WinBuiltinTerminalServerLicenseServersSid , 60,
130
- :WinBuiltinDCOMUsersSid , 61,
131
- :WinBuiltinIUsersSid , 62,
132
- :WinIUserSid , 63,
133
- :WinBuiltinCryptoOperatorsSid , 64,
134
- :WinUntrustedLabelSid , 65,
135
- :WinLowLabelSid , 66,
136
- :WinMediumLabelSid , 67,
137
- :WinHighLabelSid , 68,
138
- :WinSystemLabelSid , 69,
139
- :WinWriteRestrictedCodeSid , 70,
140
- :WinCreatorOwnerRightsSid , 71,
141
- :WinCacheablePrincipalsGroupSid , 72,
142
- :WinNonCacheablePrincipalsGroupSid , 73,
143
- :WinEnterpriseReadonlyControllersSid , 74,
144
- :WinAccountReadonlyControllersSid , 75,
145
- :WinBuiltinEventLogReadersGroup , 76,
146
- :WinNewEnterpriseReadonlyControllersSid , 77,
147
- :WinBuiltinCertSvcDComAccessGroup , 78,
148
- :WinMediumPlusLabelSid , 79,
149
- :WinLocalLogonSid , 80,
150
- :WinConsoleLogonSid , 81,
151
- :WinThisOrganizationCertificateSid , 82,
152
- :WinApplicationPackageAuthoritySid , 83,
153
- :WinBuiltinAnyPackageSid , 84,
154
- :WinCapabilityInternetClientSid , 85,
155
- :WinCapabilityInternetClientServerSid , 86,
156
- :WinCapabilityPrivateNetworkClientServerSid , 87,
157
- :WinCapabilityPicturesLibrarySid , 88,
158
- :WinCapabilityVideosLibrarySid , 89,
159
- :WinCapabilityMusicLibrarySid , 90,
160
- :WinCapabilityDocumentsLibrarySid , 91,
161
- :WinCapabilitySharedUserCertificatesSid , 92,
162
- :WinCapabilityEnterpriseAuthenticationSid , 93,
163
- :WinCapabilityRemovableStorageSid , 94
164
- )
165
-
166
- private
167
-
168
- # https://msdn.microsoft.com/en-us/library/windows/desktop/aa446585(v=vs.85).aspx
169
- # BOOL WINAPI CreateWellKnownSid(
170
- # _In_ WELL_KNOWN_SID_TYPE WellKnownSidType,
171
- # _In_opt_ PSID DomainSid,
172
- # _Out_opt_ PSID pSid,
173
- # _Inout_ DWORD *cbSid
174
- # );
175
- ffi_lib :advapi32
176
- attach_function :CreateWellKnownSid,
177
- [WELL_KNOWN_SID_TYPE, :pointer, :pointer, :lpdword], :win32_bool
178
-
179
- # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379151(v=vs.85).aspx
180
- # BOOL WINAPI IsValidSid(
181
- # _In_ PSID pSid
182
- # );
183
- ffi_lib :advapi32
184
- attach_function :IsValidSid,
185
- [:pointer], :win32_bool
186
- end
@@ -1,7 +0,0 @@
1
- require 'facter/util/windows'
2
-
3
- module Facter::Util::Root
4
- def self.root?
5
- Facter::Util::Windows::User.admin?
6
- end
7
- end
@@ -1,49 +0,0 @@
1
- module Facter::Util::WMI
2
- class << self
3
-
4
- # Impersonation Level Constants
5
- # https://msdn.microsoft.com/en-us/library/windows/desktop/ms693790%28v=vs.85%29.aspx
6
- RPC_C_IMP_LEVEL_DEFAULT = 0
7
- RPC_C_IMP_LEVEL_ANONYMOUS = 1
8
- RPC_C_IMP_LEVEL_IDENTIFY = 2
9
- RPC_C_IMP_LEVEL_IMPERSONATE = 3
10
- RPC_C_IMP_LEVEL_DELEGATE = 4
11
-
12
- # returns a COM class implementing ISWbemServicesEx
13
- # prior to Facter 2.5.0, this defaulted to using a moniker
14
- # but now defaults to using COM classes directly to support Nano
15
- # backward compatibility is maintained in case custom facts specified a moniker
16
- # but note that passing in the uri parameter can never work on Nano
17
- def connect(uri = nil)
18
- require 'win32ole'
19
- uri.nil? ?
20
- connect2() :
21
- # NOTE: in the future it would be better to parse a given moniker uri / call connect2
22
- WIN32OLE.connect(uri)
23
- end
24
-
25
- # @deprecated
26
- def wmi_resource_uri( host = '.' )
27
- "winmgmts:{impersonationLevel=impersonate}!//#{host}/root/cimv2"
28
- end
29
-
30
- def execquery(query)
31
- connect().execquery(query)
32
- end
33
-
34
- private
35
-
36
- # this mimics the previous behavior of using the COM moniker
37
- # winmgmts:{impersonationLevel=impersonate}!//./root/cimv2
38
- # which is not supported on Nano Server
39
- def connect2( server = '.', namespace = 'root\\cimv2', impersonation_level = RPC_C_IMP_LEVEL_IMPERSONATE )
40
- locator = WIN32OLE.new("WbemScripting.SWbemLocator")
41
- # https://msdn.microsoft.com/en-us/library/aa393720%28v=vs.85%29.aspx
42
- # ConnectServer returns an ISWbemServicesEx
43
- conn = locator.ConnectServer(server, namespace)
44
- conn.Security_.ImpersonationLevel = impersonation_level
45
- conn
46
- end
47
-
48
- end
49
- end
@@ -1,28 +0,0 @@
1
- # A module to gather running Xen Domains
2
- #
3
- module Facter::Util::Xendomains
4
- XEN_COMMANDS = ['/usr/sbin/xl', '/usr/sbin/xm']
5
-
6
- def self.xen_command
7
- if File.file?('/usr/lib/xen-common/bin/xen-toolstack')
8
- xen_toolstack_cmd = Facter::Util::Resolution.exec('/usr/lib/xen-common/bin/xen-toolstack')
9
- if xen_toolstack_cmd
10
- xen_toolstack_cmd.chomp
11
- else
12
- nil
13
- end
14
- else
15
- XEN_COMMANDS.find { |cmd| Facter::Util::Resolution.which(cmd) }
16
- end
17
- end
18
-
19
- def self.get_domains
20
- command = self.xen_command
21
- if command
22
- if domains_list = Facter::Util::Resolution.exec("#{command} list 2>/dev/null")
23
- domains = domains_list.split("\n").reject { |line| line =~ /^(Name|Domain-0)/ }
24
- domains.map { |line| line.split(/\s/)[0] }.join(',')
25
- end
26
- end
27
- end
28
- end
@@ -1,86 +0,0 @@
1
- module Facter
2
- if not defined? FACTERVERSION then
3
- FACTERVERSION = '2.5.7'
4
- end
5
-
6
- # Returns the running version of Facter.
7
- #
8
- # @comment The intent is that software external to Facter be able to
9
- # determine the Facter version with no side-effects. The expected
10
- # use is:
11
- #
12
- # require 'facter/version'
13
- # version = Facter.version
14
- #
15
- # This function has the following ordering precedence. This precedence list
16
- # is designed to facilitate automated packaging tasks by simply writing to
17
- # the VERSION file in the same directory as this source file.
18
- #
19
- # 1. If a version has been explicitly assigned using the Facter.version=
20
- # method, return that version.
21
- # 2. If there is a VERSION file, read the contents, trim any
22
- # trailing whitespace, and return that version string.
23
- # 3. Return the value of the Facter::FACTERVERSION constant hard-coded into
24
- # the source code.
25
- #
26
- # If there is no VERSION file, the method must return the version string of
27
- # the nearest parent version that is an officially released version. That is
28
- # to say, if a branch named 3.1.x contains 25 patches on top of the most
29
- # recent official release of 3.1.1, then the version method must return the
30
- # string "3.1.1" if no "VERSION" file is present.
31
- #
32
- # By design the version identifier is _not_ intended to vary during the life of
33
- # a process. There is no guarantee provided that writing to the VERSION file
34
- # while a Puppet process is running will cause the version string to be
35
- # updated. On the contrary, the contents of the VERSION are cached to reduce
36
- # filesystem accesses.
37
- #
38
- # The VERSION file is intended to be used by package maintainers who may be
39
- # applying patches or otherwise changing the software version in a manner
40
- # that warrants a different software version identifier. The VERSION file is
41
- # intended to be managed and owned by the release process and packaging
42
- # related tasks, and as such should not reside in version control. The
43
- # FACTERVERSION constant is intended to be version controlled in history.
44
- #
45
- # Ideally, this behavior will allow package maintainers to precisely specify
46
- # the version of the software they're packaging as in the following example:
47
- #
48
- # $ git describe > lib/facter/VERSION
49
- # $ ruby -r facter -e 'puts Facter.version'
50
- # 1.6.14-6-g66f2c99
51
- #
52
- # @api public
53
- #
54
- # @return [String] containing the facter version, e.g. "1.6.14"
55
- def self.version
56
- version_file = File.join(File.dirname(__FILE__), 'VERSION')
57
- return @facter_version if @facter_version
58
- if version = read_version_file(version_file)
59
- @facter_version = version
60
- end
61
- @facter_version ||= FACTERVERSION
62
- end
63
-
64
- # Sets the Facter version
65
- #
66
- # @return [void]
67
- #
68
- # @api private
69
- def self.version=(version)
70
- @facter_version = version
71
- end
72
-
73
- # This reads the content of the "VERSION" file that lives in the
74
- # same directory as this source code file.
75
- #
76
- # @api private
77
- #
78
- # @return [String] the version -- for example: "1.6.14-6-gea42046" or nil if the VERSION
79
- # file does not exist.
80
- def self.read_version_file(path)
81
- if File.exists?(path)
82
- File.read(path).chomp
83
- end
84
- end
85
- private_class_method :read_version_file
86
- end
@@ -1,339 +0,0 @@
1
- # Fact: virtual
2
- #
3
- # Purpose: Determine if the system's hardware is real or virtualized.
4
- #
5
- # Resolution:
6
- # Assumes physical unless proven otherwise.
7
- #
8
- # On Darwin, use the macosx util module to acquire the SPHardwareDataType
9
- # and SPEthernetDataType, from which it is possible to determine if the host is
10
- # a VMware, Parallels, or VirtualBox. This previously used SPDisplaysDataType,
11
- # which was not reliable if running headless, and also caused lagging issues
12
- # on actual Macs.
13
- #
14
- # On Linux, BSD, Solaris and HPUX: Much of the logic here is obscured behind
15
- # `util/virtual.rb`, which you can consult directly for more detailed resolution
16
- # information.
17
- # The Xen tests in here rely on `/sys` and `/proc,` and check for the presence and
18
- # contents of files in there.
19
- # If after all the other tests it's still seen as physical, then it tries to
20
- # parse the output of the `lspci`, `dmidecode`, and `prtdiag` and parses them
21
- # for obvious signs of being under VMware, Parallels or VirtualBox.
22
- # Finally, it checks for the existence of `vmware-vmx`, which would hint that
23
- # it's VMware.
24
- #
25
- # Caveats:
26
- # Many checks rely purely on existence of files.
27
- #
28
-
29
- # Fact: is_virtual
30
- #
31
- # Purpose: Return `true` or `false` depending on whether a machine is virtualized or not.
32
- #
33
- # Resolution: Hypervisors and the like may be detected as a virtual type, but
34
- # are not actual virtual machines, or should not be treated as such. This
35
- # determines if the host is actually virtualized.
36
- #
37
- # Caveats:
38
- #
39
-
40
- require 'facter/util/virtual'
41
-
42
- Facter.add("virtual") do
43
- confine :kernel => "Darwin"
44
-
45
- setcode do
46
- require 'facter/util/macosx'
47
- result = "physical"
48
- # use SPHardwareDataType for VMware and VirtualBox, since it is the most
49
- # reliable source.
50
- output = Facter::Util::Macosx.profiler_data("SPHardwareDataType")
51
- if output.is_a?(Hash)
52
- result = "vmware" if output["machine_model"] =~ /VMware/
53
- result = "virtualbox" if output["boot_rom_version"] =~ /VirtualBox/
54
- end
55
- # Parallels passes through almost all of the host's hardware info to the
56
- # virtual machine, so use a different field.
57
- output = Facter::Util::Macosx.profiler_data("SPEthernetDataType")
58
- if output.is_a?(Hash)
59
- result = "parallels" if output["spethernet_subsystem-vendor-id"] =~ /0x1ab8/
60
- end
61
- result
62
- end
63
- end
64
-
65
- Facter.add("virtual") do
66
- confine :kernel => ["FreeBSD", "GNU/kFreeBSD"]
67
- has_weight 10
68
- setcode do
69
- "jail" if Facter::Util::Virtual.jail?
70
- end
71
- end
72
-
73
- Facter.add("virtual") do
74
- confine :kernel => 'SunOS'
75
- has_weight 10
76
- self.timeout = 20
77
-
78
- setcode do
79
- next "zone" if Facter::Util::Virtual.zone?
80
-
81
- output = Facter::Core::Execution.exec('prtdiag 2>/dev/null')
82
- if output
83
- lines = output.split("\n")
84
- next "parallels" if lines.any? {|l| l =~ /Parallels/ }
85
- next "vmware" if lines.any? {|l| l =~ /VM[wW]are/ }
86
- next "virtualbox" if lines.any? {|l| l =~ /VirtualBox/ }
87
- next "xenhvm" if lines.any? {|l| l =~ /HVM domU/ }
88
- end
89
- end
90
- end
91
-
92
- Facter.add("virtual") do
93
- confine :kernel => 'SunOS'
94
- confine :hardwareisa => 'sparc'
95
- confine :ldom_domainrole_control => 'false'
96
- has_weight 20 # Weight this before the default solaris implementation
97
- setcode do
98
- Facter.value(:ldom_domainrole_impl)
99
- end
100
- end
101
-
102
-
103
- Facter.add("virtual") do
104
- confine :kernel => 'HP-UX'
105
- has_weight 10
106
- setcode do
107
- "hpvm" if Facter::Util::Virtual.hpvm?
108
- end
109
- end
110
-
111
- Facter.add("virtual") do
112
- confine :architecture => 's390x'
113
- has_weight 10
114
- setcode do
115
- "zlinux" if Facter::Util::Virtual.zlinux?
116
- end
117
- end
118
-
119
- Facter.add("virtual") do
120
- confine :kernel => 'OpenBSD'
121
- has_weight 10
122
- setcode do
123
- output = Facter::Util::POSIX.sysctl("hw.product")
124
- if output
125
- lines = output.split("\n")
126
- next "parallels" if lines.any? {|l| l =~ /Parallels/ }
127
- next "vmware" if lines.any? {|l| l =~ /VMware/ }
128
- next "virtualbox" if lines.any? {|l| l =~ /VirtualBox/ }
129
- next "xenhvm" if lines.any? {|l| l =~ /HVM domU/ }
130
- next "ovirt" if lines.any? {|l| l =~ /oVirt Node/ }
131
- next "kvm" if lines.any? {|l| l =~ /KVM/ }
132
- end
133
- end
134
- end
135
-
136
- Facter.add("virtual") do
137
- confine :kernel => %w{Linux FreeBSD OpenBSD SunOS HP-UX GNU/kFreeBSD}
138
-
139
- setcode do
140
- next Facter::Util::Virtual.openvz_type if Facter::Util::Virtual.openvz?
141
- next Facter::Util::Virtual.vserver_type if Facter::Util::Virtual.vserver?
142
-
143
- if Facter::Util::Virtual.xen?
144
- next "xen0" if FileTest.exists?("/dev/xen/evtchn")
145
- next "xenu" if FileTest.exists?("/proc/xen") || FileTest.exists?("/dev/xvda1")
146
- end
147
-
148
- if Facter::Util::Virtual.ec2?
149
- next "ec2" if FileTest.exists?("/dev/nvme0")
150
- end
151
-
152
- next "virtualbox" if Facter::Util::Virtual.virtualbox?
153
- next Facter::Util::Virtual.kvm_type if Facter::Util::Virtual.kvm?
154
- next "rhev" if Facter::Util::Virtual.rhev?
155
- next "ovirt" if Facter::Util::Virtual.ovirt?
156
- next "nitro" if Facter::Util::Virtual.nitro?
157
-
158
- # Parse lspci
159
- output = Facter::Util::Virtual.lspci
160
- if output
161
- lines = output.split("\n")
162
- next "vmware" if lines.any? {|l| l =~ /VM[wW]are/ }
163
- next "virtualbox" if lines.any? {|l| l =~ /VirtualBox/ }
164
- next "parallels" if lines.any? {|l| l =~ /1ab8:|[Pp]arallels/ }
165
- next "xenhvm" if lines.any? {|l| l =~ /XenSource/ }
166
- next "hyperv" if lines.any? {|l| l =~ /Microsoft Corporation Hyper-V/ }
167
- next "gce" if lines.any? {|l| l =~ /Class 8007: Google, Inc/ }
168
- next "kvm" if lines.any? {|l| l =~ /virtio/i }
169
- end
170
-
171
- # Parse dmidecode
172
- output = Facter::Core::Execution.exec('dmidecode 2> /dev/null')
173
- if output
174
- lines = output.split("\n")
175
- next "parallels" if lines.any? {|l| l =~ /Parallels/ }
176
- next "vmware" if lines.any? {|l| l =~ /VMware/ }
177
- next "virtualbox" if lines.any? {|l| l =~ /VirtualBox/ }
178
- next "xenhvm" if lines.any? {|l| l =~ /HVM domU/ }
179
- next "hyperv" if lines.any? {|l| l =~ /Product Name: Virtual Machine/ }
180
- next "rhev" if lines.any? {|l| l =~ /Product Name: RHEV Hypervisor/ }
181
- next "ovirt" if lines.any? {|l| l =~ /Product Name: oVirt Node/ }
182
- next "bochs" if lines.any? {|l| l =~ /Bochs/ }
183
- next "kvm" if lines.any? {|l| l =~ /Manufacturer: QEMU/ }
184
- end
185
-
186
- # Default to 'physical'
187
- next 'physical'
188
- end
189
- end
190
-
191
- Facter.add("virtual") do
192
- confine do
193
- Facter::Core::Execution.which('vmware')
194
- end
195
-
196
- setcode do
197
- # Sample output of vmware -v `VMware Server 1.0.5 build-80187`
198
- output = Facter::Core::Execution.exec("vmware -v")
199
- if output
200
- mdata = output.match /(\S+)\s+(\S+)/
201
- next "#{mdata[1]}_#{mdata[2]}".downcase if mdata
202
- end
203
- end
204
- end
205
-
206
- Facter.add("virtual") do
207
- confine :kernel => "windows"
208
- setcode do
209
- require 'facter/util/wmi'
210
- result = nil
211
- Facter::Util::WMI.execquery("SELECT manufacturer, model FROM Win32_ComputerSystem").each do |computersystem|
212
- case computersystem.model
213
- when /VirtualBox/
214
- result = "virtualbox"
215
- when /Virtual Machine/
216
- result = "hyperv" if computersystem.manufacturer =~ /Microsoft/
217
- when /VMware/
218
- result = "vmware"
219
- when /KVM/
220
- result = "kvm"
221
- when /Bochs/
222
- result = "bochs"
223
- when /OpenStack/
224
- result = "openstack"
225
- when /Google Compute Engine/
226
- result = "gce"
227
- end
228
-
229
- if result.nil? and computersystem.manufacturer =~ /Xen/
230
- result = "xen"
231
- end
232
-
233
- if result.nil? and computersystem.manufacturer =~ /Amazon/
234
- result = "nitro"
235
- end
236
-
237
- break
238
- end
239
- result ||= "physical"
240
-
241
- result
242
- end
243
- end
244
-
245
- ##
246
- # virtual fact based on virt-what command.
247
- #
248
- # The output is mapped onto existing known values for the virtual fact in an
249
- # effort to preserve consistency. This fact has a high weight becuase the
250
- # virt-what tool is expected to be maintained upstream.
251
- #
252
- # If the virt-what command is not available, this fact will not resolve to a
253
- # value and lower-weight virtual facts will be attempted.
254
- #
255
- # Only the last line of the virt-what command is returned
256
- Facter.add("virtual") do
257
- has_weight 500
258
-
259
- setcode do
260
- if output = Facter::Util::Virtual.virt_what
261
- case output
262
- when 'linux_vserver'
263
- Facter::Util::Virtual.vserver_type
264
- when /xen-hvm/i
265
- 'xenhvm'
266
- when /xen-dom0/i
267
- 'xen0'
268
- when /xen-domU/i
269
- 'xenu'
270
- when /ibm_systemz/i
271
- 'zlinux'
272
- else
273
- output.to_s.split("\n").last
274
- end
275
- end
276
- end
277
- end
278
-
279
- ##
280
- # virtual fact specific to Google Compute Engine's Linux sysfs entry.
281
- Facter.add("virtual") do
282
- has_weight 600
283
- confine :kernel => "Linux"
284
-
285
- setcode do
286
- if dmi_data = Facter::Util::Virtual.read_sysfs_dmi_entries
287
- case dmi_data
288
- when /Google/
289
- "gce"
290
- end
291
- end
292
- end
293
- end
294
-
295
- ##
296
- # virtual fact specific to linux containers. This also works for Docker
297
- # containers running in lxc.
298
- Facter.add("virtual") do
299
- has_weight 700
300
- confine :kernel => "Linux"
301
-
302
- setcode do
303
- "lxc" if Facter::Util::Virtual.lxc?
304
- end
305
- end
306
-
307
- ##
308
- # virtual fact specific to docker containers.
309
- Facter.add("virtual") do
310
- has_weight 750
311
- confine :kernel => "Linux"
312
-
313
- setcode do
314
- "docker" if Facter::Util::Virtual.docker?
315
- end
316
- end
317
-
318
- Facter.add("virtual") do
319
- has_weight 600
320
- confine :kernel => "Linux"
321
-
322
- setcode do
323
- "gce" if Facter::Util::Virtual.gce?
324
- end
325
- end
326
-
327
- Facter.add("is_virtual") do
328
- confine :kernel => %w{Linux FreeBSD OpenBSD SunOS HP-UX Darwin GNU/kFreeBSD windows}
329
-
330
- setcode do
331
- physical_types = %w{physical xen0 vmware_server vmware_workstation openvzhn vserver_host}
332
-
333
- if physical_types.include? Facter.value(:virtual)
334
- false
335
- else
336
- true
337
- end
338
- end
339
- end