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.
- checksums.yaml +5 -5
- data/bin/facter.bat +8 -0
- data/bin/facter.exe +0 -0
- data/bin/facter_interactive.bat +6 -0
- data/bin/libfacter.so +0 -0
- data/bin/run_facter_interactive.bat +9 -0
- data/lib/facter.rb +45 -261
- data/lib/libfacter.so.a +0 -0
- metadata +23 -854
- data/COMMITTERS.md +0 -185
- data/CONTRIBUTING.md +0 -91
- data/Gemfile +0 -69
- data/LICENSE +0 -15
- data/README.md +0 -65
- data/Rakefile +0 -46
- data/bin/facter +0 -20
- data/etc/facter.conf +0 -5
- data/ext/build_defaults.yaml +0 -9
- data/ext/debian/changelog.erb +0 -59
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -15
- data/ext/debian/copyright +0 -19
- data/ext/debian/docs +0 -1
- data/ext/debian/lintian-overrides +0 -0
- data/ext/debian/rules +0 -10
- data/ext/debian/source/format +0 -1
- data/ext/facter-diff +0 -74
- data/ext/ips/facter.p5m.erb +0 -10
- data/ext/ips/rules +0 -7
- data/ext/ips/transforms +0 -18
- data/ext/osx/file_mapping.yaml +0 -32
- data/ext/osx/preflight.erb +0 -33
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/project_data.yaml +0 -31
- data/ext/redhat/facter.spec.erb +0 -223
- data/ext/solaris/pkginfo +0 -7
- data/install.rb +0 -380
- data/lib/facter/Cfkey.rb +0 -42
- data/lib/facter/application.rb +0 -206
- data/lib/facter/architecture.rb +0 -50
- data/lib/facter/augeasversion.rb +0 -28
- data/lib/facter/blockdevices.rb +0 -105
- data/lib/facter/core/aggregate.rb +0 -220
- data/lib/facter/core/directed_graph.rb +0 -46
- data/lib/facter/core/execution.rb +0 -123
- data/lib/facter/core/execution/base.rb +0 -81
- data/lib/facter/core/execution/posix.rb +0 -50
- data/lib/facter/core/execution/windows.rb +0 -57
- data/lib/facter/core/logging.rb +0 -197
- data/lib/facter/core/resolvable.rb +0 -94
- data/lib/facter/core/suitable.rb +0 -113
- data/lib/facter/dhcp_servers.rb +0 -45
- data/lib/facter/domain.rb +0 -99
- data/lib/facter/ec2.rb +0 -68
- data/lib/facter/ec2/rest.rb +0 -137
- data/lib/facter/facterversion.rb +0 -15
- data/lib/facter/filesystems.rb +0 -45
- data/lib/facter/fqdn.rb +0 -24
- data/lib/facter/gce.rb +0 -16
- data/lib/facter/gce/metadata.rb +0 -87
- data/lib/facter/gid.rb +0 -25
- data/lib/facter/hardwareisa.rb +0 -20
- data/lib/facter/hardwaremodel.rb +0 -67
- data/lib/facter/hostname.rb +0 -31
- data/lib/facter/id.rb +0 -21
- data/lib/facter/interfaces.rb +0 -58
- data/lib/facter/ipaddress.rb +0 -169
- data/lib/facter/ipaddress6.rb +0 -82
- data/lib/facter/iphostnumber.rb +0 -29
- data/lib/facter/kernel.rb +0 -22
- data/lib/facter/kernelmajversion.rb +0 -23
- data/lib/facter/kernelrelease.rb +0 -45
- data/lib/facter/kernelversion.rb +0 -22
- data/lib/facter/ldom.rb +0 -51
- data/lib/facter/lsbdistcodename.rb +0 -20
- data/lib/facter/lsbdistdescription.rb +0 -21
- data/lib/facter/lsbdistid.rb +0 -20
- data/lib/facter/lsbdistrelease.rb +0 -20
- data/lib/facter/lsbmajdistrelease.rb +0 -22
- data/lib/facter/lsbminordistrelease.rb +0 -22
- data/lib/facter/lsbrelease.rb +0 -20
- data/lib/facter/macaddress.rb +0 -99
- data/lib/facter/macosx.rb +0 -56
- data/lib/facter/manufacturer.rb +0 -68
- data/lib/facter/memory.rb +0 -168
- data/lib/facter/netmask.rb +0 -43
- data/lib/facter/network.rb +0 -20
- data/lib/facter/operatingsystem.rb +0 -24
- data/lib/facter/operatingsystem/base.rb +0 -61
- data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
- data/lib/facter/operatingsystem/implementation.rb +0 -33
- data/lib/facter/operatingsystem/linux.rb +0 -511
- data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
- data/lib/facter/operatingsystem/sunos.rb +0 -54
- data/lib/facter/operatingsystem/vmkernel.rb +0 -11
- data/lib/facter/operatingsystem/windows.rb +0 -43
- data/lib/facter/operatingsystemmajrelease.rb +0 -31
- data/lib/facter/operatingsystemrelease.rb +0 -29
- data/lib/facter/os.rb +0 -98
- data/lib/facter/osfamily.rb +0 -18
- data/lib/facter/partitions.rb +0 -39
- data/lib/facter/path.rb +0 -14
- data/lib/facter/physicalprocessorcount.rb +0 -27
- data/lib/facter/processor.rb +0 -52
- data/lib/facter/processors.rb +0 -66
- data/lib/facter/processors/os.rb +0 -244
- data/lib/facter/ps.rb +0 -31
- data/lib/facter/puppetversion.rb +0 -20
- data/lib/facter/rackspace.rb +0 -37
- data/lib/facter/rubyplatform.rb +0 -12
- data/lib/facter/rubysitedir.rb +0 -15
- data/lib/facter/rubyversion.rb +0 -12
- data/lib/facter/selinux.rb +0 -154
- data/lib/facter/ssh.rb +0 -73
- data/lib/facter/system32.rb +0 -21
- data/lib/facter/system_uptime.rb +0 -44
- data/lib/facter/timezone.rb +0 -14
- data/lib/facter/uniqueid.rb +0 -4
- data/lib/facter/uptime.rb +0 -16
- data/lib/facter/uptime_days.rb +0 -13
- data/lib/facter/uptime_hours.rb +0 -13
- data/lib/facter/uptime_seconds.rb +0 -20
- data/lib/facter/util/architecture.rb +0 -19
- data/lib/facter/util/collection.rb +0 -161
- data/lib/facter/util/composite_loader.rb +0 -12
- data/lib/facter/util/config.rb +0 -88
- data/lib/facter/util/confine.rb +0 -66
- data/lib/facter/util/dhcp_servers.rb +0 -58
- data/lib/facter/util/directory_loader.rb +0 -88
- data/lib/facter/util/ec2.rb +0 -106
- data/lib/facter/util/fact.rb +0 -204
- data/lib/facter/util/file_read.rb +0 -37
- data/lib/facter/util/formatter.rb +0 -39
- data/lib/facter/util/ip.rb +0 -340
- data/lib/facter/util/ip/windows.rb +0 -215
- data/lib/facter/util/loader.rb +0 -155
- data/lib/facter/util/macaddress.rb +0 -43
- data/lib/facter/util/macosx.rb +0 -73
- data/lib/facter/util/manufacturer.rb +0 -99
- data/lib/facter/util/memory.rb +0 -228
- data/lib/facter/util/netmask.rb +0 -40
- data/lib/facter/util/normalization.rb +0 -94
- data/lib/facter/util/nothing_loader.rb +0 -12
- data/lib/facter/util/operatingsystem.rb +0 -21
- data/lib/facter/util/parser.rb +0 -168
- data/lib/facter/util/partitions.rb +0 -47
- data/lib/facter/util/partitions/linux.rb +0 -71
- data/lib/facter/util/partitions/openbsd.rb +0 -40
- data/lib/facter/util/plist.rb +0 -24
- data/lib/facter/util/plist/generator.rb +0 -228
- data/lib/facter/util/plist/parser.rb +0 -226
- data/lib/facter/util/posix.rb +0 -16
- data/lib/facter/util/processor.rb +0 -289
- data/lib/facter/util/registry.rb +0 -11
- data/lib/facter/util/resolution.rb +0 -160
- data/lib/facter/util/solaris_zones.rb +0 -158
- data/lib/facter/util/unix_root.rb +0 -5
- data/lib/facter/util/uptime.rb +0 -83
- data/lib/facter/util/values.rb +0 -109
- data/lib/facter/util/virtual.rb +0 -220
- data/lib/facter/util/vlans.rb +0 -21
- data/lib/facter/util/windows.rb +0 -10
- data/lib/facter/util/windows/api_types.rb +0 -135
- data/lib/facter/util/windows/dir.rb +0 -43
- data/lib/facter/util/windows/error.rb +0 -87
- data/lib/facter/util/windows/process.rb +0 -294
- data/lib/facter/util/windows/user.rb +0 -186
- data/lib/facter/util/windows_root.rb +0 -7
- data/lib/facter/util/wmi.rb +0 -49
- data/lib/facter/util/xendomains.rb +0 -28
- data/lib/facter/version.rb +0 -86
- data/lib/facter/virtual.rb +0 -339
- data/lib/facter/vlans.rb +0 -17
- data/lib/facter/xendomains.rb +0 -20
- data/lib/facter/zfs_version.rb +0 -14
- data/lib/facter/zonename.rb +0 -6
- data/lib/facter/zones.rb +0 -18
- data/lib/facter/zpool_version.rb +0 -10
- data/spec/fixtures/cpuinfo/amd64dual +0 -57
- data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
- data/spec/fixtures/cpuinfo/amd64quad +0 -79
- data/spec/fixtures/cpuinfo/amd64solo +0 -23
- data/spec/fixtures/cpuinfo/amd64tri +0 -86
- data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
- data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
- data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
- data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
- data/spec/fixtures/cpuinfo/panda-armel +0 -17
- data/spec/fixtures/cpuinfo/ppc64 +0 -19
- data/spec/fixtures/cpuinfo/ppc64le +0 -15
- data/spec/fixtures/cpuinfo/sparc +0 -10
- data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
- data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
- data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
- data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
- data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
- data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
- data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
- data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
- data/spec/fixtures/hpux/sched.models +0 -174
- data/spec/fixtures/hpux/unistd.h +0 -1534
- data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
- data/spec/fixtures/ifconfig/centos_5_5 +0 -17
- data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
- data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
- data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
- data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
- data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
- data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
- data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
- data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
- data/spec/fixtures/ifconfig/fedora_10 +0 -36
- data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
- data/spec/fixtures/ifconfig/fedora_13 +0 -18
- data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
- data/spec/fixtures/ifconfig/fedora_8 +0 -38
- data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
- data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
- data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
- data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
- data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
- data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
- data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
- data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
- data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
- data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
- data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
- data/spec/fixtures/ldom/ldom_v1 +0 -6
- data/spec/fixtures/netstat/centos_5_5 +0 -5
- data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
- data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
- data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
- data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
- data/spec/fixtures/netstat/fedora_10 +0 -7
- data/spec/fixtures/netstat/open_solaris_10 +0 -16
- data/spec/fixtures/netstat/open_solaris_b132 +0 -17
- data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
- data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
- data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
- data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
- data/spec/fixtures/unit/dhcp_servers/route +0 -3
- data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
- data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
- data/spec/fixtures/unit/filesystems/linux +0 -28
- data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
- data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
- data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
- data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
- data/spec/fixtures/unit/memory/aix-svmon +0 -9
- data/spec/fixtures/unit/memory/aix-swap_l +0 -2
- data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
- data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
- data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
- data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
- data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
- data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
- data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
- data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
- data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
- data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
- data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
- data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
- data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
- data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
- data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
- data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
- data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
- data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
- data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
- data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
- data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
- data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
- data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
- data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
- data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
- data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
- data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
- data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
- data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
- data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
- data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
- data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
- data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
- data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
- data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
- data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
- data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
- data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
- data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
- data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
- data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
- data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
- data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
- data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
- data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
- data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
- data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
- data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
- data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
- data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
- data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
- data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
- data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
- data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
- data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
- data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
- data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
- data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
- data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
- data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
- data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
- data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
- data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
- data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
- data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
- data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
- data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
- data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
- data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
- data/spec/integration/facter_spec.rb +0 -39
- data/spec/integration/util/windows/user_spec.rb +0 -59
- data/spec/lib/facter_spec/cpuinfo.rb +0 -15
- data/spec/lib/facter_spec/windows_network.rb +0 -64
- data/spec/puppetlabs_spec/files.rb +0 -57
- data/spec/puppetlabs_spec/fixtures.rb +0 -49
- data/spec/puppetlabs_spec/matchers.rb +0 -87
- data/spec/puppetlabs_spec/verbose.rb +0 -9
- data/spec/puppetlabs_spec_helper.rb +0 -26
- data/spec/schema/validate_facter_schema.rb +0 -18
- data/spec/shared_contexts/platform.rb +0 -55
- data/spec/shared_formats/parses.rb +0 -3
- data/spec/spec_helper.rb +0 -68
- data/spec/unit/application_spec.rb +0 -110
- data/spec/unit/architecture_spec.rb +0 -63
- data/spec/unit/blockdevices_spec.rb +0 -109
- data/spec/unit/core/aggregate_spec.rb +0 -125
- data/spec/unit/core/directed_graph_spec.rb +0 -79
- data/spec/unit/core/execution/base_spec.rb +0 -130
- data/spec/unit/core/execution/posix_spec.rb +0 -96
- data/spec/unit/core/execution/windows_spec.rb +0 -106
- data/spec/unit/core/execution_spec.rb +0 -42
- data/spec/unit/core/logging_spec.rb +0 -223
- data/spec/unit/core/resolvable_spec.rb +0 -81
- data/spec/unit/core/suitable_spec.rb +0 -106
- data/spec/unit/dhcp_servers_spec.rb +0 -212
- data/spec/unit/domain_spec.rb +0 -310
- data/spec/unit/ec2/rest_spec.rb +0 -168
- data/spec/unit/ec2_spec.rb +0 -139
- data/spec/unit/facter_spec.rb +0 -108
- data/spec/unit/filesystems_spec.rb +0 -50
- data/spec/unit/fqdn_spec.rb +0 -16
- data/spec/unit/gce/metadata_spec.rb +0 -49
- data/spec/unit/gce_spec.rb +0 -34
- data/spec/unit/gid_spec.rb +0 -51
- data/spec/unit/hardwareisa_spec.rb +0 -41
- data/spec/unit/hardwaremodel_spec.rb +0 -58
- data/spec/unit/hostname_spec.rb +0 -40
- data/spec/unit/id_spec.rb +0 -29
- data/spec/unit/interfaces_spec.rb +0 -67
- data/spec/unit/ipaddress6_spec.rb +0 -180
- data/spec/unit/ipaddress_spec.rb +0 -114
- data/spec/unit/kernel_spec.rb +0 -24
- data/spec/unit/kernelmajversion_spec.rb +0 -22
- data/spec/unit/kernelrelease_spec.rb +0 -66
- data/spec/unit/kernelversion_spec.rb +0 -32
- data/spec/unit/ldom_spec.rb +0 -84
- data/spec/unit/lsbdistcodename_spec.rb +0 -30
- data/spec/unit/lsbdistdescription_spec.rb +0 -30
- data/spec/unit/lsbdistid_spec.rb +0 -30
- data/spec/unit/lsbdistrelease_spec.rb +0 -30
- data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
- data/spec/unit/lsbminordistrelease_spec.rb +0 -31
- data/spec/unit/lsbrelease_spec.rb +0 -30
- data/spec/unit/macaddress_spec.rb +0 -76
- data/spec/unit/manufacturer_spec.rb +0 -115
- data/spec/unit/memory_spec.rb +0 -470
- data/spec/unit/netmask_spec.rb +0 -106
- data/spec/unit/operatingsystem/base_spec.rb +0 -76
- data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
- data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
- data/spec/unit/operatingsystem/linux_spec.rb +0 -559
- data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
- data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
- data/spec/unit/operatingsystem/windows_spec.rb +0 -77
- data/spec/unit/operatingsystem_spec.rb +0 -17
- data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
- data/spec/unit/operatingsystemrelease_spec.rb +0 -20
- data/spec/unit/os_spec.rb +0 -131
- data/spec/unit/osfamily_spec.rb +0 -17
- data/spec/unit/partitions_spec.rb +0 -88
- data/spec/unit/physicalprocessorcount_spec.rb +0 -13
- data/spec/unit/processor_spec.rb +0 -38
- data/spec/unit/processors/os_spec.rb +0 -469
- data/spec/unit/processors_spec.rb +0 -203
- data/spec/unit/ps_spec.rb +0 -42
- data/spec/unit/rackspace_spec.rb +0 -40
- data/spec/unit/rubyplatform_spec.rb +0 -7
- data/spec/unit/selinux_spec.rb +0 -119
- data/spec/unit/ssh_spec.rb +0 -77
- data/spec/unit/system32_spec.rb +0 -28
- data/spec/unit/system_uptime_spec.rb +0 -80
- data/spec/unit/uniqueid_spec.rb +0 -27
- data/spec/unit/uptime_spec.rb +0 -110
- data/spec/unit/util/collection_spec.rb +0 -258
- data/spec/unit/util/config_spec.rb +0 -120
- data/spec/unit/util/confine_spec.rb +0 -148
- data/spec/unit/util/dhcp_servers_spec.rb +0 -63
- data/spec/unit/util/directory_loader_spec.rb +0 -102
- data/spec/unit/util/ec2_spec.rb +0 -184
- data/spec/unit/util/fact_spec.rb +0 -142
- data/spec/unit/util/file_read_spec.rb +0 -29
- data/spec/unit/util/formatter_spec.rb +0 -55
- data/spec/unit/util/ip/windows_spec.rb +0 -80
- data/spec/unit/util/ip_spec.rb +0 -487
- data/spec/unit/util/loader_spec.rb +0 -286
- data/spec/unit/util/macaddress_spec.rb +0 -143
- data/spec/unit/util/macosx_spec.rb +0 -114
- data/spec/unit/util/manufacturer_spec.rb +0 -223
- data/spec/unit/util/normalization_spec.rb +0 -113
- data/spec/unit/util/operatingsystem_spec.rb +0 -107
- data/spec/unit/util/parser_spec.rb +0 -233
- data/spec/unit/util/partitions/partitions_spec.rb +0 -67
- data/spec/unit/util/partitions_spec.rb +0 -19
- data/spec/unit/util/posix_spec.rb +0 -11
- data/spec/unit/util/processor_spec.rb +0 -212
- data/spec/unit/util/registry_spec.rb +0 -76
- data/spec/unit/util/resolution_spec.rb +0 -129
- data/spec/unit/util/solaris_zones_spec.rb +0 -127
- data/spec/unit/util/uptime_spec.rb +0 -131
- data/spec/unit/util/values_spec.rb +0 -171
- data/spec/unit/util/virtual_spec.rb +0 -393
- data/spec/unit/util/vlans_spec.rb +0 -42
- data/spec/unit/util/wmi_spec.rb +0 -19
- data/spec/unit/util/xendomains_spec.rb +0 -114
- data/spec/unit/version_spec.rb +0 -42
- data/spec/unit/virtual_spec.rb +0 -585
- data/spec/unit/zfs_version_spec.rb +0 -87
- data/spec/unit/zonename_spec.rb +0 -14
- data/spec/unit/zones_spec.rb +0 -55
- data/spec/unit/zpool_version_spec.rb +0 -80
- 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
|
data/lib/facter/util/wmi.rb
DELETED
@@ -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
|
data/lib/facter/version.rb
DELETED
@@ -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
|
data/lib/facter/virtual.rb
DELETED
@@ -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
|