John Wolfe [Mon, 19 Apr 2021 18:08:10 +0000 (11:08 -0700)]
Fix issues using GCC 11 with gtk >= 3.20 and glib >=2.66.3
With glib2.0 releases >= 2.66.3, glib header files inside an
extern "C" block will encounter compilation errors. This has
impacted several OSS packages. Consumers of newer versions of glib2.0
must not include glib headers in an extern "C" block.
GTK 3.20 has deprecated gdk_display_get_device_manager(); using the
newer gdk_display_get_default_seat() when the GTK version is >= 3.20.
The return value from read() must be used to avoid an unused result
warning from the compiler. This can be avoided by using dummy retyping
in the case where the return value is not used or in this case, using
the returned value in a debug log message.
John Wolfe [Mon, 5 Apr 2021 16:01:42 +0000 (09:01 -0700)]
lib/file/file.c: File_UnlinkIfExists()
Revised File_UnlinkIfExists() to return 0 for success and an errno for
failure. Previously, a failure was indicated by a -1 and the caller had
to retrieve the errno.
John Wolfe [Mon, 5 Apr 2021 16:01:41 +0000 (09:01 -0700)]
lib/file/file.c: File_Unlink()
Revised File_Unlink() to return 0 for success and an errno for failure.
Previously, a failure was indicated by a -1 and the caller had to retrieve
the errno.
John Wolfe [Mon, 5 Apr 2021 16:01:41 +0000 (09:01 -0700)]
Common source file change not directly applicable to open-vm-tools.
lib/file/file.c:
Revised File_UnlinkRetry() and File_UnlinkNoFollow() to return 0 for
success and an errno for failure. Previously, a failure was indicated
by a -1 and the caller had to retrieve the errno.
John Wolfe [Fri, 26 Mar 2021 03:21:17 +0000 (20:21 -0700)]
Linux guest identification: Support multiple architectures.
Allow machine architecture information to be present in the
"short string" and the guestOS string. This is done via a prefix,
"<arch>-" (e.g. arm-ubuntu-64, riscv-debian11-64, arm-windows10-64)
with the X86 architecture being implied (no explicit "<arch>-").
Add the recognition of the Arm machine architecture to the Linux
guest identification code.
John Wolfe [Fri, 26 Mar 2021 03:21:17 +0000 (20:21 -0700)]
Add machine architecture information to os.detailed.data.
The detailed data now include information about the guest's running
machine architecture. A later change will deal with the guest
"short name" (a.k.a. the guestOS string).
John Wolfe [Fri, 26 Mar 2021 03:21:17 +0000 (20:21 -0700)]
Implement log redirection for the deployPkg plugin.
On Linux, /var/log/vmware-imc/toolsDeployPkg.log is the default deployPkgs
log file. This change allows users to redirect that log to the vmware.log
on the host or to another file located on the guest VM. Redirection is
controlled by settings in the "logging" section of the tools.conf file.
See the examples in the sample tools.conf file provided in the distribution.
John Wolfe [Thu, 4 Mar 2021 21:48:46 +0000 (13:48 -0800)]
Configuring OVT with the --without-pam option will implicitly disable vgauth.
When no vgauth option is given alongside -–without-pam, a warning
is displayed with a message “Building without PAM; vgauth will be
disabled.”.
When -–disable-vgauth is supplied alongside –-without-pam, no
warning or error message is displayed.
When -–enable-vgauth is supplied alongside -–without-pam, an
error will be thrown and the configure stage will be aborted with an
error message “Cannot enable vgauth without PAM. Please configure
without --without-pam or without --enable-vgauth.”
John Wolfe [Thu, 4 Mar 2021 21:48:46 +0000 (13:48 -0800)]
tools/vmwgfxctrl: Add a command line tool for controlling vmwgfx.
vmwgfxctrl is a small command line tool used to control various
aspects of the vmwgfx kernel driver. Currently it can both
display and set current topology of the vmwgfx kernel driver.
It should be distributed alongside other open-vm-tools binaries.
It's incredibly useful when trying to set custom resolution on any
recent distro (that includes multi-monitor setups).
John Wolfe [Thu, 4 Mar 2021 21:48:46 +0000 (13:48 -0800)]
PowerOps plugin logging of diagnostic messages on the host.
To assist with diagnosis of VM power operations, have the powerOps plugin
log messages about guest OS reboot, shutdown, power-on/power-off,
script execution, and exit status to the VM's guest.log file on the host.
John Wolfe [Thu, 4 Mar 2021 21:48:46 +0000 (13:48 -0800)]
Reduce or eliminate Linux dependency on the "net-tools" package.
The "ifconfig" and "netstat" commands are deprecated in more recent
releases of Linux. Update the Linux vm-support script to use the "ip"
and "ss" commands when available.
If Available: Fallback:
ip ifconfig
ip route route
ss netstat