From: Oliver Kurth Date: Fri, 20 Sep 2019 20:28:29 +0000 (-0700) Subject: update ChangeLog X-Git-Tag: stable-11.0.0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=801d4b7f4978945aa0fd53259011e2da6345cc43;p=thirdparty%2Fopen-vm-tools.git update ChangeLog --- diff --git a/open-vm-tools/ChangeLog b/open-vm-tools/ChangeLog index 5902cdb6a..1f10d5dc5 100644 --- a/open-vm-tools/ChangeLog +++ b/open-vm-tools/ChangeLog @@ -1,3 +1,16981 @@ +commit 87589da5255d84efad0c50446246b2788eeab582 +Author: Oliver Kurth +Date: Fri Sep 20 13:11:24 2019 -0700 + + release notes for 11.0.0 + +commit 3c03fd5446ddd23979380fd2518f1f5c7c116dbd +Author: Oliver Kurth +Date: Fri Sep 20 11:08:35 2019 -0700 + + update copyright header for lib/include/vmware/guestrpc/tclodefs.h + +commit 99145edb39cc1e08b0848ea464fd17dca2ef2541 +Author: Oliver Kurth +Date: Fri Sep 20 11:07:16 2019 -0700 + + update build number for release + +commit 570ec94ccfc5bcf2a55d891ae8af2a24bb4e9caf +Author: Oliver Kurth +Date: Thu Aug 29 17:14:39 2019 -0700 + + Due to a quirk the way patches were generated, the 'coomon-agent' directory was not removed as intended, but just contained empty files + +commit ae791f849d0e49d968a3ba068d6f421de936754d +Author: Oliver Kurth +Date: Fri Aug 23 13:33:55 2019 -0700 + + tools.conf example: add vss.disableAppQuiescing + +commit 867f9cf4fd9903e1e10e4d7f70fef3b7fdb2a5d3 +Author: Oliver Kurth +Date: Mon Aug 5 11:22:01 2019 -0700 + + Enable the guest OS disk mapping feature as default. + + Enabling the OS disk mapping feature in VMware Tools 11.0.0 for + Windows and Linux guests. + +commit 782b42a5248cd01d37f0002aa7e30df4cc787129 +Author: Oliver Kurth +Date: Mon Aug 5 11:22:01 2019 -0700 + + Fix broken command: vmtoolsd --cmd info-get | info-set + +commit d4922cad5f627b1dd3315f59ed8a5ce2f4767e83 +Author: Oliver Kurth +Date: Mon Aug 5 11:22:01 2019 -0700 + + [OVT] Update copyright year to 2019. + + A new version of VMware Tools 11.0.0 will be released in 2019. All + applicable files need to stamped with 2019 copyright year. + +commit 5cb75e0a93b9531875e9e29515a0ea912ca3aca7 +Author: Oliver Kurth +Date: Mon Aug 5 11:22:00 2019 -0700 + + Avoid freezing mount points for same device. + + Loopback device setup could cause a cyclic dependency + between 2 mount points. In order to break the cycle, + avoid freezing the mount points to the same device. + + This change also skips some system mount points for 'tmpfs' + and 'cgroup' etc as those share the same device/FS name. + This is fine because we can't quiese those mount points + anyway (system mount points don't support quiescing). + +commit 385dc97f645ccaa4a0550b53949715394a009fb6 +Author: Oliver Kurth +Date: Mon Aug 5 11:21:59 2019 -0700 + + Add RpcChannel_SendOneRawPriv() + + Send privileged guest RPC "guestStore.connect" with it after the + vmsvc RPC channel falls back to backdoor. + +commit e385c90808d527bce41259796badba094ad62a77 +Author: Oliver Kurth +Date: Mon Aug 5 11:21:59 2019 -0700 + + Add an example configuration tools.conf file for tools + + This adds an example tools.conf file. Settings are shown in the + file with default values, but commented out with documentation. + +commit decb8769e31e88f23b16b7a6ff3a1545a6259abe +Author: Oliver Kurth +Date: Mon Aug 5 11:21:59 2019 -0700 + + [TOOLS] Fix dnd text from Linux guest + + Gtk::Widget::drag_dest_find_target() returns different values from GDK_NONE + on Gtk2 and Gtk3. + + On Gtk2, it returns an empty string. It matches the existing code. + On Gtk3, it returns "NONE". The current logic breaks. + + To overcome this issue, use Gdk::AtomString::to_cpp_type(GDK_NONE) to + replace the current empty string. This works on both Gtk2 and Gtk3. + +commit 8d299b17ba81d47f7f561479a688ab1843f904c8 +Author: Oliver Kurth +Date: Mon Aug 5 11:21:59 2019 -0700 + + Fix gcc 9.1 build error in vmblocktest.c + + GCC 9.1 in Ubuntu eoan (19.10) failed to build open-vm-tools: + error: '__builtin_strncpy' specified bound 4096 equals destination + size [-Werror=stringop-truncation] + +commit e8d08518353295527e635f666c0d3146dcc698cb +Author: Oliver Kurth +Date: Sat Jul 20 17:10:07 2019 -0700 + + version 11.0.0 + +commit 82ef6f896c99212c9366e3e52d7767e86d9677c3 +Author: Oliver Kurth +Date: Sat Jul 20 17:03:42 2019 -0700 + + Fix the memory leak in procMgr library. + + In a specific code path, procCmdAbsPath attribute is ovewritten + with the new memory. This leads to a memory leak for the previously + allocated memory. + +commit 003ed9e082dd10c67aa022514ad0c662c7e1a6a4 +Author: Oliver Kurth +Date: Sat Jul 20 17:03:42 2019 -0700 + + GuestInfo: fix memory leak in GuestInfoGetPrimaryIP() + + "ipstr" was not free'ed when it was not being used. + +commit 3d60252dc25705841c4afb49e766be2bd7815acd +Author: Oliver Kurth +Date: Sat Jul 20 17:03:42 2019 -0700 + + Avoid emitting a trailing comma in the GuestInfoSendDiskInfoV1 JSON RPC + + Although currently accepted by the JSON library that we are using + in VMX, that superfluous comma is strictly invalid according to the + JSON standard - ECMA-404. + +commit f65edaec32d2e1c7c14d69f4f2af669805cfd4b4 +Author: Oliver Kurth +Date: Sat Jul 20 17:03:42 2019 -0700 + + [Tools/dndcp] Fix two coverity issues reported by a customer. + +commit 74fe39c2abac9da4d45188eec8b389be421f7c8f +Author: Oliver Kurth +Date: Sat Jul 20 17:03:42 2019 -0700 + + Add the SLEDGEHAMMER code name to the 11.0.0 release version defines. + +commit 0c6ad5edceca60dc05eb9f3b1ee6ac42dc0455ef +Author: Oliver Kurth +Date: Wed Jul 3 14:28:56 2019 -0700 + + Fix a Coverity issue reported in vgauth/serviceImpl/verify.c + +commit 47c8f75e4516552615c070c6920633f7e8e572a0 +Author: Oliver Kurth +Date: Wed Jul 3 14:28:56 2019 -0700 + + Fix process command name for special linux processes. + + While listing down the processes in a linux guest, the existing + procMgr library reads /proc//cmdline file and parses the + content. While reading this, an assumption is made that there is + a null terminating character at the end of the file content. + This holds true for most of the processes. But for few special processes, + the cmdline file doesn't have the terminating null character. + + Proper content from cmdline file: + + /usr/lib/systemd/systemd\0--switched-root\0--system\0--deserialize\021\0 + /usr/sbin/vmtoolsd\0 + sshd: root@pts/2\0\0\0 + + Example cmdline file where NUL terminator is missing: + + avahi-daemon: running [linux.local] + avahi-daemon: chroot helper + +commit 2660d40ca4f5beca0ba3a4c68a66f8c7dcf77a67 +Author: Oliver Kurth +Date: Wed Jul 3 14:28:56 2019 -0700 + + Fix the command name for few linux processes. + + ProcMgr library publishes the 'command name' attribute for + each process while listing down all the processes. For doing this, + the commandline is first parsed from /proc//cmdline file + and the part starting from the right-most '/' is considered as the + command name. This is OK only if we have an absolute path for the + command binary. Other wise, this may result in incorrect results. + + For example: + sshd: root@pts/1 + gdm-session-worker [pam/gdm-autologin] + + Fixed the code to ignore the parsing if we do not have an absolute + path. + + Note: There are two ways how the command name is retrieved for each + process. + + 1. /proc//cmdline is parsed. + + If (1) fails for some reason, then + + 2. /proc//status is parsed. + + There is no issue with (2). This changeset fixes the parsing issue only + with (1) approach mentioned above. + +commit 7aaf580b14f44a994100ede098e0ced5d60ba484 +Author: Oliver Kurth +Date: Wed Jul 3 14:28:56 2019 -0700 + + Add support for NVMe disks; IDE and SATA disk devices in 3.x Linux kernels + + Support has been added for virtual disks attached to an NVMe + controller. The device "label" will provide the "nvme" for the + controller. The disk unit is provided in the device "nsid" file. + An earlier implementation (Linux 2.6 kernels) provided the unit + number as the final digit group in the device node name. + + The Linux 3.x kernel has some differences in the layout of IDE and + SATA disk devices in the sysfs filesystem. The differences from the + sysfs in a 2.6 Linux kernel are: + - The IDE "class" file and SATA "class" and "label" files are in a + different directory. + - IDE controller and SATA device nodes begin with "ata" where "host" + was used in earlier kernel sysfs filesystems. + + GuestInfoGetDevClass() has been modfied to check in two possible + locations for the "class" file. The directory located will also + contain the "label" file for SCSI, SAS, and SATA disk devices. + + GuestInfoGetIdeSataDev() has been modified to search for either + ata or host directories in the sysfs tree for the disk device. + +commit 193a5f93d6678b2ebfec1cf365a84bfd8533650d +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 2657373a9321ad4090af75d84beac00836170e27 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Truncate oversize partition names + + Truncate disk partition names if they are too large, rather than just + skipping all the disk information for the guest. Closes + https://github.com/vmware/open-vm-tools/issues/346 . + +commit 6b8ffb7199159ab3a306646bc572f6a83a8ce7f6 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit fe04b4263ae90af524fe51e124e206df737e974b +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Suppress possible NULL pointer deref in a debug message. + +commit 130334ca6f1cf6d696b0fe36d54b83f1f7d7bc2e +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ace8b9e3c13a0b320835d36f569d2c7e5c6513a7 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Changes to common header files not applicable to open-vm-tools. + +commit eda7db540bb048ac406e6624786c300cb17968c2 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 7b17b7265ad31f2ed3dc6d6d28c5a4caf4c12e5c +Author: Oliver Kurth +Date: Wed Jul 3 14:26:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 59d4eda2fc89e43ac092d82866c42c9692ebca68 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:54 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8fe237da4894488e9cb0fccdec1f0d8180998a24 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:54 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit e266c0bb1879792f24b29d38af9f9f833475f228 +Author: Oliver Kurth +Date: Wed Jul 3 14:26:54 2019 -0700 + + Changes to common source files not directly applicable to open-vm-tools. + + Reduce malloc/free overheads in the VMX for HGFS over VMCI + +commit 9c30be3448c743e51718480543142bf833ea553a +Author: Oliver Kurth +Date: Mon Jun 17 11:41:38 2019 -0700 + + copyPasteCompatX11.c code generating unnecessary Coverity warning + + This patch aims to fix an issue found by Coverity Scan. + + This issue is a False Positive, the outBuf is only freed in specific + scenario, so there is no 'BAD FREE'. But it's better to reconstruct the + related code to clear the SCA error. + +commit a72b4c2513b8faf4e5b08b085583a43b1b6149a1 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:38 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 680c9d4a412a099efde6382a0a4e5f300bc4fc4e +Author: Oliver Kurth +Date: Mon Jun 17 11:41:38 2019 -0700 + + linuxDeployment.c: Suppress the telinit error if the first telinit commands + has made VM reboot. + + The code executes '/sbin/telinit 6' repeatedly to reboot VM. VM will be + rebooting if the telinit command executed successfully(exitcode==0). + Observed the repeated telinit command might get error(exitcode==1) on some + GOSes, ex: Ubuntu18.04, RHEL7.4/7.5 and Fedora 29. + Observed no such error on older GOSes, ex: Ubuntu14.04, RHEL6.6 + + The error telinit log is confusing, actually it does NOT mean customization + failed. + + This change does NOT log telinit error, and returns deployPkg status to + make sure the log is consistent with customization result when the first + 'telinit 6' succeeded but one of the following 'telinit 6' command failed. + + The following actions are unchanged with or without this change: + 1. log telinit error, stop loop and exit 127 if the first 'telinit 6' fails. + 2. repeatedly execute 'telinit 6' if previous one executed successfully + (exitcode==0). + +commit 37d8b16e2cc1a21919cb6974c2a87071a345e232 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8c87c985179a7a152c9a36aa83edd2b02fc7894d +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9e1d3be7c075e8ca4c7ff07b8dadeab8a14953b3 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + HgfsServer: Fix coverity issue - uninitialized variable "requestId" + + Fix coverity uninitialized variable "requestId" by zeroing it + in HgfsServerGetRequest before passing to the request packet + HgfsUnpackPacketParams extraction function which will use it + in a log message. + + Also moved an assert useful for testing protocol changes which was + incorrect in its placement. + +commit d2213fb32a1357305e72cbd6856f5e5ea9e151da +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Changes to common header files not applicable to open-vm-tools. + + Remove checks for GCC 4.1 in xsave, xrstor, etc. instructions + +commit 83dbe8ed5bf6f9e770e22c670c5617bc93e48e55 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Determine Linux OS disk devices associated with mounted filesystems. + + For each filesystem for which disk guestInfo is currently collected, + determine the virtual hardware device being used. This is currently + represented as :, eg. scsi0:0, + scsi1:0, ide0:0 or sata1:4 and matches the virtual device label seen + in VMX. + + A Linux logical volume based filesystem can reside on multiple disks. + In order to handle LVMs, the disk devices for each filesystem are + maintained as a variable array of disk device names. + For Linux guests, disk device names are passed as a json array. + +commit 9bfd01b26e7d22aa847d6282e9b814b05a41e80e +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f456a5938662175b914ffcb53c6284835476268f +Author: Oliver Kurth +Date: Mon Jun 17 11:41:37 2019 -0700 + + Fix 'Using uninitialized value' issue reported by Coverity. + + * In a error code path, 'exitCode' variable is used without + any initialization. This issue was reported by the Coverity. + Fixed it by initializing the 'exitCode' to -1. + + * While fixing this, moved the variables to the if block where + they are acutally used. + +commit 2b3de798522314545b00297f1ece86b223dbeb6f +Author: Oliver Kurth +Date: Mon Jun 17 11:41:36 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 7cf4c83d4a0b580209184bb4d5ac6c26cd5734f4 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:36 2019 -0700 + + Fix leak in error path reported by Coverity. + +commit 1b32002d84c1dbb6dbe34586c04b84d26224c5ee +Author: Oliver Kurth +Date: Mon Jun 17 11:41:36 2019 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit 5260daab25ee9afdd5267531516b45f5006d57d1 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:36 2019 -0700 + + Improvements for ProcMgr library. + + * This changeset fixes various issues related to ProcMgr library. + + == Retrieve the absolute path of the image for each process == + * When listing down the processes, it is useful to retrieve the + absolute path of the process binary. + + === For Linux ===: + * In /proc filesystem, /proc/{PID}/exe is a symlink to the binary + and we can make use of it to figure out the absolute path. + + * If /proc/{PID}/exe is not a valid symlink, then the 'cmdline' + is parsed and aboslute path is calculated accordingly. + + * Note: This changeset tries its best to figure out the absolute path. + If it can't, then the attribute is set to NULL. + + == Misc issues fixed. == + === Linux === + * Fixed a memory leak with 'procCmdName' while looping through the + /proc/ directory entries. + + * Fixed another memory leak with cmdLineTemp and cmdStatTemp variables + while listing down the processes in linux guests. + + * In few cases, /proc/{PID}/cmdline file contains multiple NUL + characters at the end. In that case, the existing code converts them + into 'whitespaces'. Fixed the code to chop of all the trailing + whitespaces in the command line. + +commit ffdf5a69fa3654dc3a16bf9951171290f48561b8 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:35 2019 -0700 + + Skip loading/unloading user profile for VMXI_HGFS_SEND_PACKET_COMMAND. + + This command is used repeatedly to transfer file to/from the guest. + +commit e858e40d2beb08880e62ccac3f9dcf3661f3e093 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:35 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 653248aaff38309a1660f84a347b7eff70e64701 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:35 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 2ca144aceda2bae479f3b67eb0d60e4ef7e439dc +Author: Oliver Kurth +Date: Mon Jun 17 11:41:35 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3583ad84072c618064dfea742faa763b5f8207f0 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:35 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 4e06bc447106be090fefdb6ea057482152390d73 +Author: Oliver Kurth +Date: Mon Jun 17 11:41:33 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit be8b98cda2d3149966b73d91cc76e77bf19d8228 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:45 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit 61c51b4e4ac091f066e5e0efa22cc39d00b05d6d +Author: Oliver Kurth +Date: Mon Jun 3 13:39:45 2019 -0700 + + Fix memory leak in SNEBuildHash function. + + In a specific code path, if a key already exists in the hashtable, + the memory allocated for 'value' variable is not being freed. This + leads to a memory leak. Fixed. + +commit 0d5e8c618131e3899f3c30c91722e1df4e1162e9 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f37292f0a8524783888d55f57fa30bb828e2408b +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Crash during File_WalkDirectoryNext + + In the rewrite of File_WalkDirectoryNext, a bug was introduced in the + invalid Unicode path. Invalid Unicode occurs very rarely... and the + bug finally turned up. Fix this... the bug is rather obvious. + +commit 1749604dc3481d0cc670e97945b915821c1039d3 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Fix asianux identification. + + Add asianux to distroArray and change how asianux releases 7 and 8 + are identified. + + This came in as a pull request on github for open-vm-tools: + https://github.com/vmware/open-vm-tools/pull/325 . Apparently + the OS identification in /etc/asianux-release changed with Asianux + 7, and as a result tools does not identify it correctly. + +commit 19969734d2a64e52cccf8f04669b55ad13f9c61c +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Fallback to /proc/mounts. + + Use /proc/mounts on systems where /etc/mtab may not be there. + This change is targeted for guestInfo reporting at the moment. + +commit f78a6801a8ec0f549fc3aa3817215f91cf6607af +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit e3f8ffec4a1de47cb62e4d8b2ba175a03da13246 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit 70596395cf892d07321ddd9ee8f947c06973e565 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a652f6e7c2c14310e2f6f030660b73e48aeeba80 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit c209a5619fa74f6b76171420c57fd65303331a0f +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Update to common source code; does not affect open-vm-tools. + + Allow an asyncWebSocket to connect through an existing socket descriptor + + Because Windows does not allow unprivileged processes to specify + DSCP (formerly ToS) values on TCP traffic, in order to support + DSCP for Blast WebSockets we must obtain a preconfigured socket + descriptor from a privileged process and then build the WebSocket + connection over that socket. + + This changeset extends the asyncWebSocket API by adding a Connect + function that can accept and use an existing socket descriptor in + addition to the usual collection of WebSocket Connect parameters. + + Because the asyncWebSocket is built over an asyncTCPSocket, this + change ripples down into the asyncTCPSocket API which also gets a + new Connect variant with a socket descriptor parameter. + + To avoid duplicating existing logic, the old Connect variants + are modified to do their work by invoking the new API with + a distinguished socket descriptor value of -1. This value + indicates that no existing socket descriptor is provided and + that a new socket should be created and used for the connection. + + In this changeset, passing in an existing socket is supported + only on the Windows platform. The feature is not required on + other platforms, where unprivileged processes are permitted to + define DSCP values for their connections. Attempting to create + a connection over an existing socket on other platforms will + result in a Connect failure. + +commit 20e8a3d4213019202241d766ba3c7c660c4b74c2 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Round out Log functions to all levels + + Logs would be measurably more useful for debugging if the available + levels were used correctly and consistently. As a step towards + encouraging such use, define Log_Warning() and Log_Info() as synonyms + for Warning() and Log() (which, for historical reasons, are not + declared in log.h). Also remove all the conflicting private definitions. + +commit e45c4e3da624187d83f25681cf25b67ae059b6ed +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 94ffa684475ea998347b4c6e25626d099eb8315c +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Linux DeployPkg configurable timeout. + + Update to descriptive comments for function DeployPkg_SetProcessTimeout(). + +commit 4bd043870ec94332aa8b3794449a2144847cad33 +Author: Oliver Kurth +Date: Mon Jun 3 13:39:44 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 46cb6aa361cc8b1d287e3b9b77bf86819b4b1fc5 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Fix [RH Covscan] Coverity reported memory leaks in toolboxcmd-stat.c. + +commit d0f0af3e62d065492b29791556c39c27eb97c751 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 873db0841a17a530cabe6b6e6e473647da685c17 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit 403dc83d2040d386b2c6c04756b289f277657e41 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit af0a4979c7bcaba6a913e686609f99c1245db384 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Change to common header file not applicable to open-vm-tools. + +commit 7c1e69708bc3bbdbf9dc66b039ab40f9767b29c1 +Author: Oliver Kurth +Date: Wed May 22 13:09:37 2019 -0700 + + Change to common header file not directly applicable to open-vm-tools. + +commit da3efa69411c5fe8897e6295927dc4b8eacaff04 +Author: Oliver Kurth +Date: Wed May 22 13:09:36 2019 -0700 + + Changes to common source files not directly applicable to open-vm-tools. + +commit 8017efa7e941561274088d27e32883f6c1965abf +Author: Oliver Kurth +Date: Wed May 22 13:09:36 2019 -0700 + + Pick up filesystem (fsType) name for Linux disks. + + Building upon the OS Volume Disk Mapping changes added for Windows + guests, pick up and propogate the filesystem type for Linux disks. + Move fsType related code and declaration out of the _WIN32 specific + source code. + + Diskwiper code (for Linux) modified to pass along filesystem type + obtained from the MNTINFO structure from the non-Windows guest. + Also passing along the mount point for device-based mapping to be done + in the guestInfo plugin. + +commit 82d42ead6fc14eed2bc1670352f5fb8f62413230 +Author: Oliver Kurth +Date: Wed May 22 13:09:35 2019 -0700 + + Change to common header file not applicable to open-vm-tools. + +commit 744fe0bec43f7e242f1353c767c613180512000d +Author: Oliver Kurth +Date: Wed May 8 15:27:20 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 5b0e339cde98dce03ec5046c04ded329f61dc5ef +Author: Oliver Kurth +Date: Wed May 8 15:27:20 2019 -0700 + + Fix the 'procCmdName' attribute of process information. + + * When listing down the processes, /proc/{PID}/cmdline file is read + and parsed to figure out the command name. While doing this parsing, + the terminating NUL character is not parsed. Due to this, if any + process doesn't have any command line arguments, the 'command name' is + retrieved as NULL. + + Note: This issue doesn't happen if the cmdLine has any arguments. + + Ex: + /usr/bin/vmtoolsd -> 'cmdName' is retrieved as NULL + /usr/bin/vmtoolsd -n vmusr -> 'cmdName' is retrieved properly as 'vmtoolsd' + + * Fixed the code to include the trailing NUL character also while parsing. + +commit 7b096ae277428efd8f550c1bbb35e98bb0cdf565 +Author: Oliver Kurth +Date: Wed May 8 15:27:20 2019 -0700 + + Hgfs fuse Client: fix max name length setting for statvfs + + Detected internally with Fedora 29 and reported in + https://github.com/vmware/open-vm-tools/issues/337, + the statvfs structure must provide a valid max name length field. Setting + to NAME_MAX. This allows the GUI Files application to create new folders + and rename existing ones correctly. + +commit 9876844113a4f6b538f131d61b61c994264f7caf +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Plumb through filesystemType + + Implement the filesystemType property in the vim.vm.guestInfo.DiskInfo. + +commit 79c7f28781fc38eb2e2ec691c907822dd1259bc4 +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 000856aea0bd78c581888c3e3771cf79c6fdb7e9 +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Fix copy/paste on Ubuntu 19.04 guest + + Ubuntu 19.04 chooses Nautilus 3.32 as the default file browser. From + 3.30, Nautilus checks mime type when pasting files from the clipboard, + and the target type is also changed to UTF8_STRING instead of + x-special/gnome-copied-files. To support Ubuntu 19.04, apply this + change into our guest code. + +commit 7bbb1521360bd140a56d1fbf6a9663d297277901 +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Add a comment in vmci_sockets.h about why a file handle is "leaked" + + Let's add a comment in vmci_sockets.h explaining why we intentionally "leak" + a file handle in VMCISock_GetAFValueFd. + + fd is intentionally left open when outFd is NULL. Closing it + will break applications running on Linux without a fixed AF for + vSockets. In such cases, the fd will be closed during cleanup when + the application exits. + +commit a5823224051da0318facf10e0732baa9f55334fc +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Fix a trivial Coverity-reported memory leak. + + If AuthLoadPAM doesn't find all the needed symbols from the pam + library, then dlclose the library, as is already done for + the same-named funtion in bora/lib/auth/authPosix.c. + +commit 47766e511be85410f5afc0bf8b0f05776fb66ece +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Record Tools version 10.3.11 as Hot Patch for PR 2328829 + +commit 801df14f0e2b32aea17771bbd33d65140ff2361c +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Fix Coverity-reported double memory free errors. + + Similar double memory free errors were reported in each of two + functions, VixToolsListAuthAliases and VixToolsListMappedAliases. + The fixes for each function are similar: be consistent in using + tmpBuf2 (renamed tmpBuf) as the pointer to the overall buffer being + computed and tmpBuf (renamed nextBuf) as the "next" version of the + buffer. Specifically, in the computation of recordBuf following exit + from the for loop, use the variable formerly known as tmpBuf2 rather + than the one formerly known as tmpBuf. + + The variables were renamed in an attempt to distinguish more clearly + between them and how they are used. Also, with these changes in + place, it's evident that there's no need to free nextBuf in the abort + case and as a result its scope can be limited. + +commit 2031724154177a3f5ce28d3c608709c7ad6153dc +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8634350c330318eaf8f333c49f405e20b71ca813 +Author: Oliver Kurth +Date: Wed May 8 15:27:19 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 2bbd56da4314856dfc1a8fed2db5b55cd9ef8860 +Author: Oliver Kurth +Date: Wed May 8 15:27:18 2019 -0700 + + Fixes for few leaks and improved error handling. + + Fix a memory leak detected by coverity scan. It is not critical, + but it is real in an error case when there is no end mark. While + fixing it, also enhanced code to handle different error cases + properly because we would want valid content to be decoded even + when there are invalid marks in the log file. Invalid log marks + are possible when vmware.log gets rotated in the middle of guest + logging. + + While verifying the fix using valgrind, found a couple of more + leaks in panic and warning stubs. Addressed those as well. + +commit 544cf1363c78d1d8c75e57d560b3650b5f667c64 +Author: Oliver Kurth +Date: Wed May 8 15:27:18 2019 -0700 + + Fix a trivial Coverity-reported memory leak in vgauth/cli/main.c. + + Call Pref_Shutdown to close the PrefHandle. + +commit 4a2c4645a363c705e66cdb81847f579d8ff30e04 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Add garbage collection for vix process handles. + + This closely follows the model used for hgfs session cleanup. + +commit ea2ee4789fd0db5451752ea98af55a3c6b47f1d2 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 4ee0255f2f7a32a76095de8c02a869e78f7ec765 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9e6e3afa5b5c3dc11c7aa79454ca4c8184c87bdf +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Fix a memory leak in the unicode library. + + Ensure that allocated strings are freed before returning a failure. + + The ASSERTs have never been known to fire; a warning in a obj + build will help with debugging. The warning should "never" happen. + +commit d1de801b4b490aeecd982f19274e46485f156f79 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit b2a6fdafed0bef27a77d549e4ffbed9a09b9f0bd +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a63fe3472895c9394ee8c3f2d0d2a496c3ccab6f +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9bec96154c23462f2c6f80dd660f41bba38d4614 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Provide a shutdown function for users of the unicode library to free memory + allocated by Unicode_Init(). + + Most applications using the unicode library do not free related memory + since they are about to terminate. A Unicode_Shutdown() function is + provided which will explicitly free the memory allocated by Unicode_Init(). + +commit 5614d61a2b8353cd48095210afbcc89f66228ae7 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Changes to common header files not applicable to open-vm-tools. + +commit 4ae954db584b7e3287a97f44d0eeb96d09ba2c68 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 35570e72d3833b73db653c89c84223c959856467 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Changes to common source files not directly applicable to open-vm-tools. + + Added the function Random_FastStream64() to provide a 64-bit random number + if needed. + +commit e89c751f0045f163c468c49b71db70478581c85c +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + vm_basic_defs.h: include stddef.h + + The stddef.h header has existed since C89. It includes interesting + things like an offsetof definition, and a definition of NULL. + + Let's stop re-inventing this long-standardized header. Except + in vmkernel, where bogus __FreeBSD__ values break gcc's . + (Detail: vmkernel networking likes to define __FreeBSD__ to empty + or 1, whereas ABI requires "FreeBSD major version". + + This change is deliberately minimal as touching headers included + everywhere is inherently fragile. Further cleanups (like removing + vmw_offsetof) can be done in follow-up changes. + + The stddef.h header is a 'freestanding' header, which means it's + part of the language and not a "system" header. It is thus safe + to include (modulo vmkernel-networking problem above). + +commit 642d7a61db13969f9fb654ad1cc0d879bf680612 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Fix Coverity reported issues in i18n.c code - VMTools & VGAuth + + bora-vmsoft/apps/vmtoolsbib/i18n.c: MsgLoadCatalog() + - Coverity reported memory leak when an error is encountered parsing a + line from a message catalog. + - Second memory leak on error missed. + + bora-vmsoft/vgauth/common/i18n.c: MsgLoadCatalog() + - Coverity reported some dead code. + - Missed reporting memory leak when error is encountered parsing a + line from a message catalog. + +commit 0f7b4b275aaf20bebf8d4739cf283fade05c3dcb +Author: Oliver Kurth +Date: Tue Apr 30 13:24:25 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9e0ccaa3bf2805674fd882362427aa2d3376a3a8 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:24 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3cf1df758ba64cb6aebe81bf3a430ad536221c19 +Author: Oliver Kurth +Date: Tue Apr 30 13:24:24 2019 -0700 + + Toolsd uses log.text RPC only when the useLogTextRpc is set to TRUE. + + This allows the tools installer to start use the log.text RPC without + worrying about that toolsd has not completed the work of scrubbing its logs + for security and privacy issues. + +commit 1b755d3e619ed40d8750532f10af5a1df6de6cda +Author: Oliver Kurth +Date: Tue Apr 30 13:24:24 2019 -0700 + + Fix memory leak in SNEBuildHash function. + + In a specific code path of the SNEBuildHash function, when the + environment variable is of the format VMWARE_*=[0|1], the value + is not freed. Fixed the memory leak. + +commit 0957e9c46476f8eab435576e7094b125e102f6ce +Author: Oliver Kurth +Date: Tue Apr 30 13:24:24 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit bbefe8051a56b3cf834bf71c8f55fdfd88802b9d +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a0b825b2251bf9d30fb29d5deb1d269ec361428c +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit abd87bf17c9869900dad292a458b871de90c4c7d +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 85bc2e71dd7a855d3c533965859c1756deecc314 +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Fix minor leak in FileRotateByRenumber - Coverity scan + +commit 82169f198925c9aa27bd04fd665eac67396adbe7 +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Fix a leak if VGAuth setup fails. Coverity issue + +commit 555f28c7d07161a5bcd0a90fe46869bc6be4ba21 +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit b9993b990ea7dc077c6e625137802492245fb31b +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ca4be3d1bcb1d184eafb2c576dd7a127a95628fc +Author: Oliver Kurth +Date: Mon Apr 15 11:33:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit e6d24a37cdcd88624f66ad86f161e8576e7c6ec0 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit da8c476be54bcd94c6b4f15a013dd02419b4ec29 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Changes to common source files not directly applicable to open-vm-tools. + + Add an error code to a debug message. + +commit 8eba31ddbf50a194acdd3eb30935a1fb3895bd50 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit b4a0d4c8137cdfbee073b456c71b731fa21e6ead +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit e53f942615313e5d209f49d9c4da4227671c38d8 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit c0ec4f8294ec6428ee2a7f7284b37f79f4661bf3 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Add a DynBuf_InitWithString() function to the dynamic buffer routines. + +commit 2dc55af11451712b05a0c85a9c2ba1e5619b4841 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:59 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f35313969af9bd2815709930f054171d7ebbcbc9 +Author: Oliver Kurth +Date: Mon Apr 15 11:32:58 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit c864f9e015a25864b952210796458e77c1f5726f +Author: Oliver Kurth +Date: Mon Apr 15 11:32:58 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 6de2df2c43c412c048f666277eaa48d8bb0c0321 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:57 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 306f0f7b507486795c0d726288ceb7145dcf3c00 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:57 2019 -0700 + + Common header file change no applicable to open-vm-tools. + +commit 6219e245c5e42479f4aef36ab8ee49db3c368f83 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:57 2019 -0700 + + Remove use of "-Wno-address-of-packed-member" option for OVT builds on FBSD + + With the HGFS source code refactor to avoid taking the address of a + packed structure memberuse of "-Wno-address-of-packed-member" + is no longer needed to build OVT on FBSD 11.x and FBSD 12.x. + +commit 8b2bbbd8c2b647592a2f444a678fe93552fb0d22 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:56 2019 -0700 + + Add a 64 bit pseudo random number generator + + This change adds a 64 bit pseudo random number generator to the public + library by calling the existing 32 bit Random_Fast function twice. + Since the period of Random_Fast is 2^64, this should be sufficient. + +commit 5f9bd0c6a39a266854fad680d2251c024c309425 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:56 2019 -0700 + + Remove some "always TRUE" comparisons reported by clang 6.0 on FBSD. + + A recent refactoring of HGFS fuse code to avoid taking the address of + a field in a packed structure introduced a comparision of an array + address != NULL which will always evaluate to "true". Removing the + unnecessary "if" statements. + +commit 67b66d0ff13324413deac6c522bd382ee450125e +Author: Oliver Kurth +Date: Wed Apr 10 14:14:56 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit 86bf8de08dbb28e8902411b8a9bc0e64f972f74d +Author: Oliver Kurth +Date: Wed Apr 10 14:14:56 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3bc7907533c45544fcfb24906a0e4b7de61718e7 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:55 2019 -0700 + + Changes to common header files not applilcable to open-vm-tools. + +commit 6576ad0d7b28bd1ddab2fce8a0f34695aa57a774 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:55 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit 8c69b930a826aad87c692d516fd77d1a4cbed0fb +Author: Oliver Kurth +Date: Wed Apr 10 14:14:55 2019 -0700 + + DnD Phase II] - Avoid potential memory overflow. + + In the case when dragging a format whose size is exactly the same as the + size threshold and plain text is provided, the plain text can't be added. + Current logic does not handle this case. Instead it will result in a + large unsigned number (0-1 = 0xffff_ffff) of bytes to be allocated to + store plain text which causes memory overflow. + + Just return in the case that no more size left to add plain text or the + plain text is empty. + +commit 685aa3d0879aabde450ba0d6c79d256d6abaf3f5 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:55 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 71b41229ffe1f31711b35145ee1ab0bfbb763295 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:54 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f2eb555cf6e9f8c779daf1dc9c2f7aff383d105a +Author: Oliver Kurth +Date: Wed Apr 10 14:14:54 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8046af84ee4aa1d271af4c1d2379fb3d88dba3ac +Author: Oliver Kurth +Date: Wed Apr 10 14:14:54 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit cf05c47b06af90a7bb7c5d561fb425ba2ebc0b47 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:54 2019 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit 5a6ee8f90b90f42d24de1561ee94855c576933f3 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:53 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit d759ae5ecfcc6f1069decdb2511ec32bf12a1663 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:53 2019 -0700 + + Asyncsocket in low latency send mode may write into freed memory + + Blast service encounters access violation exception during scale tests + in AsyncTCPSocketSend() at bora\lib\asyncsocket\asyncsocket.c. + + Root cause is asock refcount is not incremented before the inline + invocation of AsyncTCPSocketSendCallback() in the low latency send + mode and asock is accessed right after this invocation to decrement + inLowLatencySendCb counter. AsyncTCPSocketSendCallback() on error + would invoke error handler which in turn could close the asock + leading to freeing of asock. + + Issue wouldn't happen if AsyncWebSocket impl guarded all of its + transport->send(transport) calls with AsyncSocketAddRef(transport) + and AsyncSocketRelease(transport) but isn't the case currently. + + Fix is to add and release asock reference around the inline + invocation of AsyncTCPSocketSendCallback(). + +commit 325e244951790d7a848281fdb0236b0f6ee26996 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:53 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit b90344ea3696506c7d2a8022c340b6aafb6f6a91 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:52 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 13f457aa737d8bca27f09862cf2a45df8f4a425b +Author: Oliver Kurth +Date: Wed Apr 10 14:14:52 2019 -0700 + + InitiateFileTransferToGuest fails when uploading file to root directory + + File upload to '/' on Linux fails the directory exists check. + This is caused by the file dirname being an empty string when parsed from + the guest file path name per the documented behavior of File_GetPathName. + + The caller of File_GetPathName needs to handle the expected empty dirname + string when dealing with file path in the root ('/') filesystem on Linux. + + Proposed fix is to replace the dirname string with the root path ('/') when: + A. dirname obtained from File_GetPathName call is an empty string AND + B. the original file path name starts with the path separator ('/') on + Linux (or *nix like) GOSes + + This allows for the directory checks to inspect the root folder before + proceeding with the file transfer. + +commit 022121ce185662c05b3e1bf7166500f4f0f72bb2 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:51 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3de5e45099ae309b59f371e1d71c88c80815f92d +Author: Oliver Kurth +Date: Wed Apr 10 14:14:51 2019 -0700 + + Backing out the previous change to vixTools.c + + As the code committed was not the one reviewed but another version of the + fix under exploration, reverting the previous change. + +commit e38e881a04cdf1684913c0e65596f4965e8d0c32 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:51 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f682261e7997aa440523af63369e4b99e4823af7 +Author: Oliver Kurth +Date: Wed Apr 10 14:14:49 2019 -0700 + + InitiateFileTransferToGuest fails when uploading file to root directory + + File upload to '/' on Linux fails the directory exists check. + This is caused by the file dirname being an empty string when parsed from the guest file path name per the documented behavior of File_GetPathName. + + The caller of File_GetPathName needs to handle the expected empty dirname string when dealing with file path in the root ('/') filesystem on Linux. + + Proposed fix is to replace the dirname string with the root path ('/') when: + A. dirname obtained from File_GetPathName call is an empty string AND + B. the original file path name starts with the path separator ('/') on Linux (or *nix like) GOSes + + This allows for the directory checks to inspect the root folder before proceedeing with the file transfer. + +commit fcb7bb71a30f740b2d4bcfb8ae82733d044e6c00 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Make building without ICU the default for Linux. + +commit bd84c8a35c7aedb2638bba087bc1756cfb9ccf9d +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Query disks for UUID + + As part of identifying a guest disk so it can be associated with a vmdk, + query its serial number, which is the same as the vmdk's ddb.uuid + +commit 076e7e10f24b53fcbd7b21d95ee4763f5f527e45 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit b9939819756514c7ebe71059e0323cde8bb44c68 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 59a7e9e1c5e8e6883740ec43371cbe7076ee6bc0 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Bug fix for DnD performance tuning for Mac and Windows clients; not + directly applicable to open-vm-tools. + +commit 176aa26ae63050e7d10c8413230c566069cb06d9 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common source file changes not applicable to open-vm-tools. + + Security fix for dll load paths in Tools and vgauth. + +commit f2e134e40bd7fab478f4f1545db8f09b39e2d3dc +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit c65bb4057bbd8d4b96f8b1bedfc273669357cfd8 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + GOS Table: Add Linux 5.x + + Linux 5.x is here! Add it to our supported guests list. + +commit 9f05b0bca42039eb6de0f16441d3a6edc4093264 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit d28bb53aeeb425502de7a90175482c5abf16b8ee +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Remove the /etc/security directory from the guest vm-support bundle. + + This directory contains sensitive guest side data that we should not + expose to the host side. + + Although running the vm-support requires the root privilege in the guest, + the guest admin might not be aware of the ramification of running the script. + Therefore, better be cautious. + + No file from the /etc/security has been needed in the past. If any file is + needed in the future, that need will be evaluated case-by-case at that time. + +commit b87bf1b5a1fb93f348d311086c335c0e14e44469 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + Common header file change not applicable to open-vm-tools. + +commit c760135f46eaf246612bc8632374966ed79ce9b2 +Author: Oliver Kurth +Date: Thu Mar 28 12:43:00 2019 -0700 + + DnD performance tuning for Mac and Windows clients; not directly applicable + to open-vm-tools. + +commit 477bc19fac47a71369bf5872c8ff9b366d51ca1a +Author: Oliver Kurth +Date: Thu Mar 28 12:42:59 2019 -0700 + + Fix a memory leak in vmbackup. + + Note: vm_free() is called here because GuestApp_GetConfPath() is calling + Util_SafeStrdup() to allocate the memory. Both GuestApp_GetConfPath and + vm_free are implemented inside libvmtools.so. + +commit 8f1e76f97989009fa44cbbfc1ac48e3e0083b9e7 +Author: Oliver Kurth +Date: Thu Mar 28 12:42:59 2019 -0700 + + Common source file change not applicable to open-vm-tools. + +commit d93219282ff7e89e3f581bf757dfd807c7568452 +Author: Oliver Kurth +Date: Thu Mar 28 12:42:59 2019 -0700 + + Fix memory leak in GetFormattedCommandLine() function (linuxDeployment.c) + + 1. There are malloc() calls happening in a loop; this function returns + NULL when one of malloc fails. If a malloc call fails in the loop, + all memory allocated in previous iterations should be freed before + the return NULL. + 2. Clear allocated resources before return NULL in this file. + 3. Add NULL check following malloc calls in this file. + 4. Encapsulate %s in () only if %s is strerror(errno), otherwise encapsulate + %s in single quotes. + 5. End with \n in sLog. + +commit 85f0733565333335aac4c45851013e8e0901a9f5 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:58 2019 -0800 + + Remove dead code in vmtoolsConfig.c + + There is a lot code in vmtoolsConfig.c that handles the 'tools upgrades' + from legacy tools versions. + + But as per + https://docs.vmware.com/en/VMware-Tools/10.1/rn/vmware-tools-1010-release-notes.html#installupgrade, + legacy tools versions (prior to 9.4.x) must be first upgraded to 10.1.0 before + upgrading to the latest tools versions. Hence, removed all the code which is + no longer applicable for the 'latest tools version'. + +commit 449b8d4aa6ca1fbd34ac1f5aa5324c141075ab0a +Author: Oliver Kurth +Date: Wed Feb 27 14:39:58 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 23dec2833bc0961b7623672deb9971f4ae0ec385 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:58 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit fa94fcf10c3fd0fe8a327cb27de72830ce615257 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:58 2019 -0800 + + Log guest OP results to guest side only. + +commit aaa29bf9e9a59a25b009949bc688166615e983ae +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit c88df96c3c8aab080bb79ad8ece5b558cf49bbe1 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 89dcc97adf9ed58ed3f2f89ca354ee55353e8317 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit f23e764d01136eaf3aba5c91da2db334b4c9cb1a +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Tools Vix Plugin: minor cleanup remove unnecessary undefs + + A minor cleanup remove unnecessary undefs and fixing a misspelling in + a function header. The function header somehow got removed from the + previous clean up so here it is again anyway, with the addition of the + spelling correction. + +commit 13e4fd7c5be25fcf2a4243c2ca32cdf0fec44496 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Linux DeployPkg should provide a configurable timeout for the spanning + customization process. + + Change the upper limit of the timeout value in tools.conf to 3600 instead + of MAX_UINT16. Revise the log message displayed when an invalid value + is configured in tools.conf. + +commit 6b6a4c8d2262036fec01d894819b8ac8c764e05b +Author: Oliver Kurth +Date: Wed Feb 27 14:39:57 2019 -0800 + + Remove some redundant code in lib/poll/poll.c detected by cppcheck. + +commit bd4bd92bab5339dc29ad042295e218b68c35f974 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:56 2019 -0800 + + Tools Vix Plugin: remove unused hgfs rpc channel + + This change removes the unused VIX_BACKDOORCOMMAND_SEND_HGFS_PACKET + rpc handler from the Vix plugin. + +commit df108dbfeb08dcf1c9ac0b6dd0026048c6c007a8 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:56 2019 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit 3cd64dd8b345194c277dfbfe7361db115294a40c +Author: Oliver Kurth +Date: Wed Feb 27 14:39:56 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 1875839fe260d7093e8170ef079b6c6875a1c99d +Author: Oliver Kurth +Date: Wed Feb 27 14:39:56 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 705dea9434a9e2b4db2163e6cf9bdd5451f4e4d6 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:55 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 0230f00147774547cd72e62a805db511234bbf8e +Author: Oliver Kurth +Date: Wed Feb 27 14:39:55 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 1703710a2706527748ec7be6767c14f2fcf63fc2 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:55 2019 -0800 + + Common source file changes not directly applicable to open-vm-tools. + +commit c68172ef7f2d4f116078e2aba82986a8cab0b16e +Author: Oliver Kurth +Date: Wed Feb 27 14:39:55 2019 -0800 + + GCC 9 caught several misaligned accesses and a format overflow. + + GCC 9 generated several instances of "Werror=address-of-packed-member" + in HGFS Fuse support code and hgfsmounter. There is also one instance of + "Werror=format-overflow" generated in util_misc.c. + + According to stackoverflow discussion - + https://stackoverflow.com/questions/8568432/is-gccs-attribute-packed-pragma-pack-unsafe, + x86 hardware handles misaligned access and does not exhibit any real + issues. However, GCC 9 generates misaligned access warning + ("Werror=address-of-packed-member) for all architectures. In case of + open-vm-tools build we treat warnings as errors and also we want code + to be as portable as possible in general unless there is a reason not + to do so. + +commit 577bc573f875ad5fe0e932cc58f2d607c422ea92 +Author: Oliver Kurth +Date: Wed Feb 27 14:39:54 2019 -0800 + + Common source file changes not applicable to open-vm-tools. + +commit 17a318fbde8df0b7aaa222acf944d319397fa42c +Author: Oliver Kurth +Date: Wed Feb 27 14:39:54 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 9a013addd657dda0d6671b7ea64c4a0793f57d18 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Bump up the SYSIMAGE_VERSION to be same as the VMTools version. + +commit 34e9b02de740562802680ab43b8dfd3e741b0658 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Hgfs Server Manager Tools: fix a memory leak + + The Hgfs server manager interface assumes that it is called only once + for each application that uses it. However, in the tools services there + are multiple clients. Hence, the initialization is done multiple times + and causes the previous initializations which allocate resources to be + overwritten and lost. Thus memory is being leaked. + + Initialize the policy shares once on the first register and cleanup + the policy shares on final unregister by introducing a reference count. + + The channel is already reference counted and initializes the channel once. + However it is necessary to call the channel init on each register + and exit on each unregister as it saves a channel reference in the data manager + object passed to it by the caller for subsequent retrieval. + + Add an additional log to the policy init and cleanup calls for tracking purposes. + +commit 19609ecdf97dbdbfa116eb3129689850fbf3e528 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 05fb961e2c5fcb0e3be0353171f3f2b5d945d0dd +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common source file change not directly applicable to open-vm-tools. + +commit 393476a4ccab5dbf1afe1ac5ced9f71be0d25cff +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 4746cfffa7f4334438f4f0b219033b33d079f970 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 68b2d39547222badd73cdbc6eecdec57e8e5e45e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 188df13c0a30c4612c074b7c805926f9a35120d0 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 7b88dd52f7d3f70664282f9546230f40dbabc694 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit 91c3366719fad3546d705ccb8000fef12ab8e284 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:33 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 41d328a9b1119f6078948fdb619d66940eae2a9b +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit c9863b19f32c20a6ca38cdb6244ef48e5f51dcc2 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit fdcd728a0b9c21f6017f7a4aef55553a88a6f9ee +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Changes to common header files not directly applicable to open-vm-tools. + +commit 46ce56518e018c98d5f2c2dfcbda6df039cb548f +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 35eae094a31571d806ffdb82c479a425a865bfda +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 43ba436554ee51d8d7e40a7e86618bd634292356 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common source file changes not applicable to open-vm-tools. + +commit a62dd61cc798cf311fa23449534eb22470997ee7 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Changes to common source files not directly applicable to open-vm-tools. + +commit 9877ed7ad678fa77028c6f4c8a285c82d7fbcb9e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 364684e1ce5fba483682f91c7fc27ee0fdcc2a93 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Fix the missing IP aliases in the guest info. + + IP aliases were missing in the guest info when libdnet is not used. + + Previously tried to use the MAC address as the key to identify the IP aliases + on Linux. However, that didn't work for vlan devices which share the same + MAC as the parent NIC. The previous attempt was backed out. + + Ideally, need to find a way to map the label name to the NIC name, but + have not been able to find a simple solution for this. There might be a + netlink based solution but it is way too costly to do. + + After more investigation, found out that a valid IP alias name must start + with the original NIC name followed by a colon. Even though the ip addr allows + any string as the start of the NIC name, configuration file requires the colon. + In addition, ifconfig would error out when the name is not of the standard: + ens192wwwww: error fetching interface information: Device not found + + Therefore, a correctly configured system should use eth0:1, ens192:2 etc. + + A lookup of libdnet source revealed the same assumption in the libdnet code. + + /* Get addresses for this interface. */ + for (ifr = intf->ifc.ifc_req; ifr < lifr && (ap + 1) < lap; + ifr = NEXTIFR(ifr)) { + /* XXX - Linux, Solaris ifaliases */ + if ((p = strchr(ifr->ifr_name, ':')) != NULL) + *p = '\0'; + + Therefore, doing just the same. Look for the colon, then trim it, and then + compare it with the NIC name. + +commit 47943dec30e3b98259c1dc0d48fb4f669fb02e99 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Update copyright year to 2019 for OVT 10.3.10 files. + +commit 0c18ef48a57aeb73c7ac970336c3a7c199744de1 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Back out the previous change to bump up the SYSIMAGE_VERSION to be the same + with VMTools version. + +commit 8ae36f730d8a7460e5cc139019c8b583abf9677a +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Back out the previous change to fix the missing IP aliases in the guest info. + +commit b2976af2553c758cfd871b4d9b7593a92c867e9d +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Bump up the SYSIMAGE_VERSION to be the same with VMTools version. + +commit e9512d13665b8d7f9bed2712b0a92a4ebc03f785 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 7f5a754e197ff4f1159f3d8c793de1fc8d3a19de +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + GuestOS: Improve the guest OS identification code + + Now that we often have an explicit, unambiguous version string for + a distro, use it. In the rare case we don't have one, search the + distro string for a digit and use that. If we can't find anything, + note this and let the code fall into the default appropriate to the + distro. + + With this change, we stop using strings and so are no longer confused + by things like "7.5". For a few of the distros, we now no longer care + about the upper bound, we can report what we find. Anything above what + the release supports will be fixed by the GuestMapper. + +commit 50a8517abc36af4963c9c29b1127b7652829e410 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit b6d001fd7b45c5b9414c5642503ad91a5ab279c8 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit dd38338c0bfe8a4778a29a53819e3b5aac683381 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:32 2019 -0800 + + Fix the missing IP aliases in the guest info. + + IP aliases were missing in the guest info when the libdnet is not used. + ESX does not seem to support IP aliases, so the ESX code path is kept logically + the same as before. + + On Linux, for each IP entry, get the label name, and use ioctl to get its MAC. + Use the MAC to match the current device MAC. + + The getifaddrs() call ensures that the ifa_name is not NULL, so there is no + need to check for NULL pointers. + +commit e689b1996788de4e8b9e3dd896a593dad4ca4520 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit bda2908d861cbfae99119340d22c09aae99df51e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Include vmware/tools/log.h to define g_info. + + A recent change added a call to g_info from syncManifest.c. This + in turn is causing open-vm-tools builds to fail because g_info is + not available on SLES 12sp1. + + To fix the problem, include vmware/tools/log.h in syncManifest.c. + log.h defines g_info as a macro. + +commit eb1b69ce8a677025cde23c5913719c5103c6a186 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit cf60bf56b021452e7a92c42a767156b2a64e1ac0 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Back out the previous change to remove support for building with + xml-security-c and xerces-c. + +commit a9db8091cbc5286086ccddf7b78560f05fe90fb6 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Remove support for building with xml-security-c and xerces-c + + Remove support for building VMTools with xml-security-c. Since + xml-security-c is the only requirement for xerces-c, xerces-c + is dropped as well. + + There is also some cleanup of the handling of some configure + options related to vgauth, ssl, xmlsec1, and xml2. + +commit 3a023fad437c1ee576c4e9802f94f208243a9bb8 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 8a60e9573885f1ef339cf1bfc19cfb7bc1912122 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Always send VMBACKUP_EVENT_GENERIC_MANIFEST during quiesced snapshots. + + vSphere 6.7 added a host-side interface that allows VMTools to send + a "generic" backup manifest during a quiesced snapshot on Linux guests. + VMTools 10.2.0 or later tries to notify the host of the backup manifest + file through a vmbackup event message VMBACKUP_EVENT_GENERIC_MANIFEST. + If the host is unable to field the message, then VMTools logs the + failure and then continues with the quiesced snapshot in the older + fashion, without the backup manifest. + + An earlier change attempted to reduce the amount of logging done when + running on older hosts that don't support VMBACKUP_EVENT_GENERIC_MANIFEST + by detecting when sending VMBACKUP_EVENT_GENERIC_MANIFEST fails and + not sending the message again for subsequent quiesced snapshots. + However, subsequent stress testing has uncovered problems with this + approach when running on newer hosts; specifically, errors may sometimes + be encountered on newer hosts when sending VMBACKUP_EVENT_GENERIC_MANIFEST. + Therefore this change backs out that earlier change. + + Note that the need to solve the problem that that earlier change was + intended to solve has been reduced because support for + VMBACKUP_EVENT_GENERIC_MANIFEST has been backported to vSphere 6.5 + P03, which is available, and vSphere 6.0 P08, which is scheduled for + release later this year. ESXi 5.5 is out of general support. + + This change also addresses an issue that surfaced when testing on a + host without support for VMBACKUP_EVENT_GENERIC_MANIFEST. + If VMTools fails to send VMBACKUP_EVENT_GENERIC_MANIFEST, the quiesced + snapshot operation will be aborted rather than continuing as it should. + To address this, create a new function, VmBackup_SendEventNoAbort, + which does not abort the quiesced snapshot on failure, and call that + function rather than VmBackup_SendEvent when sending + VMBACKUP_EVENT_GENERIC_MANIFEST. + +commit 1b7769909f3269f681e530acc413201c8d6facf0 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 480dd20016ed0517b31b78735d50ee3630790e07 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Add disk UUID to GuestDiskInfo + + Add UUID/Serial number to the GuestDiskInfo. + +commit 119c9df55c2265460fc7eb6fad5d87226435e276 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Linux DeployPkg should provide a configurable timeout for the spanning + customization process. Right now it is hard-coded to 100 seconds. + + Sources to provide "timeout" value: + 1. Clients such as vCenter and SRM can pack timeout value in cab header + via API func "DeployPkg_SetProcessTimeout(uint16 timeout)". this timeout + value will be implemented during the package deployment process. + 2. Package deployment engines: + - tools deployPkg plugin: + Add "process-timeout" in tools.conf. The tools deployPkg plugin will use + that value to control the time period of the package deployment. + - linuxDeployPkg: + Add "-t " as optional argument in linuxDeployPkg + Usage: ./linuxDeployPkg -d -t --skip-reboot + 3. Default value in deployPkg is 100s. If both the client and package + deployment engines don't provid this value, then the default value of + 100s will be used. + 4. The "timeout" value from clients will overwrite the value from the + deployment engines when both of them provid this value. + +commit fde5e1e4fade4bc3672a94cbae7b20d063057540 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit ee25e6a05996b9beda0c07361d44d4e30fdbe3f2 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 4caacb6a4fba771d2d416505ec3c3014fac3cb82 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common source file changes not directly applicable to open-vm-tools. + +commit c8fa72b1b3e3f0ecf725faf77cc747d804dc0ae1 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:31 2019 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit 7d4ddf5c1a1160720f89f1a7f79fdb2f98b9b49b +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not applicable to open-vm-toold. + +commit 799401f69d0ee47d475b201254a2fa65bdfe7b81 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit 69dc92cfb5397399385e7fa67bab3ef685d51c3e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Use the LSB and os-release data to find the best guest identification + + Historically, we have the LSB to describe a Linux distro. More + recently, the os-release standard was added. Change our guest + identification code to attempt to use both data - when available - and + make a value judgement as to which is better. + +commit 7c4d548c5f6dfc3a0d24e11bf53c834487df9067 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Send diskInfo as a json document. Modernize diskInfo RPC. + +commit 6143662e1b1e89671c4b4812bdbed76d12cff14e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + [Part 2] GuestLib support for 64bit memory shares. + + MEMSCHED_SHARES_MAX is currently set to MAX_PPN and will not fit in + 32-bit soon. 'memshares' property which is currently available in GuestSDK + is an unsigned 32bit value. Starting from ESX 7.0, this value is available + only if it can be fit in an unsigned 32-bit data type. + + 'memShares64' is the new unsigned 64-bit property added in GuestSDK for the + memory shares. + + Added necessary APIs to retrieve the memshares64 value. The new API + VMGuestLib_GetMemShares64 will first try to retrieve the memShares64 property. + If the underlying host is an older one, then the API will return the memShares + property. + + Updated the vmGuestLibTest code to retrieve and print the new memShares64 value. + +commit b1f9a9656e20d4e6f1cb74bc07b75d936346d96a +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e639a33061a85ec70aded35429b9d634de17ac74 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Update seamless window's copyright year as 1998-2019 + + 1. Changing the COPYRIGHT_YEARS in vm_legal.h to 1998-2019 + 2. COPYRIGHT_YEARS is used by UTF8_COPYRIGHT_STRING_BASE and + UTF16_COPYRIGHT_STRING for win32 UTF-16 version. + +commit 5260d3b532c436d2b3be825876359f9c6682578d +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit bf62073f69e496a83529e6acf3b33300a50ad991 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit 8c2911145026ddc7bd1fdfab97e1af3fefab5dae +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit 070ef6fd44b6a0095ec51faebf2e0c5c0151efb7 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + [Part 1] GuestLib support for 64bit memory shares. + + MEMSCHED_SHARES_MAX is currently set to MAX_PPN and will not fit in 32-bit soon. + + Changed the datatype of 'memshares' property to uint64 for the future support. + + 'memshares' is exposed in GuestLib as unsigned 32-bit value. + Modified the ESX code to set this property only if the vaulue can be fit in + a uint32 type. Else, the value is not set and 'valid' bit set is set to FALSE. + + Added a new property "memShares64" (as uint64) in GuestLib for the new + 64-bit memory shares. + + This CLN implements only the necessary changes on ESX side. + +commit f14ba86d12e158c2ad1bac2d41082054d2154127 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit c9cf0614fdb1dd9bbea572f37c1543d8852c7f37 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit ba975b71a38b96f19f06ed2dc6dd37acd421e99e +Author: Oliver Kurth +Date: Tue Feb 19 12:51:30 2019 -0800 + + [Asyncsocket] Avoid ASSERT failure when removing recv callback if fd has POLL_FLAG_ACCEPT_INVALID_FDS flag set. + +commit ec4e32afe179db8cf514177b08d9ab69696a2450 +Author: Oliver Kurth +Date: Tue Feb 19 12:51:29 2019 -0800 + + Security issue with the intermediate staging directory used for DnD and CnP + + Problem: + /tmp/VMwareDnD is a staging directory used for DnD and CnP. It should be + a regular directory, but malicious code or user may create the /tmp/VMwareDnD + as a symbolic link which points to the home directory of the current desktop + user before the staging directory is created. Later when the desktop user + initiates a DnD or CnP operation, the permission of that user's home directory + will be changed allowing the malicious user full access to the desktop user's + home directory. + + Solution: + Do not set the permission of the staging directory if that directory already + exists and has the wrong permission. The permission of the directory will + be 1777 if it is created by VMTools. If that is not the case, the directory + has been created or modified by malicious code or user; just cancel the host + to guest DnD or CnP operation. + +commit 1a39495618c1573c0fb16dd15368d0f2e606372c +Author: Oliver Kurth +Date: Wed Jan 16 14:53:06 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 4b9d0560bbeb50a395ffcfa7f1114d0c0246f207 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:06 2019 -0800 + + Add WarningToHost() and WarningToGuest() functions + + This change is needed to address the privacy and security changes that + are required so that vmware library warnings can be forwarded to the + host side selectively. + + For instance, if a warning message is sent to VMX, the user name must be + stripped from the message. + +commit f16f911678e8075ba8422de3f2b70de9a7859974 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:05 2019 -0800 + + Fix CONSTANT_EXPRESSION_RESULT in TimeUtil_StringToDate(). + + Red Hat ran coverity scan on open-vm-tools and found an occurrence + of CONSTANT_EXPRESSION_RESULT in TimeUtil_StringToDate(). + +commit 96da61e5aba3f97907477734b0a830a1338cd48b +Author: Oliver Kurth +Date: Wed Jan 16 14:53:05 2019 -0800 + + [10.3.10] Update copyright year to 2019. + + Update the copyright year to 2019 for ALL open-vm-tools destined files + modified since the release of 10.3.5. + +commit 3f5711d996598a625252cdcc77404fbb09cbb3d0 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:05 2019 -0800 + + Bail out of vmtoolsd early when there are RPC errors. + + VMX state machine could give up quiescing operation for various + reasons when vmtoolsd is busy performing necessary state transitions. + Once VMX gives up quiescing operation, there is no point in + vmtoolsd continuing with it. vmtoolsd should also give up the + operation asap. The vmtoolsd process can detect VMX state machine + change when it gets errors sending VMBACKUP_PROTOCOL_EVENT_SET RPC. + + RPC errors are only used as a trigger to abort the operation. + We ignore the RPC errors that might occur after aborting the + operation. + +commit f2d053bb4b7fca870ed3e4aacc26fdd92907d008 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:05 2019 -0800 + + Don't send a backup manifest when aborting a Linux quiesced snapshot. + + When taking a Linux quiesced snapshot, communication failures between + VMX and VMTools may result in VMTools sending a genericManifest event + message after the quiesced snapshot operation has been aborted. If + this happens, VMX will send an error back to VMTools, which in turn + causes VMTools not to send genericManifest messages on subsequent + quiesced snapshots even if the host supports such messages. + + One aspect of the implementation that gives rise to this behavior is + the use of the sync provider's snapshotDone function to undo a + quiescing operation. Specifically, if VMTools aborts a quiesced + snapshot when the file system is quiesced, the quiescing must be + undone. Currently, this is handled by calling the sync provider's + snapshotDone function. This is the same function that is called to + complete the quiescing snapshot protocol when it is successful. In + some respects this makes sense, since in either case snapshotDone + unquiesces the file system. However, architecturally and conceptually, + it seems useful to distinguish between the action to be taken in the + successful case versus the aborting case. It's also useful to do so + in practice, because the successful case sends the genericManifest + event to notify the host there is a backup manifest file, while the + aborting case should not do that. + + To address the issue, add an "undo" function for the Linux sync + provider. The undo function is called instead of snapshotDone as + part of aborting a quiesced snapshot in which the file system is + quiesced at the time of the abort. + +commit d2386efc9b8d66e44b87d21db71fb1fc39cf00f1 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 7c7371304783928cbd8fafeae682de46a1e64b4f +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common source file change not applilcable to open-vm-tools. + +commit 0ab701192d0f5cdbb38525b1cd507bc56962651d +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common source file change not directly applicable to open-vm-tools. + +commit 5e957b0af978d7ba5106c1ae6a4e98e39cedd01c +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 6af2b0bb4ba3d77d94cf61643803282198c7c68e +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit eed75f0ab178cceeabb761661cecaf636b595bdb +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools + +commit 87d1ca65dc4f0d0fa53a2fb5e1411c104aaa84d3 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 51dd95f05655e6d6c84aa0622cb48aeaf2880180 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Record VMware Tools version 10.3.7 used for a patch. + +commit 01d4d19cc0f638ef119fb0b23801c66acd634920 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e57c49e1a8504620acc87d5d64304d76c5cab804 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Modernize diskInfo RPC + + Rewrite diskInfo RPC to allow it to be backwards and forwards compatible. + step 1 -- re-org existing code. + +commit 94ba58e23bda8f2cc74041c3c9cd2e8365a1b431 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit c2a852b98c01b61b0a73be2aaa77ca334e44e902 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:04 2019 -0800 + + Special-case profile loading for StartProgram + + Keep the user's profile loaded for the life of the + program, to avoid races where its unloaded too quickly. + +commit 68e81d11ead52350a6be0ab383a65d2b11884345 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Switch some stringxx headers to use angle brackets instead of double quotes + +commit ff766a3e0dae726cf1d171a150633d9e995f2c08 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Code clean-up - bora-vmsoft/lib/procMgr/procMgrPosix.c + + Recent discussions about setting "errno" to ENOENT when either + getpwuid_r() or getpwnam_r() return 0 (success) if there is no passwd + entry for the user have vacillated. + + Since none of the current callers of the routines in procMgrPosix.c + query the contents of "errno", the current consensus is to simply log + a warning message along with reason for the failure. + +commit b2e0ca7c6a8a9fd7ad33cbc950f63c14ab205718 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 9aef5870bc7dc439bfa422662403369dfdd7f1d3 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e74e440279d402c5d81a1b6f75e0760d91c4eb88 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Changes to common header files not directly appilcable to open-vm-tools. + +commit f8817830c0c41c6e5f7acf77555f9b1be2677b08 +Author: Oliver Kurth +Date: Wed Jan 16 14:53:03 2019 -0800 + + Style: Fix parameter alignment. + +commit 4b3f4bc4878aa9eec15d29e8a5a177186a07292c +Author: Oliver Kurth +Date: Wed Jan 16 14:53:02 2019 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit e5f79d1591677fd83173203e552e5a495109137f +Author: Oliver Kurth +Date: Tue Dec 18 14:12:19 2018 -0800 + + Updates to the DeployPkg guest customization source code. + +commit 401cf6d23667a66cd8f5ed5b5d6644305cb9180c +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Changes to common header files; not applicable to open-vm-tools. + +commit 78c8c4c2e83a6d24e0302e55f21912d7ebee9a2e +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit 6c3d03d6ef32edffa882ce1816f344f4e1db4d8a +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Header file guestcust-events.h moved to a new location. + +commit dafeb935f81a7c10946f359b0753de2ea74befda +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 6009a6c1d3c7e72880541b0e4ca2a39e09e6d4e3 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + General code clean-up. + + bora/lib/misc/posixPosix.c: + Treat local variables "len" consistently as "size_t" type in + Posix_Getmntent_r() + + bora-vmsoft/apps/toolbox-cmd/toolboxcmd-shrink.c: + Improve readability of error handling logic in ShrinkDoWipeAndShrink() + and remove another line of dead code. + +commit a2ecb98683ee8edabddd47cfdd4bf37eb043cc17 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 767aaab78492854f178ebc7b16f0bf34b71c832b +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Record VMware Tools version 10.3.10 as TOOLS_VERSION_JACKHAMMER_UPDATE2 + +commit 3b40e2629e84abf2c3176264142fae54ac4431f0 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Back out previous change to plugins/vix/vixTools.c. + + Too many subtle issues to trust this one without more testing. + +commit 601b399538796cc1692c65f30686140c20b0ba33 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Cleanup -Wno-incompatible-pointer-types-discards-qualifiers + + Details + + Both gcc and clang (on Mac) warn for pointer-incompatible + assignments. It appears that gcc's -Wwarn-strings isn't working + properly, because it produces no warnings for the following + assignment: + + char *potentialSegV = ".rodata-based string"; + + However, clang does. + + This change addresses three problems in bora/lib that produce build + failures when -Wincompatible-pointer-types-discards-qualifiers is + enabled when using clang (one wonders how many other such potential + problems exist?) + + o bsd_vsnprintf.c + + The 'cp' pointer is assigned the address of a constant string. + Since there are writes through 'cp', the quickest solution is to + declare a local, non-const, array variable that holds the string + "(null)". + + o unicodeSimpleTypes.c + + This change, the easiest of the three, marks the 'char *' field as + 'const'. + +commit 07877933b3b2890f1111d07c92cff54e839ff8c6 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:48 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 8b5f6fa802d60aa8bb1855843b395c3851363cce +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Backout previous change to vm_basic_asm.h; not applicable to open-vm-tools. + +commit d8e831e22912d7f2a285c16af1824dafc072cd3a +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 05209f64dcc5eb253b18b3969582749039a835c5 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 3fef292a16fd27c83e3dd690e3a2a3bc5e74f2b1 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Revert previous change to vmci_sockets.h. + +commit f91f7355619ad0ed7afcbe0b7161be3680b88688 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Fix NULL pointer dereference and remove three lines of dead code. + + QbitLogic has run [Code]Ai on the open-vm-tools source code and + and notified VMware of a potential NULL pointer reference and four + pieces of dead code. + + See https://github.com/vmware/open-vm-tools/pull/247 + + bora-vmsoft/services/vmtoolsd/pluginMgr.c + The proposed fix conditionally emitted a log message. That fix has + been reworked to consistently emit a log message with conditional + content. + + bora/lib/misc/posixPosix.c + bora-vmsoft/apps/toolbox-cmd/toolboxcmd-shrink.c + Remove one line of dead code from each source file. + + bora-vmsoft/lib/procMgr/procMgrPosix.c: + Suggested dead code fix actually pointed to a bug where errno + was not getting updated as intended. + + bora-vmsoft/services/plugins/guestInfo/perfMonLinux.c: + Suggested dead code is no longer dead; change not applicable. + +commit bbcb8a46876352e120d22ee07bae26be29ec27c3 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Remove erroneous defines of __FreeBSD__ & __VMKTCPIP__ from vmci_sockets.h + +commit 56d568396910f2af7408517b75b0a6e387bf69ef +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Add VMware Tools version 10.3.6 to vm_tools_version.h + +commit e843a034b7ea9e32959512d39ca1d046968c575e +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit f32fde16f226a67b42fe095aea33bf7b5e8040c0 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + special case profile loading for StartProgram + + For StartProgram, we need to be sure there's no race in the profile + unloading. So keep it open through the life of the started program. + + See related vgauth change. + +commit 150483202fdd5b3c447e4547bee00d18b918bb31 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Common header file change not applicable to open-vm-tools + +commit 1997a49deaed475d44ef4eece6c592e51115a8b0 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Fix the issue that Deploypkg log files of linux should not be world readable. + +commit f16590d1b721112f7841283ed03912c3837f120d +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + lib/file: Memory leak in File_ListDirectory when directory is empty + + If the directory is empty, calloc of zero still succeeds and a memory + leak results. + +commit 1a685809609906464f90f2a2a2e2c5299bb8cb4e +Author: Oliver Kurth +Date: Tue Dec 18 13:19:47 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e03c5b88c6e42a3bf395ad647544ae113e83779c +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Changes to common source files not applicable to open-vm-tools. + +commit 74561dc19faf9a44fffc0676c27c16176b35d3af +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + lib/file: Improve File_ListDirectory and File_WalkDirectory* + + The File_WalkDirectory implementation has an initial latency (before + file names are available) that is unnecessary. Using the unicode + library, when not necessary, adds a huge amount of memory usage and + wastes CPU time. + + These routines duplicate quite a bit of code. + + Rewrite File_ListDirectory to use File_WalkDirectory*. + + Rewrite File_WalkDirectory*: + - Return files as they are discovered, not after the entire directory + contents are parsed. If one decides to stop early, they don't have + to pay the price for the entire directory contents. + - Preserve the protection from duplicate file names. While Windows + locks a directory during a content tranverse, POSIXen does nott. Code + is here in the lib/file for quite some time so that the numerous + callers do not have to handle dealing with dups. + - Avoid using the unicode library on platforms where we can, this avoid + most of the eggregious memory usage. + - Don't use Dynbuf... Handling things directly is more efficient. + +commit e3b171c6d86ba73b3bd14a10b368bd765f327603 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e8494c194dc620ca455f0a6dd723160310283cc1 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Bump tools version to 11.0.0. + + The next VMWare Tools product release is to be version 11.0.0. + Switching the version of tools from the current development version 10.4.0 + to 11.0.0. + +commit a7c141fc5278146b86c71502f60767962b752af7 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Remove GLib 2.32 deprecated APIs from tools + + Replace the GThread, GCond and GMutex APIs deprecated in GLib version + 2.32 in the VMware Tools source. + +commit 2afa9fb568001dbd1ec24537aab365630c312cb4 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e389813c0e87937d6e5f6cc8ebe8ee55688741df +Author: Oliver Kurth +Date: Tue Dec 18 13:19:46 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit c4987e08c68f870e563bfa73ce8dd98854221011 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:45 2018 -0800 + + Disable sending toolsd debug log level messages to host + + After the security and privacy reviews of the toolsd logging, + the debug level messages to host have been turned off. + +commit e8e8d6c3cb672ba561bcacd16dd3d17eca08d8c9 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:45 2018 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit 34c8274bddfe54b750449d27d5a8cde597e6b85b +Author: Oliver Kurth +Date: Tue Dec 18 13:19:45 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 49eb56393323c9344d10313d104bf20630813578 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:45 2018 -0800 + + Remove grabbitmqproxy and certtool from tar installer, OSPs and open-vm-tools. + +commit 6297504ef9e139c68b65afe299136d041d690eeb +Author: Oliver Kurth +Date: Tue Dec 18 13:19:45 2018 -0800 + + Common header file change, not directly applicable to open-vm-tools. + + Add a new GOS definition for darwin19_64 (macOS 10.15) in HWV >= 17 + +commit 008fb2caba5b0bf9684274e23539c57825ce9f53 +Author: Oliver Kurth +Date: Tue Dec 18 13:19:44 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e5f3527f43a847401a3715792eb73f56a759e895 +Author: Oliver Kurth +Date: Fri Nov 9 14:59:39 2018 -0800 + + Adding the libappmonitor source to the open-vm-tools distribution. + + In response to customer requests that the libappmonitor library from + the VMwares Guest SDK be opensourced, the libappmonitor code has been + bundled in open-vm-tools. + +commit 9813b969a36a658bcc09459b2e2e757f4a9f1959 +Author: Oliver Kurth +Date: Fri Nov 9 14:59:39 2018 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit bcc387216f018dffca63b78dece11e52b6648414 +Author: Oliver Kurth +Date: Fri Nov 9 14:59:39 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 12cfe6d2f3b060d108f641347514b6df63efc99b +Author: Oliver Kurth +Date: Fri Nov 9 13:22:25 2018 -0800 + + Provide a distroName, when available, when the lsb_release cmd fails. + + The default, in Linux, is "Linux". If a distoName was present in the + lsb release description file, it should be used. + +commit 8c4732f401add7666f5d01705e6bcca4a7a3581b +Author: Oliver Kurth +Date: Fri Nov 9 13:22:25 2018 -0800 + + Common header file change not applicable to open-vn-tools. + +commit 99d647e66015019af5ef2acc8369dfaaa59e26ef +Author: Oliver Kurth +Date: Fri Nov 9 13:22:25 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit ce5e473e61d488a0f9cc79a4896562ab5e6f4409 +Author: Oliver Kurth +Date: Fri Nov 9 13:22:25 2018 -0800 + + Remove Common Agent Framework (CAF) from Tools - Linux Changes + + The CAF files have been removed from VMWare Tools and the open-vm-tools + source. + +commit 17495d9489caf922a1c5452f2c3f4eb0a1408aba +Author: Oliver Kurth +Date: Fri Nov 9 13:22:24 2018 -0800 + + Enhance the vm-support-lx script to capture guest customization related logs + for the guest. + +commit f76ab6ac8adc5b8c28aa0979006dda3119cc04ab +Author: Oliver Kurth +Date: Fri Nov 9 13:22:24 2018 -0800 + + Security concern: Certificates contain identifying information + + Do not log the contents of certificates which contain identifying + information such as e-mail addresses. + +commit 71905e9b86cc70a08d43fdab2419c51df8a540f0 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:27 2018 -0700 + + Add "#include " to services/vmtoolsd/toolsHangDetector.c. + +commit 7cdfdb0a97af51bf84f0e424b595fab98afd6f17 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:26 2018 -0700 + + Common header file change. + + Remove macro definitions of MAX_OS_NAME_LEN and MAX_OS_FULLNAME_LEN + from lib/misc/hostinfoInt.h + +commit cb5601064604433688f10dacd3ca12a34e629cdb +Author: Oliver Kurth +Date: Fri Nov 2 15:28:26 2018 -0700 + + Hide static function declaration for Linux from FreeBSD and Solaris OVT + + A recent change introduced a new static function + HgfsInvalidateParentsChildren() in bora-vmsoft/hgfs/fuse/cache.c. That + function is defined and called only in Linux builds. + + The static function declaration should not be visible on FreeBSD OVT + builds. + +commit cd003f2b1ce879121f519b664ae19749889e36f2 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:26 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a83d4dac90630dc6ed144c8d6e3cb9db449b981c +Author: Oliver Kurth +Date: Fri Nov 2 15:28:26 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit d02c872af34c59031be957ce4a6f5d0574589726 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:25 2018 -0700 + + GuestMapper: Detailed data fixes + + The guestInfo detailed data for Photon was being reported incorrectly, + sometimes adding trailing whitespace when not needed. + + The problem was how the release file was processed. It was being + processed (open/read/code/close) multiple times, and wasn't separating + each of the fields as it should. Fixed this. + + Adding logging of what is sent by the guest; how things are mapped. + +commit a1917eaa8c088363cb4470b929081f6036f3edcc +Author: Oliver Kurth +Date: Fri Nov 2 15:28:25 2018 -0700 + + Update the tools side code to send VMX the health status event. + +commit 98e292df69d5a1d21998d99e5f571e22ed42785f +Author: Oliver Kurth +Date: Fri Nov 2 15:28:25 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 31aaa5cd048bbc6eeb4221df3f92b30c320b132d +Author: Oliver Kurth +Date: Fri Nov 2 15:28:25 2018 -0700 + + VIGOR and RPCI definitions for the tools hang detector events. + + Define an array of ToolsHealthEvent to record the last N tools hang + events. By keeping a list of historical events since the power on, + we help ourselves trouble shooting guest/toolsd issues. + + Use the first array element for the latest event. This simplifies + implementation as the DynArray can be easily capped by setting the + array count. This requires us to add a PushFront function to add + new element to the front of the DynArray. + + Added the RPCI handler for the tools hang detector RPCI messages. + + Added feature switch Tools_Update_Health. + +commit f424de6e55bf08833de86b2b62a3797351b3c3d4 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:24 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8a46de645e3d94af7d15af7f09e2c3bf495962ab +Author: Oliver Kurth +Date: Fri Nov 2 15:28:24 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 35a3635b0b5d1478bf21ed114b28b2df64108481 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:24 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 63627bd400ed1054a092b8147181504ebf70d089 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:23 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8f93db57cbcda3822f1a867da962507da393391e +Author: Oliver Kurth +Date: Fri Nov 2 15:28:23 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ed4d390b0002b057e649f51b210102ce794c38cf +Author: Oliver Kurth +Date: Fri Nov 2 15:28:23 2018 -0700 + + Add more logs for clipboard delay rendering + +commit 23b37dcaf75cfcccb5b372100a6c82f9f7eade21 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:23 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 55e6cb43d4a67b7e5ab2385f8decdaa4e0a1ad5f +Author: Oliver Kurth +Date: Fri Nov 2 15:28:22 2018 -0700 + + Backout immediately previous change; not applicable to open-vm-tools. + +commit f78c2d1f1ec6e287aaa41f4ac100df3fb3087915 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:22 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ef9c5b40c1ce79130f52642793c7a187ca9a198c +Author: Oliver Kurth +Date: Fri Nov 2 15:28:22 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 73731849187ee088680ba66c9cd61871ececa06d +Author: Oliver Kurth +Date: Fri Nov 2 15:28:21 2018 -0700 + + Replace function File_Rename() call with File_Move()in dndCommon.c + +commit 3acf72392134a6c413bb17925b64b05ac1a44b28 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:21 2018 -0700 + + Common source file changes not directly applicable to open-vm-tools. + + Re-apply the DnD changes previously backed out. + + On Windows, the CDR tmp files under folder "VMwareDnD" will be kept + permanently in some cases after drag & drop.i + +commit 1a20b0f77ef4320355b61d84153b6cfc4d3db775 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:21 2018 -0700 + + Fork sha1/md5 for kernel/user usage + + Kernel specific sha1/md5 routines have been removed from lib/misc/sha1.c. + +commit 512afce3d5f147fad4bc3fec57e93a862033ffdf +Author: Oliver Kurth +Date: Fri Nov 2 15:28:21 2018 -0700 + + Backout the previous changes to DnD temp file clean up.. + +commit a9e178eaf036b09d12263db2118c4171b154cb69 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:20 2018 -0700 + + Common source file changes not directly applicable to open-vm-tools. + + On Windows, the CDR tmp files under folder "VMwareDnD" will be kept + permanently in some cases after drag & drop. + + Root cause: The existing strategy is to delete the folder before next reboot + of the machine, which is implemented through writing Windows HKLM registry. + However, for the non-administrator user, that user has no permission to + write the registry which in turn results in the temp files not being removed. + + Solution: The temp files will be removed when the user disconnect the remote + desktop/app. The details are: + 1. Client will remove the temp folder when remote desktop/app is disconnected + (rmks exits). Server will remove the temp folder when mksvchServer plugin + gets "Not Ready" notification which means mksvchanServer is disconnected + from the mksvchanClient. + 2. Use prefix "Horizon_xxxx(pid)-" to distinguish if the temp folder is + being used by DnD or not. For Client, the pid is the rmks process id, + for Server, the pid is Clipboard pid. + +commit aa479bbdba6338d7988f5db9145b63d8796a926d +Author: Oliver Kurth +Date: Fri Nov 2 15:28:20 2018 -0700 + + Issue: Sometimes, there is a message "The system cannot find the file + specified" popped up when drag and drop over multiple remote apps. + + Root cause: + When drag over multiple remote apps, multiple pairs of dragEnter and + dragLeave messages are sending. The DnD state or the dropSource/dataObject + are messed up when handling the 2nd DragEnter with the 1st DragLeave at + the same time. + + Solution: + Besides fixing this issue, fixed several other issues also to enhance the + handling for multiple pairs of messages in the same time: + 1. In DnDController layer, avoid to reset the DnD state when handling the + message responded from agent for previous sessions. + 2. In agent, only set the DnD state to be Ready when the previous + DoDragDrop is really cancelled by OLE. + 3. In agent, only response to the button event when the drop is notified. + 4. In agent, add a 2s timeout checking for cancelling process to avoid + conflicting with another DnDThread to create dropSrouce. + 5. In agent, add a 2s timeout checking for dragBegin process to avoid + conflicting with previous dragBegin processing. + 6. Add virtual prefix to the method "GetData". + +commit e7dd1a81bc1ffac2518746291e1cacf4d80dbe85 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:20 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 0a0cdca3727a11333ccd08a2548aa23086dd1dce +Author: Oliver Kurth +Date: Fri Nov 2 15:28:19 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 32239c47c0add190765a0e71fd80c5abfedfdb14 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:19 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 72d665451b838c275794e73d37aebf130833c950 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:19 2018 -0700 + + Tools hang detector now handles slow guest. + + Tools hang detector can check its own past running history and figure + out whether itself is running slow due to a resource contention inside + the guest. + + Tools hang detector shall report a different event to the VMX if the + main thread is not checking in and the tools hang detector itself is + not running frequently enough indicating the guest is running slow due + to a possible resource contention. + +commit 387121656a29e9643cc2624133669a72c77deda5 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:18 2018 -0700 + + More logging improvements + + vSECR doesn't want usernames going to the VMX, so remove them. + + Dump cert details when xmlsec fails to add the cert to its keystore. + This can occur when the cert chain in the token has a bad cert, + or one that isn't signed by the root cert in the token's chain. + This can occur if a user has mis-configured an SSO server. + +commit f17721b0815a153e8a1d9b95492792c07594309d +Author: Oliver Kurth +Date: Fri Nov 2 15:28:18 2018 -0700 + + Solaris: Synchronize between vmxnet3_tx and vmxnet3 + + Vmxnet3 driver on Solaris is not properly synchronized + between vmxnet3_tx and vmxnet3_stop. When the driver + receives a stop event from the device, it doesn't + synchronize with the TX function invoked from the + networking stack before it releases the TXQ resources. + Thus, when the TX function vmxnet3_tx() is executed, + and a stop event/interrupt comes in, the TXQ may + suddenly disappear while vmxnet3_tx is still accessing + the descriptors, thus the guest OS crashes. + +commit 68f58daeceebe0d879fcbeca1d21e845bd1289e8 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:18 2018 -0700 + + Hgfs FUSE Client: fix attribute caching of folders + + When a directory is invalidated from the cache due to any change such as + a rename then any cached children of that parent folder should be + invalidated also. Otherwise the cache holds stale information leading + to incorrect behavior and failing applications. + +commit ee49a8158e9648feb05e934ad3b0f23ac1c5fca3 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit b0fcac5dd34133a6a4baa926b4a99a7a02599268 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ab63640f3946e00810c7a6b32d2efd2325a1bf1b +Author: Oliver Kurth +Date: Fri Nov 2 15:28:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 14e84dd6d11311947e31cb4852f1c8e976290239 +Author: Oliver Kurth +Date: Fri Nov 2 15:28:16 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 03ec43287b1bf2dd8ad0a2c10a272ba317cf3fc3 +Author: Oliver Kurth +Date: Fri Oct 26 10:45:00 2018 -0700 + + Clear DnDPluginResetTimer on receiving SIGUSR1. + + DnDPluginResetTimer callback handler DnDPluginResetSent() accesses + the RPC channel managed by the main loop. However, mainloop destroys + this channel on receiving SIGUSR1. So, we need to destroy this timer + as well when SIGUSR1 is received. + + There are at least 2 ways to do it: + 1. Add Linux specific code in vmCopyPasteDnDWrapper.cpp and any other + places where we need to do similar cleanup. + 2. Have main loop generate a signal and do the necessary cleanup as + handling that signal. + + In order to keep the code clean and also let other places/future + changes leverage the same solution, approach #2 is used here to + define and generate a new signal TOOLS_CORE_SIG_NO_RPC. Also, + implement a handler for the same in the test plugin (for testing) + and dndcp for this bug. + + While there also fixed the log domain for few files that are supposed + to logging under "dndcp" domain. + +commit b6a8e6973701ebe3d6e55be6862bfa11873431c4 +Author: Oliver Kurth +Date: Fri Oct 26 10:45:00 2018 -0700 + + Fix memory leak in deployPkg.c + + In function DeployPkg_TcloDeploy, pkgName is not freed if deployPkg failed + to submit to the thread pool. + +commit d32b2f1f77af1246d50fd9003e15515ad0ba250a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Develop log APIs to fix security holes in the tools log messages. + + Security artifacts such as command args on the host should not be logged + in the VMX log files on the host. This change creates APIs so that + different log messages can be used for host and guest. + + Refactored the log plumbing to minimize code duplication when calling + the different implementation of logging to the vmx and logging in guest. + + Fixed one instance of security issue in vmbackup, to show how to use + the new APIs. + +commit b122127e50b2f7cdebad5aa79c75f67f6ffa4ead +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 0ff45146c987d734ad5cc224fc0f6f24f422f9a0 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit e0c0431824dce19770d91143fb9b7176b2f9b77f +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Clear channel restart timer when RPC channel is destroyed. + + Vmusr main loop destroys the RPC channel when it receives SIGUSR1. + However, it may have left the restart timer around that would end + up accessing the destroyed channel structure. So, we destroy the + timer along with the RPC channel to be safe. + +commit afa563c3d035f2227eaae22fea9f89b9f27ad9c2 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Tools Windows Drivers: split header for reporting versions + + The rpcvmx.h header file has been split to allow some tools drivers to + report their versions to the VMX while limiting the number of RPC APIs that are exposed to the drivers like VMCI and Csock. + +commit a6862863ab6bb8e466518c5587e7dd7aca4944fb +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 30a576e296250f377fc490ac6d1b37f215f798ad +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + include log.h to workaround missing g_info() in glib + + Older versions of glib (< 2.40) do not have g_info(). There + is a workaround in vmware/tools/log.h, but it wasn't included in + toolsHangDetector.c. + +commit 7560aab8a6be1be166d0e37c08f46ba0196d0a16 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Add some sanity checks in vgauth/common/certverify.c + + Add some sanity checks in cert chain verify callback. + +commit 7925e1f7b4b0de43b27ea85324cb31f80a744941 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 6e8833563045101a8fb7d91fc33cbe980588bebf +Author: Oliver Kurth +Date: Fri Oct 26 10:44:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 3e25c7c614a72ec380b6b22473b35712a0b05b26 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 4aeaba06a0e5fbe857bcf6cc9e361bb537101281 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + [AsyncSocket] Replace 'Bool safeAccess' parameter with 'DWORD accessType' in AsyncSocket_CreateNamedPipe. + + So that callers can select wanted access control. + +commit 0e4b5b90b268a542984f572909ea49d32bd15b12 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Implement tools hang detection logic + + Create a dedicated detector thread. The thread sits in a loop and + wakes up periodically to decrement an atomic counter. Also schedules + a checkin timer with the main loop to reset the counter periodically. + + If the counter ever drops to/below zero, the tools hang is detected, + and a tools hang event is generated. Otherwise, if there was a hang, + but the counter has now come back up to positive, a tools recovery + event is generated. + + In order to properly create hang and recovery event, previous state + needs to be tracked. + + In order to properly handle shutdown, we need a condition variable so + that the detector thread can wake up on it while sleeping. This is + because the toolsd calls the thread pool shutdown function which + in turn calls each thread's terminate function and wait for the threads + to quit. Therefore, our terminate function shall wake up the detector + thread and make it quit. Otherwise, the toolsd shutdown shall hang. + + Next change shall implement the new RPCI command to send the + hang/recovery event to VMX. + +commit 16a2feba8c1f0ff420df3ccf0839c89700cecd71 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit d7fda97ce83c672a36ccfa678ed9fb8f77dba745 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 88adffa22be7f8212a8f18f43ede7d71b163c6d5 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Common header file change not directly applicable to open-vm-tools + + [ghi messages over MKSControl] Add a new return type for UI -> MKS message. + So that the MKS side can send utf8 string error message to the UI side. + +commit 723475d22891ae90d1d036a6efdf51b22809c8f0 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Use bitwise AND operation while fetching current IOPL. + + Iopl_Get() was using logical AND operation which could result + in wrong IOPL value. We should be using bitwise AND instead. + +commit 74401197479cca7db92d52ed61dced7a5b9fcc77 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit ee7d2229f32702942f43418784dca2925e64712a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:58 2018 -0700 + + Changes to common header files not directly applicable to open-vm-tools + +commit 480fe9149b740faf298a7c6259f9d0c3a3c6bae8 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Hgfs FUSE Client: fix missing pthread_mutex_unlock call + + Fix missing pthread_mutex_unlock call in HgfsSetAttrCache when + updating the cached attributes on a file and a memory allocation + fails. + +commit ac5341917916d37120b35dbe3d1a9ef1dfe61f92 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Hgfs Server Linux: fix the share permissions on a file rename or delete + + Coverity found that the argumeents to obtain the share permissions + on a file rename were swapped. Even though they are tested together + in an if statement which is not an issue, it could be in the future. + + Reverse arguments so the share read and write permissions are correct. + +commit 36174dbcba016b9421c32bd682cec2fe05db2016 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 8d371d534c227511c41ca8bdc4b4f9d8279cbd28 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Update the copyright year for OVT bundled files modified since 10.3.2 + +commit 45f0733b4eeb4b46f820a5db911917cfbb769d37 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Handle Linux kernel /proc FS uint32 type stat overflow when calculating tools rate stats. + + On both 32-bit and 64-bit Linux, tools always parses Linux kernel /proc FS + stats as uint64 values. For rate stats, current - previous can handle uint64 + type stat overflow, but not uint32 type. + +commit 570578fcf07fab60cf28f6e9396473c9ba8a815b +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 741a58d63943823568488080cc53b30c35e51530 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Accomodate kmem_malloc() and kmem_free() changes in FreeBSD 12 + + The kmem_alloc() and kmem_free() APIs have been changed in the + upcoming FreeBSD 12.0 release. The change was to drop the now + unused arena parameter from both functions. + + This fix defines and uses several macros whose definitions are + specific to FreeBSD version 10, 11 and 12 kernel memory API changes. + + Github open-vm-tools pull request from Josh Paetzel. + https://github.com/vmware/open-vm-tools/pull/286 + +commit 03d9d27074dd645b35a829bd506304ede0527734 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:57 2018 -0700 + + Changes to common source files not directly applicable to open-vm-tools + +commit 394c1f1c11ae4b8c3a907d46ba5c4bfe4d7bd82a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Add some more VMX logging + + Add some more key logging to the VMX; also put [vgauthservice] into + messages for easier grep filtering. + +commit 19f930cf847b6113f9d0923b571d6e6bfc6db45f +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Common source file change not directly applicable to open-vm-tools + + On ESXi, AF_PACKET family is reported for vmk* interfaces only and its + ifa_flags is reported as 0, so do not check for IFF_UP/IFF_LOOPBACK. + +commit eee56ef486dbf94984e925eb9d248ce72203a2ed +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Common header files changes not applicable to open-vm-tools + +commit d7847e083e1a9db3dd6c38f07a67e52e58e061dd +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Tools: More clean up from the guest mapping changes + + A few more places to improve the code. + +commit 6781303c4c4c5d80116a607b390d435def0a5c15 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Common header file change not directly applicable to open-vm-tools + +commit 7eaf3377621b44af6a9768e6fd0fe61b32165781 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 39b03704a3175b404369040b64740d05bbb80b9a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Fix Guest RPC Channel clean up memory leak on the guest side. + + The RpcChannel_Destroy() is leaking the memory on the outLock. + Refactored the code so that RpcChannel_Shutdown() matches the + RpcChannel_Setup() if invoked, and RpcChannel_Destroy() just calls + RpcChannel_Shutdown() + +commit a91e16cb36188a8d02923b689a235b6a26dba9b2 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:56 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 8e1e6d8a55bc67dc084ea92e9d449acaf1968ad3 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + ToolsCore_GetVmusrLimit(): use app name from ToolsServiceState struct + + The vmusr process on Windows is calling ToolsCore_GetVmusrLimit() early + in the process before ToolsCore_Setup() is called to initialize the + ctx member. In ToolsCore_GetVmusrLimit(), changing the call to + VMTools_ConfigGetInteger to use "state->name" instead of the + state->ctx.name. + +commit 7deb123700457d97316cf536ce8ee9c4150e70cb +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + Incorporate the RpcChannel failure count in the warning message + + The RpcChannel failure limit can be adjusted by the user. Capturing + the failure count reached when a "permanent" channel failure is + being logged. + +commit 6e7835970e73978db54bef24731d4a3d49cc9e2a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + Allow only a single instance of vmusr when multiple users are logged into a VM + + When a vmusr process gets the "channel conflict" error while attempting + to open the toolbox-dnd channel, a channel reset is triggered. That + reset results in the channel being restarted and a subsequent conflict + and reset occurs - every second until the channel becomes available. + + For *nix guests: + The fix is making use of the repetitive channel resets where the only + RpcIn message received is a "reset" to catch this channel "permanently" + unavailable state. If other RpcIn messages are received, a channel + is considered to be working and the cumulative error count is cleared.. + + lib/rpcin/rpcin.c: + - struct RpcIn: Added error status boolean and callback function to + notify the dependent layer that a channel error has been + resolved. + - RpcInLoop(): If a non "reset" message is received, clear any channel + error status. This will also notify the dependent layer + that the channel is functioning. + - RpcIn_start(): Added additional argument for new callback; NULL if + not needed. + + lib/rpcChannel/rpcChannel.c: + - struct rpcChannelInt: + - Renamed "rpcErrorCount" to "rpcResetErrorCount" since it is actually + a count of the consecutive channel reset failures and not a count + of RpcChannel errors. + - Added counter "rpcFailureCount" for the cumulative channel errors. + - Added "rpcFailureCb" for optional callback to notify the app of a + "permanent" channel failure. + - New function RpcChannelClearError() for RpcIn to notify when the + channel is working; to clear the rpcFailureCount . + - RpcChannel_Setup() - added two arguments for (1) an optional function + to be called when there is a channel failure + and (2) a failure count threshold. + These optional values are stored in the + RpcChannel structure being created. + - RpcChannelError(): Added logic to notify the calling app if the error + threshold has been reached and notify the app if a + callback was provided. A zero threshold signifies + the single vmusr limit should not be enforced. + (fix disable switch). + + services/vmtoolsd/mainLoop.c: + - New function ToolsCore_GetVmusrLimit() to retrieve the channel error + threshold default or over-ride from tools.conf. + + services/vmtoolsd/toolsRpc.c: + - Added ToolsCoreAppChannelFail(): Callback for "permanent" channel + connection failure. A warning is logged based on whether another + "vmtoolsd -n vmusr" is running or not and the process is terminated. + On Mac OS, the process is terminated with exit(1) as an indication + to launchd that the vmusr process should not automatically be + restarted. + + The current implementation uses the error callback only for the vmusr + server on Linux (*nix). + The default channel error limit is 5 (approx. 5 second), but is user + configurable in tools.conf. + + [vmusr] + maxChannelAttempts = n # where allowed n = 0, 3-15 + + When "maxChannelAttempts = 0" is used, the restriction to a single + running vmusr process is not enforced. The existing behavior is + restored with all the accompanying VMX log spew. This is essentially + a user configurable feature disablement switch. + +commit 3e05fcb7f92256b6f878c05792e4e9c933854500 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + Common source file change not applicable to open-vm-tools + +commit 0b39faad61c6879b1eae2c79e264cec62990899a +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 09ac9ffe74fad2b9d73e59b0365bc7f641483019 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:55 2018 -0700 + + Remove vmxnet and vmxnet3 drivers from FreeBSD builds and open-vm-tools + + The vmxnet (version 1) network driver is not supported by any currently + supported VMware virtualization platform. Removing the FreeBSD + specific vmxnet source and deleting the vmxnet.ko driver build from + the tools and the open-vm-tools builds. + + FreeBSD has their own vmxnet3 network driver based on community source + and has never made use of the vmxnet3 source code or drivers from + VMware. Removing the unneeded FreeBSD vmxnet3 source and builds + +commit ecf022ae2b53034d483004e4f8640e66bdbfed9c +Author: Oliver Kurth +Date: Fri Oct 26 10:44:54 2018 -0700 + + Add virbr* interfaces on RHEL to default exclude-nics. + +commit 444ef4fa635f89c1018e2563c31fc6f01450d942 +Author: Oliver Kurth +Date: Fri Oct 26 10:44:54 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 5add0ab1ad77a04edb6efc130fed1ad4abfe2ca6 +Author: Oliver Kurth +Date: Tue Sep 4 15:41:00 2018 -0700 + + nicinfo: skip loopback devices + + When libdnet isn't used, loopback devices were reported. This change + skips these interfaces. Also skip interfaces that are down. + + The interface was visible with vim-cmd, but not in the VC or + ESX UI. It did not contain any IP addresses. + +commit 827d7fdbd4dc182f2f771977672d640d05e749b5 +Author: Oliver Kurth +Date: Tue Sep 4 15:41:00 2018 -0700 + + Common header file change not directly applicable to open-vm-tools + +commit 8280a4bfec3b7f8977af6d352d1ba4291786c8a6 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Commom header file change not applicable to open-vm-tools + +commit f00f4772e77858ffeae1f10feef4c6bd59dde2f0 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Update SSL configuration with more secure settings. + + Due to SSL issues in the past, The preference is to have default + settings to be more secure than compatible. This change mainly + inherits the default settings from ssl.c. + +commit bffe18fbf52826e52fa972bb090bcb4ff1831092 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Make Tools logfiles readable only by owner and root + +commit 542046b5d4aa64e254da832b7d8c1ad6eefe2275 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Reduce quiesced snapshot warning messages when running on older hosts. + + vSphere 6.7 added a new interface on the host side that allows tools + to send a "generic" backup manifest during a quiesced snapshot on + Linux guests. VMTools 10.2.0 or later will try to send the manifest + file and if the host is unable to field it, then VMTools logs this + information and continues with the quiesced snapshot in the older + fashion. This change reduces the logging that is done in this case. + +commit ef8b0bfcc4d7a37bfc92fca0c4f06d7499e58b42 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Add some key VMX debug messages + + Add some key debug-to-vmx messages to help debug SAML tokens. + Fix a potential issue in the logging code. + Always use a local version of htonll() since Visual Studio has + changed its mind about its existance in vs2017. + +commit 1ce7f3e7faca67b9ef8c42baaff23ec82019cb11 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 0546f98b3beb75af0cdd435b4233c99a1f35253e +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Tools: Clean up more "structured" left overs + + It's now "detailed data". + +commit ce47017617b1a01fafddeb8b3f75debe374530e5 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:59 2018 -0700 + + Tools: Symbol name revisions + + Change references to the recently added structured OS data to detailed + OS data. Replace "Structured" with "DetailedData" in names. + +commit c1c102819e1df82f30f1d7b26b8da816d094fc3c +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 3211b6cb046fb1c9321efd074d60a0a7f9a7b011 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Fix a gcc-8 compiler warning in lib/misc/vthreadBase.c + + gcc-8 generates a stringop-truncation warning when it's possible + for strncpy to exclude the trailing nul. The code was fine, we never + touch the last byte in the buffer and it's a static, but explicitly + set a nul at the end of the buffer so gcc sees it. + + This is needed for open-vm-tools to build on SUSE Tumbleweed. + +commit 233952398ef899a23b69087a1db1722ec71f503e +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 1535eb36e8293d753c29f1eaf6cd6d2165efb1ca +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + End VGAuth impersonation in the case of error. + + * In GuestAuthPasswordAuthenticateImpersonate(): + When VGAuth_UserHandleAccessToken fails, unimpersonation is not + being done. This can cause issues. Fixed it. + + * In GuestAuthSAMLAuthenticateAndImpersonate(), fixed the following issues: + The 'newHandle' is not being freed which causes a memory leak. + When VGAuth_UserHandleAccessToken fails, unimpersonation is not + being done. + +commit 82f3edb174f4fff33d72358f4fb3bd1f00aa264f +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 9c4144b6538928015184a52e7e5231a56907dfba +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Fix coverity complaint; not a real bug + +commit 49f64d6445dd20b7f3a07e8fee3dff5e1e9b03a5 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + vm_version.h should include vm_tools_version.h only for Tools builds. + +commit 0520c8ed6fb2d9a6cc466a2dd1441c4294673620 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:58 2018 -0700 + + Tools: Start using the new structure guest data + + Turn on the structured output for guest OS identification. + +commit 356eb36845fa0aa1f1c3d2058c91bd8ecda23eb8 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:57 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 78b081377d9c4370b5a8a6d2a4f985f4d143e938 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:57 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit e509d49578ee5fa025c6393accc0e3f897217933 +Author: Oliver Kurth +Date: Tue Sep 4 15:40:57 2018 -0700 + + Tools: More cleanup + + Remove references to VMDB. + Cleaned up some headers - they are all the same now + NIC, not nic in messages + RPC, not rpc in messages + OS, not os in messages + Added a few debugging messages for the new, structure data paths + +commit 47a6790d8b20c25a34488d2b279fe95ff36c44aa +Author: Oliver Kurth +Date: Tue Sep 4 15:40:56 2018 -0700 + + Add VMX logging support to vgauth + + Add support to log to the VMX. Currently this is just for special + error conditions. + +commit 7c340eee74f1db6442467f8b0de72eb40f7b5837 +Author: Oliver Kurth +Date: Wed Aug 29 13:53:31 2018 -0700 + + sync version and build number + +commit fbe2521a191980e2afc8f0d68fa31bbdb8f9a0e1 +Author: Oliver Kurth +Date: Wed Aug 29 13:51:55 2018 -0700 + + Workaround for false negative result when detecting cloud-init existance + + "cloud-init -v" cmd is used to detect if cloud-init is properly configured and + it works on most linux distros. However in some linux distro like Amazon Linux 2, + "cloud-init -v" will print result to stderr instead of stdout and it makes + "forkExecAndWaitCommand" give false negative result. + + 1. added a new bool switch in "ForkExecAndWaitCommand" to choose + if we should ignore the stderr output when the return code is 0 + 2. removed unnecessary reference for "ForkExecAndWaitCommand" in linuxDeploymentUtilities.c + 3. trivial change for some formatting + +commit 1d2b93b545ec9060c91a2afbcaf8dbc8bc897e34 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 1f15c765275316d0fae89b2eb089ba8fcd7ceabb +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + Tools: Rename GuestInfoUpdateVmdb to GuestInfoUpdateVMX + +commit ef4d2bc0a20bc348704dcd2df93695e8249b2818 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + hostinfoPosix.c: More clean up + +commit 6ec4bb7ff88538f0cc5257e6c22f22d1afb73470 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + Tools Version change for AppDef Beta - 10.3.2. + +commit 799fa0932ed7a5e673892c9ef5c2d2c905ef14d7 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + Common header file change not applcable to open-vm-tools. + +commit 69976fc902b8c08f85ce11d9afbc06767dcd8793 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:46 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 44e3d3c02bae8734d9396b462089f639c5b02b68 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Fix memory leaks in 'vix' tools plugin. + + * vix plugin retrieves the power script file paths from the + config file but doesn't free them and this causes a memory leak. + Fixed the code to free the filepaths. + + * In GuestAuthPasswordAuthenticateImpersonate function, the VGAuth + handle is not freed when the impersonation fails. Fixed the + code to call VGAuth_UserHandleFree in the error path. + + Note: I executed one guest operation with wrong credentials. + Every failure leaks 75 bytes of memory. (in Centos 64-bit VM) + + * Fixed another minor issue in the code. At couple of places in + the code, replaced 'err' with 'vgErr' for storing the return value + of VGAuth_UserHandleAccessToken. + +commit 9f52cd6f278aae31d72cd018655b31978ee53bba +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + open-vm-tools: build without libdnet by default + + Building with libdnet does not add any value for Linux, so build + without it by default, but keep the option open to fall back on + it if there are issues. + + FreeBSD still needs libdnet for full functionality, therefore + make building without it the default only for Linux. + +commit 64848ab7e16492c4bb8544eaff1aa839783e63bf +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Some source code clean up. + +commit c3461876464b93bcd65cca2a01767ffae0bf9ef3 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + lib/file: FileIO_CloseAndUnlink + + Unlink regardless of the close status. + +commit 1d6223d03fdcf56758877b99e0cbd8b1d22ab639 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit d2bb2886a1cc41b4fc4966f30e443bed2bce2684 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9b2bbc77ed18ac1b61dd9055ec1c468da5ba49af +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Changes to common header files not applicable to open-vm-tools. + +commit 7e4b0b67628554186c3ca0cd68d427f2ab8b8818 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Adding structured data to Tools. (feature DISABLED) + + This change touches both vmware-tools and the VMX. + + Tools: + Added new rpc for sending a structured data. The structured data is + composed of 2 parts. A struct header and a well formatted property list + string called structured string. + + The structured string is built by appending key='value' pairs + separated by ' '. This string will include any extra information + regarding the guest that is applicable to the VMX and higher up. + + The structured string will not include any '"' characters and all '\\' + and '\'' characters are escaped. The fields included in the structured + string will vary depending on the guest OS, and if Linux, also what lsb + standard it conforms to. + + The structure header contains the OS name and OS long name and will + always be included. If the structured data can be sent successfully the + short and long os names are not sent individually. If the VMX is an + older version and does not support the structured data RPC, then the + send in Tools will fail and can react accordingly. + +commit ba0fb39c6f636092079040fa35ef96a44c107b73 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Back out the previous change to a common header file. + +commit cabba0a37c21d91576ed7986597db9deb38cf153 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:45 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit d6ec07055e4bb8eb8a0f632a3b6daa9387138819 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common source file change not directly applicable to open-vm-tools + + Verify existence of the returned path, retry the guest OP + CreateTemporaryFileInGuest/CreateTemporaryDirectoryInGuest using system + temp folder if the path disappears. + +commit 19ca3e36f6f16842a54f6f297f3cafcabde2f384 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Change for tools vmx logging. Added locking to handle race condition + and deadlocks. + + While there, changing GStaticRecMutex to GRecMutex since + GStaticRecMutex is deprecated since glib 2.32, and we are now at + glib 2.48. + + The requirement here is that on top of the existing logging mechanism, + toolsd also send logs to VMX according to VMX side setting for toolsd + log levels. The existing logging mechansim shall be preserved so that + if there is a problem sending a message to VMX, that message is saved + in the guest according to whatever exising setting in tools.conf + either to a local file or the guest syslog. In addition, if there is + an issue sending VMX the log message, additioinal logs about the error + can also be logged using the existing tools.conf based log mechansim. + + In order to support both the new and the old RPCs and the existing + tools.conf settings, it is best to use static globals for the vmx + logging. This simplifies both design and coding, and make it easier + to reason about the state of the vmx guest logger. + + There is also no need to split the new code into another file. The newly + added logic actually belong to vmtoolsLog.c which keeps track of the + global states of the log processing and then invokes each external + log handler. The newly added code shall be invoked from the existing + vmtoolsLog.c framework code and also uses/updates multiple existing + vmtoolsLog.c data structure. + + The old VMX LogHandler shall be left alone for now, since not all guest + apps will move to the new code at the same time. Once every apps have changed, + the old VMX LogHandler can be removed. Also removed is the stoplogging + code from the old VMX LogHandler since it is already covered by the + caller VMToolsLog() in vmtoolsLog.c + + The global logging state is initialized as early as possible. However, + it should be done after the first VMTools_ConfigLogging() call so + that if there is any errors during the initialization, we can use + the local logging system to log them. + + For a compatibility with older hosts and older tools, this change + tries to make sure the old vmx handler settings shall still WORK. + This is the most challenging part. + + In order to avoid sending logs to VMX twice, if the VMX handler setting + is specified in the tools.conf, the local logger shall replace it + with the default file logging. However, the vmx handler setting is + NOT ignored, it shall be honored and used if the host is old and does + not support the new guest.log.* RPCs. There, we shall enter a fallback + mode and use the old log RPCs and the VMX handler's level setting is + read and used. + + Need to call the setup() code in multiple places. + 1) Initial start up (this is to enable it as early as possible). + 2) Set option for a host designated level change. + 3) RPC channel reset. + 4) Tools config change procssing from signal HUP or timer callback. + + The setup code can use g_xxx() for logging, but the core log handler + VmxGuestLog() cannot, to avoid recursive g_xxx() calls. Instead, + it calls Debug()/Warning() suites just like RpcChannel code. + + Before, the RpcChannel loggings are thrown away which is not good. + This change here fixed the issue by logging those using the internal + VMToolsLogInt() function which directly write to the file system logger. + + This change also fixed a bug where the vmtoolsd domain logs are thrown + away at the beginnnig of the tools load up. Enabling those requires us + to add the username as part of the log file name, since both the vmsvc + and vmusr processes would have use the same file vmware-vmtoolsd.log + which would cause a permission problem. The g_get_user_name only + returns the user without the domain. This might be a concern if + there are the same user id in both the local accouts and in the + domain. This rare case needs to be handled, but I am leaving it out + for now since it is very rare use case, and the same problem exists + already with the existing code. + +commit 82df2654ab19cb03438f3f59034101fe1b3e6aea +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit d5f6c71ada79e3d5d65c8e1786069d366f8f72fd +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit b5b7eac80c468358871e96968e7bfc92b316846e +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a9f4fd75e83720fd8bc96a487d642d5730dc89c8 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ebf08325adf874723c86aa313954492101117934 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Disable hgfsServer plugin when not running in a VMware VM. + + VmCheck_GetVersion() accesses Backdoor in an unsafe manner + which is not expected to work on non-VMware environments + including physical machines. So, we need to make sure that + VmCheck_GetVersion() is called only when we are running in + a VMware VM. + +commit a778e115e4174b9cd5798838588e8fd4f175d558 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 455a76d9e10636f6667010f10be282fae145a454 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:44 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 995e3f462932578a80934947bc87235d6e621beb +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 4f7c3bf51cba283c5264dd1d838c6d67ce40351d +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Optional override for short and long OS names sent from Tools + + Added support for customers to override the returned long and short OS + names through the tools config file. If the setting is present, then names + gathered by hostinfo will be ignored. The user is responsible for setting + the appropriate names. + + The override will be ignored if the short-name setting is not present in + tools.conf. + + An empty string will be sent for the long OS name if only the short-name + setting is present. + + Appropriate warning msg will be generated in both cases. + + Example of the conf setting: + + [guestosinfo] + short-name = centos6-64 + long-name = some long name + +commit 2e86d0f86d91d6ffd87345c5c76053361d56c19b +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Common header file not directly applicable to open-vm-tools. + +commit 9e9f6155931885c785463ba5d99ece78c8039f98 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Tools version to 10.3.1 as ben assigned to a Hot Patch. + + Tools 10.3.1 has the newer version of the WDDM driver 8.16.01.0001 + +commit 20fd139fd1ab50f6bd44749ffc8ebdf4aa1da293 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Expose more guest stats for vROPS to report the exact physical memory + stats as the guest OS UI does. + + Windows: + guest.mem.modifiedPages (Win32_PerfRawData_PerfOS_Memory#ModifiedPageListBytes) + guest.mem.standby.core (Win32_PerfRawData_PerfOS_Memory#StandbyCacheCoreBytes) + guest.mem.standby.normal (Win32_PerfRawData_PerfOS_Memory#StandbyCacheNormalPriorityBytes) + guest.mem.standby.reserve (Win32_PerfRawData_PerfOS_Memory#StandbyCacheReserveBytes) + + Linux: + guest.mem.total (/proc/meminfo#MemTotal) + guest.mem.buffers (/proc/meminfo#Buffers) + guest.mem.cached (/proc/meminfo#Cached) + guest.mem.slabReclaim (/proc/meminfo#SReclaimable) + guest.mem.available (/proc/meminfo#MemAvailable since Linux 3.14, emulated by VMTools for kernels 2.6.27+) + +commit 49c74fb3a37aa1fd973f72e078ee9a10c7199fc9 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit bfa850db67e150e8d44093a14ef6a9999c5c9968 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:43 2018 -0700 + + Fix some bad derefs in primary NIC gathering code. + + Found by user in https://github.com/vmware/open-vm-tools/issues/272 + + Debug code tries to access a struct field that may not have been initialized. + - Pointer deref'd without a sanity check. + +commit 742c2c3bcea285302487b02bddad042237810663 +Author: Oliver Kurth +Date: Wed Aug 29 13:29:42 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 5d33923a603758f1d97bad4245674a403f1d5944 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + lib/file: Add missing errno for FileLock_Lock() + + FileLock_Lock() can return the errno to the caller through int *err. + Before this change, one case is missing: EAGAIN. This change will fix it. + +commit 8ad72bbf4a0687808e1a20f98bae213468611b1a +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Maintain VMware Tools release history in vm_tools_version.h + + Tracks TOOLS_VERSION_JACKHAMMER_UPDATE1 = 10.3.5. + Tracks TOOLS_VERSION_CHAINSAW_PATCH2 = 10.2.7. + +commit c8155fccf45883d034ce211e1b13dc209014d276 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Log reply from VMX when powerOps plugin fails to send RPC. + + The powerOps plugin sends a "tools.os.statechange.status" RPC after + the power scripts are executed. The reply from VMX for this RPC + is not currently logged. The reply is very useful to debug + 'toolsRunningStatus' issues in FSR workflows. Modified the code + to log the reply. + +commit 3e97096d420d361d2777d4ce827a75261b711d9b +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit d6e035ee1cfd3fe43df893a0a46ccba870540a1b +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Calculating monitor work area: No bar exists if seamless maximizing + + In Unbuntu 18.04, Redhat 7.4, 7.5, the work area size could not be calculated + based on _NET_WM_STRUT or _NET_WM_STRUT_PARTIAL. These two properties could + not be retrived through the window manger. In this fix, use _NET_WORKAREA to + get the work area, but this is only available with a single monitor. + +commit c045848efbf4494565bf86aeb098eac28c3cbd0e +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit 6fe529b678a0de7a2016b27047da844bde30e7a6 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:09 2018 -0700 + + Back out previous change to powerOps.c + +commit 1e6255d4c81fd942c136701d9822d6249787af44 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Log reply from VMX when powerOps plugin fails to send RPC. + + The powerOps plugin sends a "tools.os.statechange.status" RPC after + the power scripts are executed. The reply from VMX for this RPC is + not currently logged. The reply is very useful to debug 'toolsRunningStatus' + issues in FSR workflows. Modified the code to log the reply. + +commit 4259f4e685370895a052ea27cdbd07a5f8b60553 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Changes to header files: Add support for Mac OS 10.15 + + Add the basic support for Mac OS 10.15; the hosted UI team will + decide when things become customer facing. + +commit ed493754080a28d77e1a14b9b8e8a2ee163a9de6 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common header file change not directly applicable to open-vm-tools + +commit ceac5b23cdf7101019ccbe806575115d285978c6 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit 93e869c8936024cc6d072ac95ac167a00dd80d33 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common header file change not directly applicable to open-vm-tools + +commit d6f4eaa182a2cee590932981a968993157e6c6a6 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 835368f6bc128b0324990b70487918a54e14bbe2 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools + +commit f603332ac13214577767df01917b20d45e18f85d +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common source file change not applicable to open-vm-tools + +commit 88c53fc060239f384b9c5f7fe2eb8bfb871661b0 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit 034695e2d34df7b1a4e44ab8a871ba4799dfac81 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:08 2018 -0700 + + Use ToolsCmd_FreeRPC() to free the memory instead of vm_free. + + There exists a function ToolsCmd_FreeRPC that can be called to free + the memory allocated from the ToolsCmd_SendRPC function call. + + At few places in the code, vm_free is used to free the memory. + Replaced those references with ToolsCmd_FreeRPC. + +commit f3f9dcf51a76bc9acfcc2412428a0a3dbb469c09 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools + +commit 37e26227f9b57485d8e9eb2f57330a48c99fd7b8 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + OVT: update AUTHORS to include John Eismeier + + Update AUTHORS to include John Eismeier for fix some spelling + https://github.com/vmware/open-vm-tools/pull/264 + +commit 5d27cc8090975bbcf3bcc442a60bbf476a05a4a8 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + Changes to common source files; not directly applicable to open-vm-tools + + Back out the previous change; missing a file. + +commit e70640b985d31612ad63506eb3dd838b8bbded14 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + Changes to common source files; not directly applicable to open-vm-tools + + Add support for CRX pod and sys (version 1) VMs + + These are special Linux 4 VMs; the CRX pod VMs are wrapped around + Kubernetes. Here we provide the basic VMX recognition and support + mechanisms. Later changes will add the support of the CRX pod VMs + to VIM/VMODL... and other pieces. + +commit 251ca7762ecddfe052f3b8f2c879a9fcb714fb4c +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + Properly free the memory when RpcChannel_Send() fails. + + At few places in the code, when RpcChannel_Send() function fails, + the result (fourth argument to the function) is not freed which might + result in a memory leak. + + Addressed few references by adding 'RpcChannel_Free(...)' calls + in the necessary error code paths. + + For toolbox-cmd application, added a new function ToolsCmd_FreeRPC + which internally calls RpcChannel_Free function to free the memory + allocated from ToolsCmd_SendRPC calls. Modified toolboxcmd-shrink.c + to use the new function to free the memory. + +commit 62ee46c7748f9003904c5973da851994566f7214 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:07 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit 4dafbf1d97eb923d497a57f545f4c73c882fa3a8 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Hgfs Server: fix some spelling errors + + Fix some spelling errors as mentioned on pull request + https://github.com/vmware/open-vm-tools/pull/264 + +commit 0e52b04c09b7be47f36d5c9c75691f33e402143c +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit a50141e22177462962991f09f567ce3428f5b5de +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file change; not directly applicable to open-vm-tools + + Backout the previous change. + +commit 73aa922e5a50b33bf5f47cbd0991faa15afe51da +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file change; not directly applicable to open-vm-tools + +commit 9b3e899b9d349ed252ba5d27a0d58c8ed0b6d66c +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 2ea4da9cf517477853ebf40096a360a464ab914d +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file changes related to Log Facility; not directly applicable + to open-vm-tools + +commit 868d74c2389db8c0ed25ac7a83bc4a3fb08849e2 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Common header file change not applicable to open-vm-tools + +commit 63a1cbf60f82022ab37f5003e1b6e49ba9dbb9c8 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:06 2018 -0700 + + Add Util_Data2Buffer() variant that supports custom separator + + \0 means no separator at all. + +commit ede9ca72e1ac0013c1560399c2cc394dcf70bb4a +Author: Oliver Kurth +Date: Mon Aug 20 12:48:05 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 52d43d8e05657dbd995914ff646a30d922a5e72d +Author: Oliver Kurth +Date: Mon Aug 20 12:48:05 2018 -0700 + + Add the notification to toolsd about the guest log level change. + + Consolidated the VIGOR APIs of guestLogEnabled and guestLogLevel, since + it is easier for the customers to use just one API to set both. Use + the "disable" enum value to disable the guest logging instead of + using a separate field and VIGOR API. + + Now sending a new tools option to the toolsd whenever the guestLogLevel + changes. + +commit 1d390482f4a5e0f7a2826d55012b213860295f72 +Author: Oliver Kurth +Date: Mon Aug 20 12:48:04 2018 -0700 + + Back out the previous socket timeout fix + + Reverting commit 4453414 + +commit def5e3aa8cb0ba5457cf5147e32f80eec8556f49 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:23 2018 -0700 + + [tools] Cleanup RpcOut reply after send failure + + There is a path in RpcOut that does not clear the reply message + after a failure. This can cause the invoker to trigger a free() + failure. + +commit 89f5ddb272cee9edd7b94ad10bab3f0c25d47e70 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:23 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 2abf659307e6c660f94c77ea9f40f679f0a7130d +Author: Oliver Kurth +Date: Fri Jul 27 11:46:23 2018 -0700 + + [VMTools] [DnD] [Code Refactor] - part 1 - dndGuest/dndcp sides refactor + + These code changes are based on following two principles: + 1. No functional impact/change on DnD & Copy Paste feature for WS/Fusion. + 2. The DnD base code is ready for Horizon View DnD feature target for + an upcoming release. + + Summary for this patch: + 1. The dependency refactor to add a new folder dndGuestBase (lib\dndGuestBase) + to extract the common code shared by WS/FS and View. + 2. Add two sub folders to dndGuestBase (vm-inc and crt-inc) to contain + the WF/FS or view specific header files. (for example, + vm-inc/vmGuestDnDSrc.hh, crt-inc/crtGuestDnDSrc.hh....) + 3. The header files start with 'crt' will not be used by WS/FS, they are + added only for specifying the new folder structure. + 4. Move WS/FS specific dndGuest/dndcp codes to WS/FS specific derived + classes like VMGuestDnDCPMgr, VMGuestDnDMgr, VMCopyPasteDnDWrapper and so on. + 5. Also have created some Horizon View specific codes on mkvchanserver in + local environment to verify most of interfaces in the base classes are + ready for Horizon View side DnD development. + +commit 682679b70fe4d2f3455844f81856e1d8aec65dd8 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:23 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 2c538abac6352b219ee9fa97afa769eeba12f555 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 4453414447537f3d7da71dbc678a8de698001cd9 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Fixed socket timeout issue when we send multiple namespacetool commands. + + When namespacetool commands are run without any delay, the second command + may fail because the previous socket connection was not closed. + +commit 5b9d8e2a1bada1b13cf2369ca6ff118e07fec104 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit b17f9fa3c50f0aeed6760bc9b383c58d540dcd4f +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 4ef4a932d92ed60976f065713b34d218174887cd +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 63e5ec8438cc4e1c1a39885c75baf661059dc7b3 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 8be65e2dc14e724e0b902669cd14ce431dd20c76 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit a9a723a05033fbf1405316c8e0ee7e753058fcb0 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Changes to common source files; not applicable to open-vm-tools. + +commit 4750dcff03e88674e49b9a920c1e6ee1f4355e9d +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 3e4211020d7dc446db8942586dd2e94fea4d93c7 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 4745bddc698a81e599237771e558f6a34f2a75b0 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + [GHI over MKSControl] Improve the documentation of GHI channels. + + Also improved the log messages. And add a DND channel. + +commit 7709224e3878833bdef1d6c89a6aeaef2f91229d +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 485a379c33578f712ecbfa70e5a49df20e21fd53 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:22 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 7c3fab49fa6b6630e9bb742d41dfb14c44a651c6 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Update the Tools-10.3.0 OSL. + +commit 5277280d7192379dcd77330cb33b513f12cec153 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit a79c38c8f266712bae44053c5fb41d237a4bee0f +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 322dba026b1b19799c3e34eab8452c7bbf805148 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Common source file change not directly applicable to open-vm-tools. + +commit 08d77f0d8d8cdf9f50620adf5dd287b5c5357254 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 96214c008175c82ac958456ac1c17c2ecca90604 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 2fdb335e3662b8559e0fa00f5e1278f794f2d31b +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Common source file change; not directly applicable to open-vm-tools. + +commit 46ad0b583d41027e5b188b76bb96fd15fcbe5127 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Yet More SnowMotion Logging + + Prior logging indicates an issue when reading back from disk, so + tweak the logging to report the count# (since SuperFgets doesn't log + null terminators) of bytes and add a log to Dictionary_WriteFile to log + the last 100 bytes of the buffer. + +commit 57bc4445db65d50d0f7292bf99f1d239e5e3ac9a +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Fix the broken list in lib/include/guest_os_tables.h + + The list wasn't sorted. + +commit 5144365f59262c0e773f953d8a42f11e06150f19 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools + + GOS: Add support for Windows Server 2019 + + Add support for the upcoming Windows Server 2019. With this change it + is present but does not show up in a public menu. Making it appear in + a customer menu is something the hosted UI group does... when they are + ready. + +commit 707c9cf72348dae4a789e612339c5ff1959ce9a3 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:21 2018 -0700 + + Remove the new guest metrics feature switch, permanently enabling the + collection of new guest metrics for vROps.. + +commit 4a1b82e70211e96cc5da71b223a38acba7121765 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit ef4cb45f37cc57f0b91906a0749ec09e6f73b6aa +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 2f59cb53a75d34ff8e5693496028e64d0b05b7d7 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + open-vm-tools: use lib specific var names for AC_PATH_TOOL to avoid + caching issues + +commit 6dd7bddc0a89cac738382e9dae39f4d34d706f5f +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 401e18c02e3a0b1f541f256a4c46a3d34fc5661f +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + [tools-plugin] Potential solution for reported desktopEvent crash + + On several distros like RHEL, CentOS and Fedora, plugin desktopEvents.so + crashes have been reported. However, neither development or QE can + reproduce this issue in local environments. + + The XFetchName document states that it may generate BadWindow error. That + means that the value for a Window argument does not name a defined Window. + X FAQ also suggests handling badwindow error after finding it. Since + the window does not exist when XFetchName is run on it, the name is not + needed. Suppress this error to avoid a crash. + + After grabbing the X server, use XSetErrorHandler to temporarily define + a local error handler to intercept and cleanly handle any BadWindow + errors. XSetErrorHandler returns the current error handler, so it is + straightforward to reinstate GDK's original handler. + +commit 58a05f680a7c11eeb2fbb576579969c1895bb01d +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Changes to common source files; not directly applicable to open-vm-tools + + MXUser: Lock tracking causes panic + + MXUser locks require a unique serial number so the lock stats code + can proprly differentiate between each lock. We can't depend on the + name to be unique as some locks are created and deleted many times, + reusing their names. + + The serial number is also used to avoid ASLR attacks... we can't use + the address of a lock... and even if we did, it's possible for that + address to be reused... MXUser locks are dynamically allocated. + + The lock tracking code tracks the number of locks and this is now + causing an issue. Way back when it was thought that seeing what + was deemed a huge number of locks indicated a problem... but today + we think those limits are getting quite small. + + Enlarge the serial number space to 64-bits. If we constantly create 1M + locks per second it would take over 500000 years before we would have + a problem like this again. + +commit 1ba390a66aa6a7821bfaae018248e4f005da6512 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Common header file change; not applicable to open-vm-tools + + Back out previous change to lib/include/ghIntegrationCommon.h. + +commit f7a67dad2c1dbe4b8b933dcdf73d46e24b6525a7 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + Common header file change; not applicable to open-vm-tools + +commit d302a0d7d89b566ac82561c7630f463caa58237f +Author: Oliver Kurth +Date: Fri Jul 27 11:46:20 2018 -0700 + + [OVT] Update copyright year to 2018 for few files. + + Updated the copyright year to 2018 for few files changed in the last + few days. + +commit f79000faf754d38b3e8ef53458a4f51fcab455c4 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 727871f9681b398330d6f186035bbb2c51369353 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 94f5b5e5a1fccc94706aba6f3f432162adbfac41 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Common source file changes; not directly applicable to open-vm-tools + +commit 63a14504022a8b9509d9dc3235ae9e17e5843e10 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Common header file change; not directly applicable to open-vm-tools. + +commit c024d229e4369366c45e816ac7b257c98f858d80 +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + open-vm-tools: use AC_CHECK_TOOL for pkg-config + + AC_CHECK_TOOL honors the --host setting to configure, and + searches for tools with the cross compile prefix thus + allowing for cross compile specific tools. + + Fixes issue #26 in github. + +commit 954f4b360aa4a18b29004b2cf382a37b46f900ca +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 1965add45fc265bd295480c00bfe4d8248abea3c +Author: Oliver Kurth +Date: Fri Jul 27 11:46:19 2018 -0700 + + Fix a bug where the clipboard content on the host gets loaded to tmp on + the Linux guest with a right click on the guest + + Root Cause: Dndcp plugin creates a sub thread to monitor if there is another + application access to the specific file. The root cause for + this bug is the main thread doesn't update its field before + wakeup of the sub thread, this cause the sub thread get a wrong + value. + + Solution: Main thread should update the field before waking up the sub thread. + +commit c4810ef28ba40c5b5631aea1488cde3221503efc +Author: Oliver Kurth +Date: Fri Jul 6 15:02:37 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 6b48b2680673c562121940c59821222c6793a5f5 +Author: Oliver Kurth +Date: Fri Jul 6 15:02:37 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 4cd839359c127447686ed2f587b91b2c0095cc6a +Author: Oliver Kurth +Date: Fri Jul 6 15:02:37 2018 -0700 + + open-vm-tools: build for FreeBSD fails in fakeMouseWayland + + Root Cause: + In the file fakeMouseWayland.cpp, several Linux related header files are included: + + + + + These header files do not exist for FreeBSD and Solaris. + + Solution: + Lib fakeMouse is not needed by FreeBSD and Solaris, so update the makefile to build the fakemouse related code only on Linux. + +commit 28dec2775af9c12e4e05b8662acc3a225595aaf3 +Author: Oliver Kurth +Date: Fri Jul 6 15:02:36 2018 -0700 + + Back out previous change to add SnowMotion-specific SuperFGets logging. + +commit 26a7bbaa1dfad5411b804829988cdf0ce4127b49 +Author: Oliver Kurth +Date: Fri Jul 6 15:02:36 2018 -0700 + + Add SnowMotion-specific SuperFGets logging + + Prior logging suggests vmx-side corruption prior to VM powerOn, so add + logging closer to the source to try to isolate the cause. + + This includes a toggle that will be triggered in main and unset on VM + powerOn. + +commit 33205aafc87a147729ddbdfd562d08edcd0c5cd3 +Author: Oliver Kurth +Date: Fri Jul 6 15:02:36 2018 -0700 + + Common source file changes not directly applicable to open-vm-tools. + +commit a6b976a9726d7a94b482f846c5ba486105483026 +Author: Oliver Kurth +Date: Tue Jun 19 17:07:51 2018 -0700 + + Use "/var/run" or "/run" instead of "/tmp" in Linux guest for imc package copy + + 1. check if /var/run is a directory in VM + 2. if Yes, use /var/run/XXXXXX + 3. check if /run is a directory in VM + 4. if Yes, use /run/XXXXXX + 5. if both No, use /tmp/XXXXXX as before + +commit 0345475d49f8155e9a27dd28fe6f9b5bacbdd8d2 +Author: Oliver Kurth +Date: Tue Jun 19 17:07:51 2018 -0700 + + Return proper vix error code when guest op VIX_COMMAND_DELETE_GUEST_DIRECTORY_EX fails. + +commit 8674505bf43fcf3099d767d17d5e8b400bb2e418 +Author: Oliver Kurth +Date: Tue Jun 19 17:07:51 2018 -0700 + + FreeBSD: clang compiler related changes to configure.ac + + On FreeBSD, the unwind.h header is available in the libunwind + package (/usr/ports/devel/libunwind) which may or may not be installed + on a system. The libunwind functions to determine the call-chain in a + program are defined only if " __GNU_SOURCE" is defined to enable "all" + GCC extensions. Avoid the unwind.h header if seen on FreeBSD. + + The "clang" compiler will issue warnings if the address of a member + of a packed structure is taken. Since warnings are errors with -Wall, + add --Wno-address-of-packed-member to CFLAGS when compiling with + "clang". + +commit 30e58e8a0a18fcf3013cd76889056c055966bd50 +Author: Oliver Kurth +Date: Tue Jun 19 17:07:50 2018 -0700 + + Build open-vm-tools with xmlsec1 by default. + + Build open-vm-tools with xmlsec1 by default, rather than with + xml-security-c as is done currently. This requires modifications + to configure.ac to change the default for use_xmlsec1, plus + modifications to bora-vmsoft/install/Source/tools-pkg.make to + initialize flags for xmlsec1 and xml2 now needed by the OVT build + that is done during tools builds. + + Another change that surfaced during this was that the symbol that + configure checks for the xmlsec library was wrong. It should be + xmlSecCheckVersionExt rather than xmlSecCheckVersion. The latter + is a header-defined macro but not a library symbol. + +commit 0d8437a0ed19163e0b30d2f653fd6cfc8c6c6c8b +Author: Oliver Kurth +Date: Tue Jun 5 15:47:41 2018 -0700 + + Go back to the old INVALID_PPN value + +commit e3fa62739ec86f00b90c5a7586698125093de8bc +Author: Oliver Kurth +Date: Tue Jun 5 15:47:41 2018 -0700 + + Various small fixes to windows balloon driver; not applicable to open-vm-tools. + +commit ac8f3f74ca37cd5b2e006120a54926f801309537 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:40 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 3aa98a239fb53ce7e5ffab2953dd414c38858790 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:40 2018 -0700 + + Changes to common header files not applicable to open-vm-tools. + +commit 9f057f1f1805fd822f09cd17f080ee852cb2f352 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:40 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 95938b9bf10e19f7b4873d62c6c766892bc0cf6e +Author: Oliver Kurth +Date: Tue Jun 5 15:47:39 2018 -0700 + + Update APIC_INVALID_PPN and PHYSMEM_MAX_PPN + +commit bc241e19875862306fc66e42ec50faa20312ccf2 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:39 2018 -0700 + + vm_basic_types.h: remove VM_I386 + + The VM_I386 macro is described as "historical". But recent cleanups + reduced the number of usages to the point where "historical" can become + "removed". + + Remove the declaration, comments describing the declaration, and + fix the last two places to use the modern macro alternatives. + +commit ac5261a005f11edad653f6cd884d28714e8242c5 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:39 2018 -0700 + + open-vm-tools: build with tirpc + + Newer distros (Fedora, OpenSuSE Tumblweed) no longer ship rpcgen with glibc, + so we need to build with libtirpc (see + https://bugzilla.redhat.com/show_bug.cgi?id=1531540 and + https://bugzilla.suse.com/show_bug.cgi?id=1089181). With this change, + configure will check for the presence of libtirpc and if found, sets + flags to build with it. configure will also exit with an error if + rpcgen is not found. + +commit 84a43542a2fcad1df3a8eb4cec460d67d359ee27 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:38 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 411d143eee043afe7f649573305096453608d77a +Author: Oliver Kurth +Date: Tue Jun 5 15:47:38 2018 -0700 + + Add Safe version of DynBuf_Enlarge + + This change adds the "safe" variant of the enlarge interface. Similar to + DynBuf_SafeAppend, this panics when the buffer enlargement fails due to + memory allocation failures. + +commit 910f5c10b01f04862fd1b25af18166c17eb1cdff +Author: Oliver Kurth +Date: Tue Jun 5 15:47:38 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 0701b481beb3b310e733d65667fa59ad0b64d9c9 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:38 2018 -0700 + + open-vm-tools: build dndcp with thread libs + + Recent changes in the dndcp plugin made it necessary to make sure that + it links against pthread libs. + +commit 5402d55a456ea21a5f39ebb5e7d9a84434f6dae6 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:38 2018 -0700 + + Log full version of Tools in vmware.log. + + Currently, only the Tools build number is logged in vmware.log. + It will be very handy to have the full version logged in + there and avoid the need to manually lookup the build. + +commit a0ec585e3aad04d2a8a27706d7b99bde60f4a8d2 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:37 2018 -0700 + + Remove CPUIDSummary + + CPUIDSummary is no longer used and, along with its corresponding header file + cpuid_info.h, can be removed. + +commit ab11ce6bd158f9bb08de323ba9b518b259ee2488 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:37 2018 -0700 + + Change the balloon driver internals to 64-bits. + + As a first step towards making the driver being able to balloon 16TB+, + let's change all the internals to use 64-bits values for the counters. + Initially, I wanted to only touch the windows driver, as this is the one + that we really care about, but since some code and datastructure are + shared, I had to modify pretty much all drivers. + + The next step will be to change the drivers capabilities by adding + BALLOON_64_BIT_TARGET. + +commit 6e450a50dce8eb0387cd6aa2a3eeb39b364640b7 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:37 2018 -0700 + + Bump invalid PPN to 2^52 - 1 + + We are ready to bump INVALID_PPN value. Let us set it + to 2^52 - 1. This is more than enough to get over 4PB vRAM, + that requires 40-bit PPNs. + + Another option was to set it to (uint64)-1, like the current value + of INVALID_PPN64, but it seems like there is no good reason + to do it. There are a few instances where INVALID_PPN is + treated as a regular PPN, e.g. we may convert it to PA and back. + 2^52 - 1 will allow us to preserve that natural relationship + between invalid PPN and invalid PA. + + All INVALID_PPN64 will have to be converted to INVALID_PPN + in follow up changes. + +commit de663d0b5c4cbdd799932c7d6202326c8e2caf62 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:37 2018 -0700 + + Drop suffix 64 in public except vm_basic_types + + This change renames PPN64, TPPN64, PgNum64 and PgCnt64 as PPN, TPPN, + PageNum and PageCnt respectively in the public directory. + +commit b8f31230261acb03f84a33bf45bb34f6c0b8211e +Author: Oliver Kurth +Date: Tue Jun 5 15:47:36 2018 -0700 + + Fix locale issues for vgauth on Linux + + setlocale() returns nothing unless we earlier force it + to be empty. + + Change the default msgCatalog location on Linux so + the catalogs can be found without config changes in the normal + install area. + + When doing catalog lookup, first chop off the charset + suffix. Otherwise we first look for 'zh_CN.UTF-8', then + fall back to just 'zh' if that fails. We support zh_TW and zh_CN, + but not a 'zh'. + + Also fix things for NeoKylin, which appears to use LANG + but not setlocale(). + +commit dee74b5944132494ddb3462bfaab8aa31300cf98 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:36 2018 -0700 + + Changes to build CAF with VS 2015; not applicable to open-vm-tools. + +commit bb73aa0856a2715ab8481748097c973f4089b3b5 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:36 2018 -0700 + + Tools 10.3,0 L10n drop2 + + This is to integrate the final L10n drop for VMware Tools 10.3. + +commit fc46fff9904be54286947f4ce61c26f8118c3b33 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:35 2018 -0700 + + Common header files change not applicable to open-vm-tools. + +commit f00ecc833139a651edf936d7b4c01bfd1504908f +Author: Oliver Kurth +Date: Tue Jun 5 15:47:35 2018 -0700 + + [Wayland DnD] Part3: Update the Drag Detection Window and Use UInput in DnDUIX11 + + Two changes in this patch: + 1. Changes the class DragDetWnd to template class. + + Currently the DragDetWnd inherits from Gtk::Invisible, but Gtk::Invisible + doesn't work for Wayland, it seems this is a bug for Wayland and maybe it + will be fixed sometime. + + So, changes the DragDetWnd to template class, and it will inherit from + Gtk::Invisible for X11 and inherit from Gtk::Window for Wayland. + + 2. Uses UInput to simulate mouse motion in class DuDUIX11. + + This patch is part of the new feature 'Wayland support in Linux guest'. + +commit 140820c8bdc0d2d83909612bc0e877eaff8ff5d0 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:35 2018 -0700 + + vm_basic_types.h: use system headers for uint64_t, uintptr_t, size_t + + Extensive rewrite. Basically standardizes on using stdint.h (C99) + and sys/types.h (POSIX) to define interesting types, with several + non-trivial caveats: + - stdint.h is not available on older Windows compilers. For now, + emulate with crtdefs.h + manual definitions. + - Linux kernel does not provide stdint.h (gcc-4.5+ does and it's + incompatible), and sys/types.h won't work at all. + However, linux/types.h gives everything we need. + - Linux kernel defines uint64_t as 'long long' (and uintptr_t as + 'long' - yes, really), in contrast to Linux userlevel which defines + uint64_t as 'long'. Send Linux kernel down a different FMT64 path + so we don't get "%llx" / "%lx" mismatches. + - VMM and VMKernel don't provide sys/types.h (except VMK's FreeBSD + modules). Directly provide definitions here. + + Net effect of this change is removal of two blocks of code that + provide our own definitions of uintptr_t/intptr_t/size_t/ssize_t. + Also pruned a few now-unneeded stdint.h and sys/types.h includes as well. + + Curious observers will inquire why not get size_t from C99 standard + header stddef.h. Turns out that header is EXCEPTIONALLY hard to include, + which is why I'm using sys/types.h in most places. Actually using + stddef.h is left for a later change. + +commit 5852956ccace7a55c3834dfbfaf15d1f45d6d0c0 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:35 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 9c528b5b013821f2d8bc4ad5258e9e9bd5338021 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:34 2018 -0700 + + [OVT] Update copyright year to 2018 for files modified since 10.2.5 GA + +commit 46a0b08377224ac62d78c88dfd2cd3c4e049e169 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:33 2018 -0700 + + [tools] Not checking symbols when building open-vm-tools + + Using a hard-coded mangled name is not a good idea because C++ does not + have any standard for name mangling. Remove these mangled names introduced + in an earlier fix. + +commit 67c9aeb27a0c7064369c5863e6dc91b3090a5737 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:32 2018 -0700 + + Hgfs Win Client: fix bad illegal character escaping; not applicable to open-vm-tools. + +commit 79f95aa342b58e0eceeb7b6ae010b57c804abdcb +Author: Oliver Kurth +Date: Tue Jun 5 15:47:32 2018 -0700 + + Bump the tools version on the devel branch to 10.4.0 + +commit 1e18ab88842e0d9d930a9cb3d4f710f5e12d4c62 +Author: Oliver Kurth +Date: Tue Jun 5 15:47:32 2018 -0700 + + Header file change for tools logging improvements for VMware Managed Cloud. + +commit 4420450a96c279b89af4999005202e3d7e8eca4a +Author: Oliver Kurth +Date: Tue Jun 5 15:45:07 2018 -0700 + + MXUser lock: Remove ASLR defeating stats reporting + + Way back when the tracking of the top users of an MXUser lock was added + to the stats. It was never used, it's not reported by kstats.prl and + the code make it possible to break ASLR. Remove the code. + +commit 33db7c56e888d9c7c5f8f76fd0de927d50389ae5 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:07 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit 54191584c2ebb7b5cc2faced5046c366630e0118 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:07 2018 -0700 + + Add two switches for max IPv4/6 routes to gather + + Gathering nic info in a Linux guest OS which is configured with large + number(60000+) of ipv6 routes could result in vmtoolsd process taking a + long time and rock solid 100% CPU of a core. Though tools only exports + at most NICINFO_MAX_ROUTES(100) routes, it tries to read all the contents + of /proc/net/ipv6_route which costs too much time because: + 1. IPv6 route table is not efficient natively compared to ipv4 due to + its implementation. + 2. The g_io library can aggravate the performance. + + On the other hand, when gathering routes, IPv4 comes first, and IPv6 second. + And the routes reported to VMX has an overall limitation of serializing + (NICINFO_MAX_ROUTES). If there's more than NICINFO_MAX_ROUTES IPv4 routes + in system, no IPv6 will get reported. + + Added two switches "max-ipv4-routes" and "max-ipv6-routes" + (NICINFO_MAX_ROUTES by default) in tools.conf and let SlashProcNet_GetRoute*() + only read the first max ipv4/6 routes lines of /proc/net/[ipv6_]route to avoid + performance problem. Users can disable ipv4/ipv6 routes gathering + separately if they want ipv6 or ipv4 only. + +commit 0b045f21abfef3da7789e6258ef0b2ee7221eeda +Author: Oliver Kurth +Date: Tue Jun 5 15:45:06 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f1a7a8bbdbb790bab80f0fc55134180048242afa +Author: Oliver Kurth +Date: Tue Jun 5 15:45:06 2018 -0700 + + Hostinfo_GetCpuid Cleanups + + This change includes several cleanups in Hostinfo_GetCpuid. The CPUIDSummary + type is unnecessary, the function really only cares about levels 0 and 1. + Also removed a hardcoded mask and shift in favor of a CPUID_GET and fixed + some formatting issues. + +commit 5657cd53e41048264a831f8c0bcebcced8d21944 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:06 2018 -0700 + + locks: Increase buffer size in MXUserHistoDump + + It was noticed that the size of one of the char arrays in MXUserHistoDump + is not large enough given the format string. This change bumps the + size to accommodate (plus slack). + +commit 00087edfaec951fb7330843282a0fe20128fbb56 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:05 2018 -0700 + + [Wayland Copy & Paste] Part2: Uses VMBlock notification mechanism for Copy & Paste + + This patch is part of the new feature for Workstation 15: \[P0\] Wayland + support in Linux guest - Copy & Paste. + + In the first patch, the notification mechanism is added to the VMBlock module. + In this patch, the notification mechanism is used, + +commit 8532fc18fe4acbb3f1df354fa3f94bf7d4581adc +Author: Oliver Kurth +Date: Tue Jun 5 15:45:05 2018 -0700 + + [Wayland Copy & Paste] Part1: Add notification mechanism to the VMBlock module + + This patch is part of the new feature for Workstation 15: [P0] Wayland support + in Linux guest - Copy & Paste. + + In the implementation of current VMTools, there is a restriction, in the first + second after grab into the guest, the CopyPasteUIX11::LocalGetFileRequestCB, + which is a callback from a file paste request from another guest application + and begins copying the files from host to guest and return the file list, + will return none directly. + + The Wayland file explorer will request the content in the clipboard after the + user clicks on the file explorer, and the request will get nothing since the + restriction in the VMTools, so the following ‘Paste’ operation will fail. + + Solution: + This solution is only used for the Linux guest with Wayland. The behavior + for Linux guest with X11 will not change. + + The restriction, the CopyPasteUIX11::LocalGetFileRequestCB returns directly + in the first second after grab into the guest, will be removed. + + And, the notification mechanism will be added into the VM block file system. + This mechanism is similar with the inotify module. + + Take the VMBlock Fuse File System as an example, currently, the mount point contains below contents: + + * /blockdir/ + + * /dev + + /blockdir/ contains the symlinks to the contents of the target directory. + + /dev is the control file for VMBlock Fuse File System. + + In this new solution, a new folder /notifydir/ will be added, each file in this folder is a special file, read from this file will be blocked until any other process read from the corresponding file in target directory or the block on the target directory is removed. + + This patch only focus on the notification mechanism. + +commit f240e2095c0780eb4e8afa4a75d7cbb83c7f4185 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit d92e07cb46d66894e2278f954584b75259b8534f +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 277b574bebe8f7c595e2c6002ead84cfe4492d8d +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + Define 64-bit PPN, TPPN, PageNum and PageCnt + + This change introduces 64-bit PPN, TPPN, PageNum and PageCnt + types so we can start dropping 64 suffix everywhere in the code base. + +commit 41dc7d851d9d20b345f0063e700775fc8e8b594a +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + [Lifecycle][ESX] Allow ALL 'admin' users to access Personality Manager APIs + + 1. During the uninstall workflow, NSX-T does not have access to 'root' + users and uses an admin user created by them to call Personality Manager APIs + + 2. Added a new PAM module for "settingsd" service and removed "root" + hardcoding. + + 2.1 Kept it same as "sshd" module except I removed sending VOB during + authentication. + + 3. For this, updated the auth lib to add a new method Auth_AuthenticateUserPAM,i + which takes the PAM "service-name" to use while authenticating. + + 4. Modified the existing method Auth_AuthenticateUser to call this API + when USE_PAM is true. + + 5. This would be available only on !_WIN32 + +commit bd0cf5aa66781bbfccd39f9a0e145053c0e2fb7b +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + retire PPN, TPPN, PageNum, PageCnt types + + This change retires 32-bit PPN, TPPN, PageNum, PageCnt types and + introduces temporary PPNTMP type for tools (graphics, pvscsi, balloon), + so that driver owners can work on PPN64 conversion at their own + pace and can easily identify places that require attention. + +commit 15bf6c2e417fa7b52500f8981538cf6515a0e02f +Author: Oliver Kurth +Date: Tue Jun 5 15:45:04 2018 -0700 + + Common header files change not directly applicable to open-vm-tools. + +commit b763d9b17cfb17745f990f329e416ba1abeef70d +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Common header files change not directly appliable to open-vm-tools. + +commit 1e7f879d82c515a0244cdb607ac46401c9055b47 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit c598268c3355757395d279d922adcdc055a51448 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Hgfs Server Plugin: only handle the shared folders client in hosted products + + Only initialize the Shared Folders client redirector in hosted product + environments. + + Details: Check if the tools system service started in a non-hosted product + and if so do not start the shared folders client redirector. + Check if the tools user service started in a non-hosted product product and if + so then skip reconnecting any Shared Folders mapped drives. + +commit 4f97b892121c31d3deb05e15b5dc2c8e0c69b749 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit e62247538d0fb334272a100e42cc248c6b9e1845 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Remove debug display of CPUID vendor string seen in VmCheck_IsVirtualWorld + + The "Debug" message containing vendor string returned by the CPUID + instruction will appear on STDERR for stand-alone programs such + as vmware-checkvm. + +commit 77d6d2bf3f8965302f258b27b433fa6dc2183c00 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:03 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit e0bcd12ada77bb8f1b1a549c02ac537de51e2476 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:02 2018 -0700 + + Backout previous header file change. + +commit 5eaf3d287aa417c7020f5011cf834d618d577890 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:02 2018 -0700 + + Common header file change not directly applicable to open-vm-tools. + +commit e6f7422b9454f0b272755128f373879e0fa78627 +Author: Oliver Kurth +Date: Tue Jun 5 15:45:02 2018 -0700 + + VMware Tools 10.3 L10n drop1 + + This is to check in the 1st L10n drop for VMware Tools 10.3. + +commit 7ddbe3c9df400dfdf7d67d259ae3942d157dedb4 +Author: Oliver Kurth +Date: Mon Apr 30 15:42:54 2018 -0700 + + sync deploypkg files + +commit 80a23d71a281493071668fd45b77d7f8248fad68 +Author: Oliver Kurth +Date: Mon Apr 30 14:04:14 2018 -0700 + + Changes to common header files: + - Add Amazon Linux 2 to the known guest OS list. + - Other change not application to open-vm-tools. + +commit 48dc7a57ff3fe5cb1441040876f74b69772c1ea5 +Author: Oliver Kurth +Date: Mon Apr 30 14:04:13 2018 -0700 + + [DeployPkg] Replace Log() references with g_log() + + * Modified the code to replace a couple of Log() references with g_debug() + so that they are properly logged with 'deplogPkg' domain instead of the + generic 'vmsvc' domain in the tools log files. + +commit 9cb12223b4da529df043d95ab025f22c6ee00c39 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + [oss] Upgrade GTK+ and its dependent libraries for VMtools + + GTK+ and its dependent libraries are upgraded to: + gtk+ 2.24.32 + atk 2.28.1 + gdk-pixbuf 2.36.11 + pango 1.40.13 + cairo 1.14.12 + fontconfig 2.13.0 + freetype 2.9 + +commit a5c03957c95ec78c92246b87cdf60a90b2eca7f7 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit f87d177acab33f00229234ed51722504e2f7afc7 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + Changes to common header files not directly applicable to open-vm-tools. + +commit ba65905dfc7e6c07d1aeea37db885284e54b02fa +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + Set perms on Tools script logs. + + Make the network script logs secure; set log file perms to 0600. + +commit aa59d16e0b5968efc298065ef50ece282d406265 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + [Wayland DnD] Part2: Open the uinput device file with root permission. + + The device file /dev/uinput (or /dev/input/uinput) can only be accessed + by root account, so the dndcp plugin may failed to open this device file + if the current user is not root account. + + A way to fix this issue is opening this device file with root account, + then pass the file descriptor to the sub task which is started with the + current account. An example for this solution is blockVM file system + device file. + + This patch is part of the new feature 'Wayland support in Linux guest'. + +commit b3899c91d348d23c2e6c22944b8ac1a06e4e3988 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + [Wayland DnD] Part1: Add 'fakeMouse' module which is used to simulate the + mouse motion under Wayland + + For Linux guest with X11, the VMTools uses the X system APIs to simulate + the mouse motion, but these X11 System APIs do not work in Wayland. Need + to pick up another method to simulate the mouse motion. + + Another way to simulate the mouse motion is using uinput module. + + uinput is a kernel module that makes it possible to emulate input devices + from userspace. By writing to /dev/uinput (or /dev/input/uinput) device, + a process can create a virtual input device with specific capabilities. + Once this virtual device is created, the process can send events through + it, that will be delivered to userspace and in-kernel consumers. + + Here is the link which contains more information about the uinput module: + + https://www.kernel.org/doc/html/v4.12/input/uinput.html + + This patch adds a new module named 'fakeMouse' which is used to simulate the mouse motion under Wayland. + + This patch is part of the new feature 'Wayland support in Linux guest'. + +commit 995befcb0d6156fb47773c96db6d478173d1bc89 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:18 2018 -0700 + + Add new guest metrics to be consumed by vROps. + + Windows: + * ProcessorQueueLength + * CurrentDiskQueueLength + * AvgDiskQueueLength + + Linux: + * CPU run queue size + * Current disk queue size + * Average disk queue size + +commit 9d6cfe650cd15095e65024fbb5d9cd6944e1cf14 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Historical: Recording version numbers assigned for 10.2.x patches. + + Define TOOLS_VERSION_CHAINSAW_PATCH1 as 10.2.1. + Define TOOLS_VERSION_CHAINSAW_PATCH2 as 10.2.6. + +commit ba6c319f18d294b36c0e989f851fbfdbc8a629b7 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Bump up the version requirement for glib and friends to 2.34.0 + + For open-vm-tools, we are bumping up the minimum version requirement + to 2.34.0 for glib and its friends. Modified the configure.ac + with the proper new version checks. Also, updated the + error message with the proper version. + +commit 26d03ad8075913cb869b814462b7285c02367252 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ce1ed002f5e05f09678e15b4021bac8155edb1eb +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common source file changes that are not directly related to open-vm-tools. + + Build vmtools and vgauth for Windows with xmlsec instead of + xml-security-c. It will still be possible to build with xml-security-c + either by commenting out the definition of USE_XMLSEC_FOR_WINDOWS in + bora-vmsoft/vgauth/make/inc/defs.mk or adding a make command line + argument of USE_XMLSEC_FOR_WINDOWS=0. + +commit d5c0bcea04aae65484ba3c2756b64acf6f6388d0 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Update bora-vmsoft/install/Source/README + + The content is stale. Since the file is used internally and is + not published, rather than maintain it in two places, point to + the current README file and Release Notes on github. + +commit 512d5475520ec5e0525633cd47530faaae774b5e +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 982998c9a6a3ec8664f9c4c08ff9ef30f52a9ae2 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit ab36b3227275a5beded8a5115929e2d649c6aad3 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common header file changes not applicable to open-vm-tools. + +commit 0527d5c5f14f626a5129231778ec433dfff55c2a +Author: Oliver Kurth +Date: Mon Apr 23 17:08:17 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 571dc1fbadd962d91dcb7a44652b501de3f48e0e +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 998903d73496bf6080053f994c8410dc880db2f9 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3b814f9b4dcbf54893078a4ba187d8d0cbf23e31 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + lib/hashMap/hashMap.c: + Add new HashMap_Get() which uses a constant time memory comparison function. + + lib/misc/utilMem.c: + Constant time memory and string comparison functions. + +commit 5daceb4448834143d884b061f391c37aeaaad683 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Changes to common header files not applicable to open-vm-tools. + +commit 42d1e6b11c0b11c1b1f6f967cb5c4d7e2f3b39e0 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Change to common header file not applicable to open-vm-tools. + +commit f4b7b227119712c90be4a3583d4430a3fcc1d093 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Change to common header file not applicable to open-vm-tools. + +commit 874b8b4801a5bba439401db8e624e3e3d1989ca7 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Common header file change not applicale to open-vm-tools. + +commit ff2616a657c32bbb5e6799f8b8cd0a470d0e5202 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:16 2018 -0700 + + Common header file changes not applicable to open-vm-tools. + +commit 5d9cc73f1c7979466d55f7897f98c0888d2fb15d +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + Header file change in preparation for C++11 compilation. Also updating + copyright dates. + +commit 29fb30f6d1956ccd4ad803b1b7f0430e4ef28ceb +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + FreeBSD vmmemctl: Fold in open-vm-tools pull requests #125 and #140 + + This change incorporates two open-vm-tools pull requests that provide + code changes that allows the existing vmmemctl.ko driver to be compiled + on FreeBSD 10, 11 or 12. + + Pull request #125: + An optional argument has been added to the sysctl_add_oid() function + in FreeBSD 12.x. All releases have a SYSCTL_ADD_OID() macro that does + not require the additional argument. + + Pull request #140: + Functions and macros to lock and unlock memory pages and objects have + changed between the FBSD 10 & 11. The pull request provides a set C + preprocessor directives to select the appropriate code based on the + FreeBSD release being targeted. + + The code change as been tidied up by using the release version checks + to define LOCK and UNLOCK macros for memory pages and objects at the + beginning of the source file. The code logic is easier to follow + without the abundance of #if, #else and #endif statements scattered + about. + + Ed Schouten: https://github.com/vmware/open-vm-tools/pull/125 + Steve Wills: https://github.com/vmware/open-vm-tools/pull/140 + +commit 2a34b181de524b3f0d01cad90d3da184bde7ad99 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + Common source file changes not directly applicable to open-vm-tools. + +commit fab45e62a1468b86d2097a6a0784c4f259d6b0ef +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 357e8418e5441c2c5fc75a19f7b6529d6bce7452 +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit fad97e4a7c756b3b297e0fe9e68a1a4674c4fdcc +Author: Oliver Kurth +Date: Mon Apr 23 17:08:15 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 357d9139342c19a98ed12f5961f415d099df3287 +Author: Oliver Kurth +Date: Fri Mar 23 15:05:36 2018 -0700 + + Common source file changes that are not applicable to open-vm-tools. + +commit 6c3261d152442fa11fc2b928490d74846f23465d +Author: Oliver Kurth +Date: Fri Mar 23 15:05:36 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 3747daca8efbfe8e709687b97c874a29f183b717 +Author: Oliver Kurth +Date: Fri Mar 23 15:05:36 2018 -0700 + + Backout previous change to lib/include/vm_basic_math.h. + +commit f9414d19532a9664e6c260a8644ee09200e32429 +Author: Oliver Kurth +Date: Fri Mar 23 15:05:36 2018 -0700 + + Common header file change: lib/include/vm_basic_math.h + + Define portability macros for Inf and Nan tests. + +commit de2010a1a45a9e515b932a1a83374539661a2b39 +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + Add missing memory constraints for vm_atomic RMW (Read/Modify/Write) instructions + + There are two inseparable concepts involved when dealing with atomics: + 1. Atomicity of the access itself + 2. Ordering of the access with respect to other reads&writes (from the view of + other processors). + + Our Read-Modify-Write functions are all meant to provide the highest level of + ordering guarantee: Sequential Consistency, which means no reordering of reads + or writes across the access. We properly implement that on ARM, and on + x86/x64 at the hardware layer. But, on x86/x64 we needed to tell the compiler + (it must flush out any pending reads/writes that are currently hiding in + registers) + + Side Note: we do *not* change the pure Read and pure Write functions, only + the Read/Modify/Write ones. On both ARM and x86/x64, vm_atomic functions like + Atomic_WriteN provide no (re)ordering guarantees today (at the hardware layer + on ARM or at the compiler layer on x86/x64). This is because some callers + didn't need or want such guarantees - as such, Atomic_WriteN by itself is + *not* sufficient to, say, release a lock. Making these remaining atomic + weapons safe by default will require us to first + 1. add new unordered atomic equivalents of Atomic_ReadN/TestBitN and + Atomic_WriteN (in C11 terminology, acquire/release and relaxed) + 2. Scan the tree and switch appropriate callers to the new functions + + *and only then* + 3. Strengthen the defaults, affecting only callers who needed the stronger + defaults to be correct. ... but that would be a separate change in the + future. + + Codegen differences (vmm.vmm64): + -------------------------------- + The function that uncovered this was ST_HandleCrossCall, which invoked + Atomic_And64. + + original w/o explicit compiler mem barrier in ST_HandleCrossCall: + ... + lock and QWORD PTR [rdx+0x0],rax + movsxd rax,DWORD PTR [rip+offset] <-- load reordered after Atomic_And64 + lea rax,[rax+rax*2] + lea rdi,[rax*8+0x0] + + with "memory" constraint, it's now identical to code w/an explicit + compiler mem barrier (which was the workaround): + ... + mov edx,DWORD PTR [rip+offset] <-- load emitted prior to Atomic_And64 + ... + lock and QWORD PTR [rsi+0x0],rax + movsxd rax,edx <-- ... and used after Atomic_And64 + lea rax,[rax+rax*2] + lea rdi,[rax*8+0x0] + + vmm.vmm64's .text section shrank 28 bytes + vmware-vmx's .text section shrank 16 bytes + + Given that these are tiny fractions of the .text section, this suggests the + problem was quite rare, which is why it escaped our attention until now. + (Testing of vmx's lib/lock, lib/sync, lib/vprobe, and lib/misc saw no + differences with GCC 4.4, 6.4, 7.1 or Clang) + + While in there: nuke some tabs + + Slated for a future change: vmkapi_atomic.h + +commit 333ac41076afff4e31ccb0d0688e1581e8c9019a +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 8671bd8d4f68a490a5b20f1876f05797f3057c4b +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + vmcheck.c VmCheck_IsVirtualWorld(): Always check for a working backdoor. + + The specific checks for Xen and VirtualPC hypervisors currently happen + only if the VMware hypervisor is not detected. The test for a working + VMware backdoor is then done to avoid all other hypervisors. + + In the case where running on a VMware hypervisor and the backdoor + channel has been disabled such as with + + monitor_control.restrict_backdoor = "TRUE" + + vmtoolsd, vmware-toolbox-cmd and vmware-checkvm will crash when + attempting to get the version number of the installed VMware Tools. + + Added an additional test to detect Linux KVM with the existing tests + for the Xen hypervisor and Microsoft Virtual PC. Avoid checking for + a working backdoor if a non VMware hypervisor is seen. + + Microsoft Hv checking to be added later and is tracked in a separate PR. + Oracle VirtualBox provides no unique CPUID vendor signature string. + +commit 09958952cc761075d5546b18bed0ce59260ec4db +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + FreeBSD open-vm-tools kernel modules compilations cannot locate + + With the change for VMware headers to utilize the standard types + defined in C99 standard headers, the compilation of FreeBSD kernel + modules must specifically add /usr/include to the compilation + options. + + CFLAGS += -isystem /usr/include + + This change updates the Makefiles's for FreeBSD kernel modules and + drivers. + +commit cdf0406dc669f2284e1e810ac5820f123d46a50e +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + FreeBSD: Improper use of sysconf() for getpwent buffer size leads to + vmtoolsd crash. + + On FreeBSD, sysconf(_SC_GETPW_R_SIZE_MAX) can return -1 if it has + no hard limit ultimately resulting in an incorrect buffer size. + + This change is adapting the sysconf() ifixes done elsewhere to + bora-vmsoft/services/plugins/vix/vixTools.c and updating the + open-vm-tools AUTHORS file to share credit for the pull request. + + https://github.com/vmware/open-vm-tools/pull/238 + +commit e20e9bd49d244749ee6bcd4ea7d57a26d891afbe +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 7e03f0676a8d1a8667d7d6aeda968a74c8708c0e +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 0c4420178932c1879f402ece689e5cfaf5f37d84 +Author: Oliver Kurth +Date: Fri Mar 23 15:05:35 2018 -0700 + + CAF changes for Windows; not applicable to open-vm-tools. + +commit e9463abdc0d56d0612237faf01a5736c9998b499 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:12 2018 -0700 + + sysconf() usage leads to crashes in BSD tools + + Not using the sysconf interface properly when determinining the + getpwent buffer size. Fix this. + + Problem was identified and proposed fix was submitted in pull request + https://github.com/vmware/open-vm-tools/pull/238 + +commit 4eff69adab058331a1e93aee17ed9a4e13fa8714 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:12 2018 -0700 + + [lib/file]: remove useless heap allocation + + FileIO_AtomicUpdateEx allocates the argument to the "swap" ioctl + on the heap. This argument is a struct which contains a single int + fd... there is no need to heap-allocate it, the stack is just fine. + +commit 6de42f7d96fb5c70d70ae3b68011477f8b93aef2 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:12 2018 -0700 + + bora/lib: Use _exit when in the context of a signal handler + + There are a few cases in bora/lib where exit(3) is used in the + context of a signal handler. It was recently noticed that exit(3) is + not async-signal-safe, and _exit(2) should be used instead. + + This patch changes a call from exit(3) to _exit(2) in bora/lib. + +commit 54415a34a372388374bf322d8118ef47c7b0f9f7 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:12 2018 -0700 + + Hgfs FUSE Client: enable the FUSE client for RHEL 7, Ubuntu 14.04 and others + + The RHEL 7.x releases are all kernel 3.10 based. Currently the Hgfs FUSE + client will not be enabled for these earlier kernel versions, enabled only + for 4.0 kernels and later. This means for default tools install on plaftorms + running those kernel versions the Hgfs kernel client must be installed and + used for Shared Folders. The consequence of this means that the tar tools + installer must be run to provide the Hgfs kernel client on top of the OVT + install. + + To remove the need to install the tar tools we must enable support for the + Hgfs FUSE client, which just requires the kernel version check to be modified + from 4.0.0 to 3.10.0. + +commit 84977ad9a0ca964d5873516c42efec328bac23c9 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:12 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 587d95eeadbdab2f20020ef24686bd989af6d8b0 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + lib/misc/hostinfoPosix.c: Fix sscanf format string case typo. + +commit 8e22cb4da06036b71a06698da3377ed72cfef440 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 9e3738b457eba1d9f8302fa449e9521da59f2dfd +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 18358aecd27f7d77b71d5ab31250edc600b7bfbc +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 670dba44e90c64173a1f67e617a7193f18fc3a2c +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 5fe941cd27194495811036667d312f14aece1975 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 03faa87192b23354a996b4d62282c002de002c59 +Author: Oliver Kurth +Date: Fri Mar 23 14:57:11 2018 -0700 + + Common header file change not applicable to open-vm-tools. + +commit 2438cefba37d37de65bf2003b1880f47b529ef47 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:43 2018 -0800 + + Enhancements for rpcChannel library. + + rpcChannel.c file contains the code for building rpcChannel library. A good + amount of the same code is duplicated in rpcChannelSimple.c file to + build a simplified version (no glib dependency) of the rpcChannel library. + It's recommended to remove the duplication and maintain only one single + file which can be used to build both 'glib-dependent rpcChannel' and + 'glib independent rpcChannel' library. + + This changeset implements the following changes: + * Removed rpcChannelSimple.c + + * Renamed I_USE_SIMPLE_RPC make variable to USE_RPCI_ONLY. If this + flag is specified, rpcChannel library will be built using only RPCI. + No dependencies on rpcIn will be added. This inturn will remove + dependencies on dynxdr, xdr and glib. + + * Modified the RpcChannelInt structure to have only the necessary + attributes when USE_RPCI_ONLY is defined. + + * Modified a bunch of functions into '#if defined(NEED_RPCIN)' block + to make available only when necessary. + + * Modified guestrpc.h to provide the declarations for few RpcChannel_* + functions only when needed. + + * Modified rpcChannel library to implement necessary stub files / functions + when it has to be built 'with rpci only' setting. + + * Removed various copies of 'glib_stubs.c' maintained by different + consumers of rpcChannel (appmonitorlib, vmGuestLib, 'imgcust' components). + + * Modified the make files of various consumers (vmGuestLib, appmonitorlib, + imgcust components [linux-pkg-deployer, guestcustutil, UnitTest]) to + remove the dependencies for dynxdr library. + + * Did some code refactoring. + - Removed some dead code in some make files. + +commit 87be66f17bf7911a8ec59ce9917778f7f653a398 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:43 2018 -0800 + + Implement a new function VMTools_GetTimeAsString. + + * Implemented a new function VMTools_GetTimeAsString in + vmtools library which returns a properly formatted UTC timestamp + information. This function can be used by different modules / plugins + in 'VMware Tools' to add the timestamp information in log files. + + Example of UTC timestamp information: "2018-02-22T21:17:38.517Z" + + * Modified vmtools logging module to call the new function and + prepend the UTC timestamp information in every log message. + + * Modified deployPkgLog.c to use the new function. + + * Removed references / definition of System_GetTimeAsString since + it is no longer used anywhere in the code. + +commit acbf7d90add72d9d3aa70bb8677179e7b3d28e23 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:43 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 87ddd2684bff33836db5667718449f42642c76e2 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:43 2018 -0800 + + GOS Table: The official Amazon Linux 2 string is "amazonlinux2-64" + + The hosted UI isn't creating an Amazon 2 VM with the correct guest OS + identifier string. Fix this. + +commit 91b42f829a0ddc13a1657610700332dad7a9e362 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:43 2018 -0800 + + Fix vgauth log timestamps to have zone and use UTC + +commit d225ed26cca556f559c035234d11bd7d380c6d7f +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + Common header file change; not applicable to open-vm-tools + +commit d585ee8fcc4135d6d52fdc38ec2e0ca747663bf7 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + Compilation fixes to build Tools with VS2015 + + This change consists of fixing warnings/errors as a result of building Tools with VS2015. + +commit 03c98a1fb30513b223e3d6eafb21b5f4d4c6c5bc +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + Add timestamp information to each deploypkg log message. + + * Modified deployPkgLog.c file to prepend UTC timestamp information + to each log message coming from 'deploypkg' module in 'VMware Tools'. + + * Used bunch of glib functions to get the current UTC time. As per + the glib manual, these glib functions are available since 2.26. 2.26 was + released around 8 years ago which is kind of very old. Having the glib + dependency on 2.26 is OK. + + * Did some minor code refactoring. In DeployPkg.c file, at all + call sites for DeployPkgLog_Log, replaced the hard coded values with + the proper LogLevel enums. + +commit 73a21a057dc23cf428b5fa1799eb0c5945732fee +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 3eb8434aebde9a2eebc65d57044d8ea6367d685f +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 24e9d211752210abb94bd1e76bec8be20d8abef8 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:42 2018 -0800 + + vm_basic_types.h: enable stdint.h for c99 + + C99 mode (a.k.a. __STDC_VERSION__ >= 199901L) guarantees + the stdint.h header will be present, which means we can use it + for standard types instead of rolling our own. + +commit b4016c210e7cb6c0407d40dba5edfa64d550bef3 +Author: Oliver Kurth +Date: Tue Mar 6 10:38:41 2018 -0800 + + Don't lose errno/lastError when logging + + guestOps need to see errno/lastError in order to return the proper + error to VIX/guestOps APIs. Logging (at any layer) can cause these + to be overwritten, so make sure they're preserved. + +commit 14a0ffe23be6437c9ee656ccf2d516ead6265dfd +Author: Oliver Kurth +Date: Mon Feb 26 19:23:18 2018 -0800 + + Enhancing CAF listener preconfigured check logic to update the preconfigured flag at runtime + + 1. Preconfigure listener and start listener upon tunnel enabled logic are + invoked in two different threads. + 2. There is a case where preconfigure logic is performed after the + pre-configured flag is computed in the enable-listener thread. + + The current patch invalidates the flag in the start listener thread and + should guarantee the preconfigured status is up-to-date. + +commit 60f7afc97264435e1c04c2e70fe39397261b52b4 +Author: Oliver Kurth +Date: Mon Feb 26 19:22:04 2018 -0800 + + CAF MA Performance Issues + + CAF MA Performance Issues + + Vmware CAF ManagementAgentHost service was polling every 5 secs to check if Guest Network "Tunnel(port 6672)" was enabled to preconfigure & bring up Vmware CAF CommAmqpListener service. + This resulted in more CPU Utilization as opposed to previous release in CAF & caused regression in vmtools 10.2.0. + We are increasing the Poll rate to 5 mins, which fixed the issue & is giving us the same CPU/memory utilizations as in vmtools 10.1.0. + + We were checking for the different stages of listener preconfiguration status from the listenerpreConfigure.txt files in the polling time interval, which caused increased IO operations. + To fix that we have stored the value of listener preconfiguration status from the files into a variable locally & using the same at all places instead of file access. + +commit 872baeed3fd1e79f89143baa0b9c47077b655567 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:08 2018 -0800 + + lib/file: add File_MakeSafeTempSubdir + + File_MakeSafeTempDir and File_GetSafeTmpDir are typically used to create + "safe" temp dirs on Windows and Linux. These are dirs in a known-secure + location with known-secure security attributes that only allow access to + the current user. These APIs work fine. However, on Windows if one creates + a subdir inside the safe dir, the subdir may be given an unexpected + (and overly restrictive) set of default DACLs on it in unusual situations. + The solution is to introduce a new API specifically to allow a caller to + create a subdir within an existing safe dir that ensures the DACLs + are exactly what are needed. + +commit bdbab22ec42544dbfff657b811d695e5b5a6d429 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:08 2018 -0800 + + Remove the header file safetime.h + + This removes the file itself. + +commit 047f05f379eb73530ac943d35cda5c162e045fa2 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:08 2018 -0800 + + Common source file change; not applicable to open-vm-tools. + +commit 2c927bb65029cb89ba0c4b7ba9b341890166823d +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + Skip specified file systems when doing a quiesced snapshot on Linux + + Add a tools.conf setting "excludedFileSystems" that specifies one or + more file system mount points to be skipped over when performing a + quiesced snapshot on Linux guests. The value of excludedFileSystems + is a comma-separated list of glob-style patterns as recognized by the + glib routines described here: + + https://developer.gnome.org/glib/stable/glib-Glob-style-pattern-matching.html + + With this change, when performing a quiesced snapshot, the sync driver + freeze routine removes from the list of mount points it is to process + any path that matches a pattern in the excludedFileSystems list. + + In the course of testing the change, a bug was found in SyncDriverFreeze + in which it returned SD_ERROR rather than FALSE when the path list is + empty. + + This change also includes some whitespace cleanup in syncDriverWin32.c. + +commit 9fb904dbdbd12952f2743d1463cda56a72c50c90 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + lib/file: Paranoid clear of old cached values + + Rare, but an app might toggle addPid; cover this. Also optimize the + cache update. + +commit d244dac08f07cbbcba3f66eab7d78c16150edfba +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + lib/file: File_GetSafeTmpDir is not aware of credentials changes + + Some applications may masquerade their use (change their EUID). + Futhermore, each thread in an application can have a separate EUID. + + Anytime a application or thread asked for its safe temporary directory, + it needs to get the same result regardless of how many times it asks. + + Change File_GetSafeTmpDir to cache the EUID associated with the cached + values. If there is an EUID change, invalidate the existing cache + entries and recompute them. The recomputation process is stable, in + that it will obtain the same return any time it is called. + + This way we get the benefit of the cache (performance), ensured + correctness (for applications that do not masquerade), and correctness + for those applications that do masquerade. + +commit f9177b133f7f683fcc0f85770712d8069ec52421 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 4da56779c42a55ce1b872748f9d6fd90bd10d281 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + lib/file: Clean up POSIX File_GetSafeTempDir() in fileTempPosix.c + + Make things clearer. + +commit f608f63948520ab2088870a800bcc62c67a416ab +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 5d98c8b5183e236dc8fb548647574f4b24e87d23 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:07 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 65a35ec640223e4455e016c883261f514eb21492 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit aefcbec68487e14de8938fafbf0606a9ce37b2b9 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + Skip davfs mount points during quiescing (part 2) + + Refactor the change to skip davfs mount points. Capture the length + of the static URL prefixes at compile time and avoid repetitive + strlen() calls when checking each active mount point. + +commit f459a325c4eec2e31eddc7f74901623b30ea0525 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + Skip davfs mount points during quiescing + + The davfs2 is a Linux filesystem that allows mounting a Web Distributed + Authoring and Versioning (WebDAV) network resource as a local filesystem. + On some Linux releases, the FREEZE ioctl() is rejected and quiescing + these filesystems is not attempted. On others, however, the FREEZE is + not rejected and there exists the potential of a quiescing deadlock + if the davfs2 attempts to write to its cache in /var which has already + been quiesced. + + This fix is to avoid a potential deadlock by excluding davfs2 mounts + as the networking filesystem they are. Since davfs2 may be implemented + on the Linux fuse (default) or coda filesystem kernel module, + the detection of these network mounts must be based upon detection + of the URL prefix of the mounted device name. + + The static function SyncDriverIsRemoteFSType() is being updated to + not only exclude remote filesystems based on filesystem type but also + to exclude davfs2 remote filesystems by the "http://" or "https://" + URL prefix on the device name. The function name is being changed + to SyncDriverIsRemoteFS(). + +commit 3af8139cfcb4578dd9d7cd9a85301ed808775eb4 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + vm_basic_types.h: scrub FMTxx specifiers + + Reduce the amount of magic in vm_basic_types.h... nowadays, any + system we support (including Tools) DEFINITELY supports C99-style + specifiers, with two exceptions: pre-vs2015 MSVC, and pre-10.13 + macOS kernels. + + Rip out all the pre-C99 junk. Add a few comments explaining exactly + what the caveats here are. + +commit 442683ac70f1f1c8665feb347be40cac5c8edd65 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + amazonlinux2-64 should use OVT only, not tar tools linux.iso. + +commit b4e66d7ac1f29b4d81877741c0dc85b8eeb68365 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:06 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 16e63100ba9aeb419d22d8ade3af1eda2e3f02c0 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:05 2018 -0800 + + Changes to common header files; not applicable to open-vm-tools. + +commit f5b05ca724708bd54b5c5b7dc3f9d0d959134773 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:05 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 783e87e2a465d28db5233e7d1e284fa9410ffec4 +Author: Oliver Kurth +Date: Mon Feb 26 12:29:05 2018 -0800 + + Remove uses of header file safetime.h + + - (many places) replace "safetime.h" with and/or , + occasionally re-ordering this header to top of file + - (many places) remove "safetime.h" as no time functions are used + +commit bf31e9478b99b5713f2c330e48d2e40c5091d3bc +Author: Oliver Kurth +Date: Mon Feb 26 12:29:04 2018 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit cbdbeef4b6c3454f58e9733079140edcc30fdb2a +Author: Oliver Kurth +Date: Mon Feb 26 12:29:03 2018 -0800 + + Remove GLIBC_VERSION_NN macros + + No existing usages. Astute observers will note we currently + use glibc-2.5 minimum (so all but one of these macros are ALWAYS + defined). + +commit eec6e2798def2e9ff6da5e73b092cfe92e60b763 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 5170db44c1c7b814d0d2bd4131e1895dbd999db7 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + Use a unique random temp directory for vmtoolsd on Linux. + + The temporay directory currently used by vmtoolsd and its plugins + on Linux is of the form /tmp/vmware-. Since it is used to + upload VMware Tools upgrade and GOS customization scripts and commands, + that name predictability may make it susceptible to attack. This + change adds a new function File_GetSafeRandomTmpDir() in + bora/lib/file/fileTempPosix.c to both add the PID to the user name + and add a random number suffix to the temp directory path. + + /tmp/vmware-_-nnnnnn + + VMware Tools commands and plugins are being updated to use this random + temp directory. + +commit 9bc56af5d0cb7dcc6f079ff4ab4d3456535365b2 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + Changes to common header files not applicable to open-vm-tools. + +commit 3e4091698461c0a5c36f9025410941f189c5af69 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + Fix two comment typos in hostinfoPosix.c. + +commit cf4f582e5b3c2df25aa775d77d458a15583a05ad +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + open-vm-tools: ignore with/without gtk2/3 options when building without X + + When building without X support, we should ignore the options to enable/disable + gtk2 and gtk3. This was reported in gthub issue + https://github.com/vmware/open-vm-tools/issues/228 . + +commit 0a099c6f4949a05d1400dc147ab68ad15ebf152a +Author: Oliver Kurth +Date: Wed Feb 7 16:39:26 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 7be0019e01c7d473deffb8b8646fce1dff22e11a +Author: Oliver Kurth +Date: Wed Feb 7 16:39:25 2018 -0800 + + Common header file changes not applicable to open-vm-tools. + +commit f838807d08b9c4e72d4887642d4181dea25b6c35 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:25 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 25d00050c8009dd74e3bbcf1883fdd408411a693 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:25 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 6b6038522ed24ea134eb4e4a2752288f6f42fcd5 +Author: Oliver Kurth +Date: Wed Feb 7 16:39:25 2018 -0800 + + Header file change not applicable to open-vm-tools. + +commit ee4bd450c4449f8905dbca2e4759660fda5c58dc +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + fix buffer overrun in AsyncTCPSocketConnect() + + Callers may pass a struct smaller than sockaddr_storage, but a + sockaddr_storage-sized chunk gets copied to asock->remoteAddr. + memcpy() should be used. + + One such caller is AsyncSocket_ConnectUnixDomain(). It passes sockaddr_un. + sizeof(sockaddr_un) == 110, sizeof(sockaddr_storage) == 128. + + Caught by AddressSanitizer. + +commit 13df0e2fc2f68aeab0380761eb0c5ab129730710 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + open-vm-tools: use pkg-config for building with icu + + icu uses pkg-config in recent versions, and no longer ships with + icu-config in most recent versions. Make the configure script + use pkg-config for icu if available, and icu-config if not. For + pkg-config we need to specify 'icui18n' which returns the same result + as icu-config did to link with icui18n. + +commit 3a8221c7e4b149efacf87658ac239d815c56adba +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + Ignore ENXIO errors with SyncDriver + + A quiesced snapshot fails when the target VM has a bind mount. The + problem is that the syncDriver gets an ENXIO error when it tries to + open the mount point. To fix the problem, let the quiesce operation + skip a mount point when opening it results in an ENXIO error. + + This change is based on pull request + https://github.com/vmware/open-vm-tools/pull/218 . + +commit ff754c8a99bffe92b07c933898c7d9d20c02873f +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + Refinement for memory corruption bug fix in StdIO_ReadNextLine + +commit 7b45a62730624c711fb4eb63a0bfd125a2befa57 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + lib/file: Style clean up in the public file.h + +commit 3a7dc2f92e6cb61c9ca8e57c367c972683355278 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + Common header file changes not applicable to open-vm-tools. + +commit c52bb302a181d4bdd0b2b61d6e901339b61d2dab +Author: Oliver Kurth +Date: Tue Feb 6 16:32:40 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 035765d487f8ab9b2222ad239b278e4725aa5a22 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Changes to common header files; not applicable to open-vm-tools. + +commit 3011466e0f59471292a58ba5124238898d18945a +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + open-vm-tools: use ENV{DEVTYPE}=="disk" in udev scsi rule + + Fix udev scsi rule to not print warnings on boot. + The rule now checks for the device type. The previous fix by + trying to check for a valid timeout field did not work as expected. + This change uses the rule from Mike Latimer at + https://github.com/vmware/open-vm-tools/pull/216 + +commit 9da6562e0c04fa79fad726513508a628f29f4812 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 6ccc073a58e1822dc4eb8c20e10dc89791643e9c +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Fix memory corruption bug in StdIO_ReadNextLine + +commit 4f729b61b908c82318b8dcfc16264c15b58817c8 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Common header file changes not applicable to open-vm-tools. + +commit 9fa726051f7efe1b7e0bab745b7bad85d1fb3efb +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Common header file changes not applicable to open-vm-tools. + +commit 378c193d4a57cfed14045ffed6ea641957ed18c7 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit ba83dcff6214190f8ed545401f2bfa27650bbf07 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Common header file change not directly applicable to open-vm-tools. + +commit fc922804318de417578fd08fab2e07c1d58e8de8 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Update copyright year to 2018. + +commit ca39511ceb8e88254cad71e98cba5cbfff08a99d +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + UUID: Clean up UUID_PackText + + Use size_t, not int. + +commit c358e5e181b95d872da9ffcc943cc147ae0584f8 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:39 2018 -0800 + + Changes to common header files; not applicable to open-vm-tools. + +commit 0ccc8b1a79bf76b9826c37b2133e5dbd4b9904dc +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 5c6f7b09d6865496036653360301092b8672675f +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + guestOS identification: Tweak handling the LSB + + The multi-standard handing code dealt with the LSB strictly. This + causes some issues with older distros that are not LSB compliant but + happened to work due to a specific behavior. + + Return the LSB to "LSB and old way" and provide some specific coverage + of detaults to ensure coverage. + +commit 2516f528e47722faa38868d99939c825f13c2bdb +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Restore "ufs" to the list of known filesystems + + Removing extraneous #ifdef VMX86_TOOLS - #endif + +commit 3c453912325ead3f19b84fced65217608069ddfa +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Restore "ufs" to the list of known filesystems + + A previous change, 5074636, to remove "ufs" from the kernel also removed + "ufs" from the known list of Linux filesystems. As a result, the "ufs" + filesystems on FreeBSD and Solaris VMs cannot be seen and therefore + no disk information is available in vmsvc/get.guest output. + +commit aa6502a057aec571a72b971cb13cf0e9d713cddc +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Update tools copyright to 2018 + +commit 5af33281a66ebf0c30ad15074f931f33bda0bc9d +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit dc028e7bbb63865e1ae1c6262872e74c47c80d61 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Common header file change that is not applicable to open-vm-tools. + +commit d55cc529267b0b385fc9d4453075d023c789e46f +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Hgfs Server: replace duplicate function usage with a common function. + + This change simply replaces a duplicate function usage with a common + function and removes the duplicate one. + +commit ccdef7096a4782dd00b6f55695aff9c3f01cf4b5 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + hostinfoPosix.c: Change a warning to a log message. + +commit 2321ff31fa671658ad0af3af22eef27e5d9af050 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + Switch IMC to use RpcChannel_SendOne instead of deprecated RpcOut_sendOne + + Modify ./libDeployPkg/Makefile.am to build deploypkg module for + open-vm-tools correctlly. + +commit d9f7c825cfbe075c3b643632419ff26a72628e41 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:38 2018 -0800 + + lib/file: Clean up a few things. + +commit b4ee6678c9dd8cdf4e144056545dd41ba0636085 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + hostinfoPosix.c: Pick up some review comments + +commit ce060ca498defdf08da4fac899dc623328d47a5d +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + GuestOS: Support the os-release standard + + While bringing up Amazon Linux as a guest, it was discovered that + Amazon Linux was not LSB compilant. The LSB standard defines a way + to uniquely determine which distro one is running on. Since our code + was based on the LSB standard, we made some changes to explicitly + detect Amazon Linux and handle it as a special case. + + Amazon let us know that there is a "new" standard - os-release - which + they are compliant with. One must explicitly install Amazon Linux in a + special way to obtain the LSB compliance. + + Researching the "new" standard, it turned out to not be that different + than the LSB standard. Further research showed that some distros (e.g. + Ubuntu) are releasing with both standards. + + This change refactors the existing code, removes the explicit Amazon + Linux checking, and accepts the os-release standard. Amazon Linux then + "just falls out". + +commit 6bd88d82e943d691c4312e3f2e7cef1038af7a9c +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + Reduce Vigor transport socket draining overhead + + A previous change in VigorPollImpl and asyncsocket to fix a memory + leak that causes a performance regression for parallel reconfiguration of + running VMs (the kind requiring FSR). During an FSR, the connection + between hostd and the source vmx would drop and hostd would then + reconnect to the destination vmx. One source of regression is that + the buffer has to be drained when a disconnect happens and the draining + logic may potentially unregister and re-register the recv callback + multiple times. This change adds an asyncsocket function specifically + for draining recv that reduces the manipulation of callback. It + reduces the regression by up to ~50% (the effect is more pronounced with + more VMs). + +commit de9b602664d91c54288b91a81f6a01d7cb927fce +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + atomic: add TestSetBitVector and TestClearBitVector functions + + Implement atomic set/clear bit from a byte array. + + Also add missing "memory" constraint to non-atomic ClearBitVector() + and ComplementBitVector(). + +commit 17e9209aeb4f6d3a3535b7064916f3a25b985395 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + Tools Hgfs Server Plugin: fix logging of client redirector handling functions + + Modify logging of client redirector handling functions for starting the client + redirector kernel component and reconnecting mapped drives at services start + up. This changes the level from warning to info as these messages are purely + informational and not warnings of unexpected events or conditions. + +commit 076b7201b61af9f3dcb36050ff37a8145a05d404 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + Fix error reported by clang 6.0.0 - comparison 'int' <= 4294967295 is always true + + Fix the logical constant compare warning/error in vixTools.c of the + vix plugin. Rewrite the continuous for loop to simply iterate from + zero to MAX_INT32. + +commit 7a58576e98e5bdb47fbe101c43b106ba77f2e811 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + Add VMware Tools 10.2.5 to vm_tools_version.h + + - Add tools version 10.2.5 as the first scheduled tools 10.2.x + update - TOOLS_VERSION_CHAINSAW_UPDATE1 + - Corrected a typo in a macro name in an earlier tools version + definition. + +commit 13c49b85cebacea847d30c4e5a0b92fa7ea9dba8 +Author: Oliver Kurth +Date: Tue Feb 6 16:32:37 2018 -0800 + + hostinfo: Identify Amazon Linux + + Amazon Linux is not LSB compliant. Add a small amount of code such that + Amazon Linux can differentiated from all of other Linuxen and correctly + report its identifying data. + +commit c5bc784da611ee929e0da7c20a410e03e6540613 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:36 2018 -0800 + + Set X11 as the backend for gtk3 of open-vm-tools + + Open-vm-tools defaults to gtk3. For distros like Fedora 27, Wayland is + the default display server. With no restriction on the backend, plugins + will try to use Wayland as the backend of Gtk+3. As a result, + gdk_display_get_default() returns a Wayland display; + gdk_display_get_default_group() also returns a Wayland window. Applying + GDK_WINDOW_XID() on the Wayland window will result in the crash reported + on recent Linux releases that default to a Wayland display server. + + As X11-specific code is widely used in tools plugins, a migratation to + Wayland in the short term is not possible. So, as a compromised solution, + plugins can be forced to run on XWayland, which is the compatible mode + of Wayland for legacy X11 clients. + + gdk_set_allowed_backends() only applies when flag GTK3 is defined, and Gtk + version cwgreater than 3.10. + +commit 98e0ab52c86b3a1d4fd38cec6913b1f5ba0f336c +Author: Oliver Kurth +Date: Fri Jan 26 15:04:36 2018 -0800 + + hostinfo: More cleanup + + Continue the prep for Amazon Linux. + +commit ce769ae4aa3a14810b418c044629f2d9dcb72a37 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:36 2018 -0800 + + hostinfo: More prep work for Amazon Linux support + + Amazon Linux is not LSB compliant but it does have a file that is + much like an LSB compliant release (name=value pairs). Make the names + of the structures generic... the logic can be reused for Amazon Linux + in a follow up change. + + Fix up some function headers. + +commit 7fce1b8f9ec60c27865717f536a4e440587500ad +Author: Oliver Kurth +Date: Fri Jan 26 15:04:36 2018 -0800 + + Refactor HostinfoOSData... + + Refactor the HostinfoOsData in several smaller and simpler routines. + This will make it easier to maintain in the future (it was pretty + unwieldy already) and easier to add the logic for a non-LSB Linux. + + More refactoring and actually adding the Amazon recognition code will + follow. + +commit b2b71c7995f4389cd7a9899dca8aa29bd9fa9c6a +Author: Oliver Kurth +Date: Fri Jan 26 15:04:36 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 40bcee40c892cc7de92825cce1226576d6eab66c +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + Changes to common source files: + + lib/asyncsocket/asyncsocket.c: Use ASSERT instead of VERIFY when removings + poll callback in AsyncSocketCancelRecv. + lib/include/vm_product_versions.h: Change not applicable to open-vm-tools. + +commit 757833d601541e9bde24571fa22e669900e98a7e +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + Change the glibc constraint to 2.11 from 2.12. + + Earlier, we made a change to stop building open-vm-tools + for LINUX systems with glibc < 2.12 But SLES 11 SP4 which is + supported comes with glibc 2.11.3 The check will + block SLES 11 SP4 from moving to OVT 10.2.x To fix it, this change + relaxes the glibc constraint to 2.11. + +commit 75825dcc7548d779f23c4c93429736d690d86a45 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + Hgfs: remove Hgfs VMCI transport header from linux open-vm-tools + + Linux Hgfs clients do not use the VMCI module for a transport and have + since migrated to a FUSE implementation. Therefore we do not need to + include the Hgfs VMCI transport header file. + +commit 09b6621863ece170e4fc6b617f0bc1e3d17867f2 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + Hgfs Server: fix error result for new dir creation in the virtual folder + + The Hgfs server code detects when a client tries to create a new folder in the + virtual folder containing the VMware Shares. This is not allowed as only the + host can add new Shares which appears in this folder. The current error code + returned to the client in these cases is access denied. This is only correct + when the new folder does not collide with an existing share. This stops clients + treating the virtual folder as a regular read/write physical folder. However, + for the case where the name collides, the access denied error is not correct, + as it does not tell the client the folder already exists. This causes some + applications to fail as they expect to see this error if the path component + exists as that is okay and expected. At this point the application will continue + to traverse the path and ensure the next component exists or if not create that. + + To ensure that applications don't prematurely fail and can test that the share + still exists in the path the Hgfs server should return HGFS_ERROR_FILE_EXIST + and leave HGFS_ERROR_ACCESS_DENIED for all other cases. + +commit fb3630fb0d7846b9f06f0c506c38eadf0cfbfa81 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + Hgfs: get rid of vmware_pack_begin and vmware_pack_end header files + + Get rid of vmware_pack_begin and vmware_pack_end header files and + replace with the pragma pack and pop. This code currently only + affects Windows clients and the VMX HGFS VMCI transport. + +commit f7c551253400e7f153cc696b5b121cd6e0d4ebd8 +Author: Oliver Kurth +Date: Fri Jan 26 15:04:35 2018 -0800 + + GOSTable: Amazon Linux 2 + + Add the basic support for Amazon Linux 2. The distro identification + code will follow in a separate change. + +commit c8f7c09d106884c19100077fdffe8f11b80d6bdb +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Changes to common header files not applicable to open-vm-tools + +commit 5939eaefbad529e811c64b46d93ddcce56615db8 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Common header file change not applicable to open-vm-tools + +commit 55f323265bb7aee605a40f289f9c1a8ba7be56c6 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Common header file change not applicable to open-vm-tools + +commit d42e5bf76689c820dfb84d681c007c96197f6182 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Common header file change not applicable to open-vm-tools. + +commit 90819beef53238ba108be35cba93329b9d160de7 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Get rid of convertutf and bsd_printf for all non-Win VMware Tools + + The MsgFmt_* functions are referenced in a few utilities + related to VMware Tools. This change replaces the MsgFmt_* + with a stub. This also affects the Windows version. + +commit e5e478d46f047aa8f22b427b9d4505581af9915a +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Fix the SSL/AsyncSocket "SSL_shutdown:shutdown while in init" problem + + QE regression tests have caught a bug in the bora SSL/AsyncSocket + layer. A normal SSL connection could be abnormally terminated by some + other random connections. + + Seems a common bug of the SSL usage according to the link below. + VMware is not the first one to hit it. :-) + https://marc.info/?l=openssl-users&w=4&r=1&s=shutdown+while+in+init&q=b + + The cause is that the SSL error queue was not cleared before + calling the SSL IO functions like SSL_write,read,connect,accept. + Refer to the man page of SSL_get_error, Paragraph 2 of the Description. + Fixed the problem by adding addtional call to clear the error queue. + + Found another problem that the system error is not preserved between + where it is set after the SSL IO call and the use of it to determine + whether to retry the SSL IO. This is probably due to tools has its + own logging which does not preserve the system error number. + Fixed the logging. + +commit 8a9c43698ebcc858314ec1c041d24b8e8d1372cf +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + vm_basic_types.h: use stdint.h a little more. + + Now that enough of the builds are C++11, let's make the common case + use the header to define the intNN types directly + from language-standard intNN_t types, and treat pre-C99/C++98 + code as the special case. + + This also provides some clarity about the last __STRICT_ANSI__ + macros in this file. One was related to usage of 'long long' in + strict c90 mode and has been replaced with a comment indicating that + 64-bit-variable compiler extensions are mandatory (strict c90 mode is + not allowed via the headers). The other related to X11 headers; those + headers have been examined to understand the workarounds needed and + the exact scenario(s) that are problematic have been commented (turns + out FreeBSD had nothing to do with the problem). + + Finally, all the Bool-related definitions have been moved and merged + to a single location NOT at the top of the file. + + Net effects of this change: + - non-linux C++11 (so Windows+Mac) now uses stdint.h + - exact set of macros involved in declaring Bool is reduced + - compiling with c90 mode really will break now (use gnu90 instead). + +commit 2674b02449875b04889be00400f52351105ab25f +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Consume vmx headear files in bora tree instead of gosc's own copy + + 1. Consuming header files from bora/vmx instead of gosc/vmx + 2. Deprecated "gosc/vmx/public/toolsdDeployPkg.h", + use "bora/guestABI/include/vmware/guestrpc/deploypkg.h" instead. + Combined macro definition to the new header file and modified + reference accordingly. + 3. Modified makefile for open-vm-tools to consume new header file, + removed old header file staging in open-vm-tools.stage + +commit bd018012a08579e89209e23b69963937210e5182 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Common header file change not applicable to open-vm-tools + +commit 36929119b9e28df8e267c49b5661354253439215 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + Remove some __STRICT_ANSI__ guards in vm_basic_types.h + + Some time in the distant past, these guards were needed to + work around... something. (Probably, it was that 'long long' + is not a valid type in strict c90 mode). Note that we don't + use c90 mode, we only use gnu90 or c99. + + This ends up being relevant because for C++ we are indeed + using -std=c++11 (which implies __STRICT_ANSI__). The Linux/C++ + section of this file thus had duplicate definitions (which I am + now removing) to work around the gap. + + Quick cheat sheet for -std= values: + - c90 := __STRICT_ANSI__, no long long type + - gnu90 := c90 + gcc extensions, has long long type + - c99 := __STRICT_ANSI__, has long long type (defined in c99) + - c++11 := __STRICT_ANSI__, has long long type (defined in C++11) + +commit 6b1ef0ef99f34011da3f5383414eeedf81c59d3b +Author: Oliver Kurth +Date: Fri Jan 5 14:47:15 2018 -0800 + + open-vm-tools: fix finding C++ compiler for cross-compiling + + Patch contributed by Andrew Stormont (andy-js) on github: + https://github.com/vmware/open-vm-tools/pull/206 and + https://github.com/vmware/open-vm-tools/issues/92. + +commit df18c2c2c3e7dde4478ee68a5f4a96600a3d07a2 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:14 2018 -0800 + + Allow copying of object policy within the same container + + ObjLib_CloneExtParams is currently not allowing copying of policy from + parent to child/clone object on VSAN. This is because the copy policy + check is based on unique filesystem ID, which will be different for + parent and child on VSAN because they will mostly be created on same + container but different namespace. This change uses VCFS root instead + of namespace UUID to make the comparison on VSAN. + + Bonus fix: File_FullPath is now fixed to work for any combination of + ancestor path being present. Currently it only works if either the + given path exists, or when only the last component of the path does + not exist. And since this fix relies on finding the VCFS root of both + parent and child (parent is present but child is not), + ObjLibPathToVCFSRoot has been modified to rely on File_FullPath in + addition to Util_GetCanonicalPath if the path does not exist. + +commit a678f3ea9f6de366b3b3de2f99956d93d2216b08 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:14 2018 -0800 + + Correction to previous change for Solaris11_64 GOS. + +commit 74eb0c942f78f775c9de2bfd0e4f9970a8cded51 +Author: Oliver Kurth +Date: Fri Jan 5 14:47:14 2018 -0800 + + Properly classify Solaris 11-64 as 64-bit + +commit 47e604c2dba131c13300fe15bf4ad69d5b996674 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 584aa9f307c85b07fa8adaf113e87cc3c200cca9 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 976e505b4ad5233f4eb97c7e09be63f6b0662fc7 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 96f90f19e87cfb9b1dd62d30f4b88333d973bb90 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + open-vm-tools: add missing copyright headers + +commit 124c6437b0fcac3e65a7748f336e8b47d9528767 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 11ff20501da5a4a4a6bcc05797b0129462cafc95 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 3dc2785d95c6b6ca42161c270fc9b3f17764ff2d +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit 525f5824a48d8856ec30250d73a99da9fea2c39f +Author: Oliver Kurth +Date: Mon Dec 4 16:27:21 2017 -0800 + + Common header file change; not applicable to open-vm-tools. + +commit fe6997afdc10d3bd7396c7dea7417523851166d6 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:20 2017 -0800 + + Update the Tools-10.2.0 GA Open Source License Files. + +commit 9ac30cc60efd96556df21e87d5e8a42c7057fc95 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:20 2017 -0800 + + RpcVMX: Report driver name and driver version to vmx to store the key-value in + GuestVars, and write a log in vmware.log using RpcVMX_Log. + +commit 1667bc143164a6709debca423e4be0241e3275db +Author: Oliver Kurth +Date: Mon Dec 4 16:27:20 2017 -0800 + + GuestInfo: skip check for shrinkable disk when gathering disk info + + Some Linux OSes may have a non-existing device mounted to a filesystem, + for example Photon OS has the root file system mounted from + /dev/root, which does not exist. The wiper library does a check + for a shrinkable disk, and this fails. This change skips the check + when gathering data for diskinfo, but leaves it intact for + other disk wiper purposes. Information from read-only flesystems + will also be reported. + +commit 35b115033acb5c65e22bd4e44b90d6d69a6815c6 +Author: Oliver Kurth +Date: Mon Dec 4 16:27:20 2017 -0800 + + FileIO: Add customizable privileged file opener for Apple. The change is + not applicable to open-vm-tools. + +commit eb8456de3ddb41ecc7155c447e4bac17ca440a5d +Author: Oliver Kurth +Date: Mon Dec 4 16:27:20 2017 -0800 + + Make AutoCPtr's constructor explicit to make it more obvious when + pointer ownership is transferred. (This also matches std::auto_ptr.) + +commit 29c40dee7848e52437b5dab2ed466771a15df13b +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Make logfiles readable only by admin/root. + +commit 989d96498a370034423515d3818fd02749677097 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Common header file change not applicable to open-vm-tools. + +commit c4387fa58c21a0174a9cd6b053e565aea2c4870f +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Common header file change not applicable to open-vm-tools. + +commit e2f15a777d241f468f5ca2bc0b608f3ecb71fc6a +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Common header files change not applicable to open-vm-tools. + +commit d3c3a4d3e9d97e09b07018df2dccb4b4b2c4dd1b +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Common header file change that is not applicable to open-vm-tools. + +commit 9a08115f6b111445f57302651f7fcb1e4f11e907 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Changes to common header files not directly applicable to open-vm-tools. + +commit a8f4c5ada9852dfdb251715f3785b1fee45b8f67 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Change to common header file; not applicable to open-vm-tools. + +commit 443f07aab7c60df74e1731127921b92447c86d61 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:04 2017 -0800 + + Typo correction in common header file comment. + +commit a5d480e471fe4e0e73f6be28ab65f6ecde64f775 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Improve diskinfo debug output + + Add more debug information so that it is easier to figure out why some + partitions are not being found. + +commit 08abcfc9cc08c758a8189e69e7f99ab270a2e553 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Make VigorPollImpl FD-based callbacks non-periodic (take 3) + + The previous attempt reveals another pre-existing issue. An fd that is + closed by AsyncSocket may be reused right away. The SharedStream for + that fd may still have an outstanding callback that needs to fire + before it would be destroyed. If the destruction happens after the fd + is re-used and the new owner is using boost asio stream, the Release() + call would cancel the async read/write operation for the new owner. + One simple fix is to dup the fd when creating a SharedStream. This + means hostd would need 2 fds for each running VM. The hostd fd limit + is currently 4096 and I was able to power on 1K VMs. If necessary, the + fd limit can be increased (the system limit is 32K). + + Previous description: + + The original change has an issue on Linux that is not observed in ESX. + When the read and write callbacks fire in parallel, both would release + the reference to the SharedStream, triggering its destructor. Later + when the read callback tries to re-register itself, it would hit a + boost exception. To avoid that, I delayed the reset of + CallbackFD::stream to the end of Invoke so that the SharedStream + object woudl not be destroyed as long as the callback is re-registered. + + Original description: + + The hard-to-reproduce AsyncSocket leak turns out to be a variation of + PR 1530561. The fix for that bug only plugs the leak when the race is + between a VigorPollImpl callback that fires with an CanceledException + (which can be triggered by another callback registered on the same fd -- + this is the boost behavior) and a thread trying to unregister the same + callback (e.g. upon detection of a disconnect). There is still a + potential reference leak when the read and write callbacks run in + parallel, if a disconnection happens between the two asyncsocket + callbacks (the asyncsocket callbacks take the asyncsocket lock, so they + are mostly serialized). The second asyncsocket callback handling the + disconnect error would unregister the first callback while the first + callback would be attempting to re-register itself at the VigorPollImpl + level (to provide the periodic behavior exposed by IVmdbPoll). If the + unregister wins the race, it would return false because the callback + cannot be cancelled (it is running). Then ReRegister would not find + the callback in the hash table, so the callback would not fire again, + which means the reference taken when registering the callback is leaked. + + Applying the fix for PR 1530561 in the above scenario would not work + because an AsycnSocket callback may unregister itself and in that case + the reference is appropriately released. Unless we save the thread ID + in Unregister, we would not be able to distinguish when the callback + needs to run in order to release the reference. After considering + various options, I believe trying to support periodic fd-based + callbacks on top of a multi-threaded poll API is troublesome. This + change adds a poll flag for one-shot callbacks and used that in + AsyncSocket with IVmdbPoll. VigorPollImpl only support the one-shot + behavior. In the long term I would like to retire IVmdbPoll and create + a new poll interface. For now I would like to minimize churn while + fixing the memory leak. + +commit 595f5add83e8fbf1ffcabd7537d294c1c9c4edfe +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Fix memory leak in vmtoolsd. + +commit 884aa32f9c9f773957275e09cd6620598185718a +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Tools: GuestInfo: ESX: dynamically load libvmkmemstats.so + + The new version of the vmware tools will be installed on older version + of ESX. But these older versions do not come with libvmkmemstats.so + and a dynamic linking error occurs. + + This patch changes the code to deal with the case where the lib is not + available. Instead of relying on the linker to dynamically link with + libvmkmemstats.so, g_module_open() is used to open the library, if + available, and gracefully handle any eventual errors. + Before the patch, the whole libguestinfo would stop working and after + the patch only the memory stats are unavailable. + +commit 6151fbafe8714c15614dd254ff8816cd28620f3c +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Correcting the few copyright notice added to a few CAF related files bundled in Open-VM-Tools. + +commit 23cfd0c0fc03c36b83c47614037f85ff98806b86 +Author: Oliver Kurth +Date: Thu Nov 30 15:38:03 2017 -0800 + + Adding copyright notice to a few CAF related files bundled in Open-VM-Tools. + +commit 6056c840a4a5593a3f4a87acc175b5eac3ce23dc +Author: Oliver Kurth +Date: Tue Oct 24 14:07:36 2017 -0700 + + DragNDrop plugin change for VMware Tools on Windows; not applicable to + open-vm-tools. + +commit 965dbcad8680e32a8b093715b29656505a8eaf44 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:36 2017 -0700 + + GuestInfo: add primary-nics and low-priority-nics options + + Add the options 'primary-nics' and 'low-priority-nics' for GuestInfo. + + The options accept a list of comma separated patterns for interface names + which can be considered as 'primary' or 'low priority' network interfaces. + This will cause the NicInfo to be put on top of the list for primary + interfaces, and to the bottom for low priority interfaces. + + Example: + + primary-nics=eth1 + + will make sure that the IP address(es) for eth1 will be sorted on + top of the list of IP addresses. + + primary-nics=eth* + + will make sure that any one of the addresses of all interfaces + matching eth* will be sorted on top of the list of IP addresses, + but won't guarantee which one if there is more than one. + + low-priority-nics=eth* + + will work analogously, but interfaces will be sorted to the bottom. + + In case the limit of the number of interfaces to be reported is reached, + low priority interfaces are the first to be skipped. + +commit b5c64af227b2eea0f23f2c8f3cf40c5d24c8548f +Author: Oliver Kurth +Date: Tue Oct 24 14:07:35 2017 -0700 + + VGAuth changes: + + - add calling LoadUserProfile()/UnloadUserProfile() in VGAuth + impersonation/unimpersonation code paths + - VMTools side code change to use the new VGAuth SDK. + +commit cc18f0829bbf9d61b36f6c292a2f4fb9b9618812 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:35 2017 -0700 + + VGAuth changes: + + - add calling LoadUserProfile()/UnloadUserProfile() in VGAuth + impersonation/unimpersonation code paths + - VGAuth part of code change plus tools vix plugin make file. + +commit 4b0af4d8b889eccd0fbc18d63698c95f83be1ca3 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:35 2017 -0700 + + [Tools] Fix crash issue when stopping vmtoolsd(vmuser) + + When stopping vmtoolsd, the code tries to unload all plugins. The + signal TOOLS_CORE_SIG_CAPABILITIES is emitted before really starting + to unload plugins. If the plugin should try to call RpcChannel_Send + while processing the signal and the RPC channel has been shutdown, an + ASSERT is triggered. The fix is to check whether rpc exists and if + unavailable, avoid sending the TOOLS_CORE_SIG_CAPABILITIES signal. + +commit 13438dc9ab2af20587e003bc7f8ba088dc2d3ed8 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:35 2017 -0700 + + Update copyright year to 2017 for open-vm-tools 10.2.0. + +commit a94ed0b8af8afc7d446312c3b391f336421bd4c3 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + Add SUSE Server for SAP Applications to hostinfoPosix.c + + On SLES-SP1-SAP the "lsb_release -sd" command returns the string + "SUSE Linux Enterprise Server for SAP Applications 12 SP1". + Parsing in HostinfoGetOSShortName() detects the sub-strings "suse" + and "enterprise" but not "server 12". STR_OS_SLES is returned + resulting in displaying of "SUSE Linux Enterprise 8/9" in the + summary screen of the vSphere client. This is wrong. + + Instead, search for the sub-string "server for sap applications 12" + and return STR_OS_SLES_12. SLES11-SAP is not affected. + + Please see: github.com/vmware/open-vm-tools/pull/123 + +commit 2aba22668d4f61ddad7dff2a3e872458bf64e67a +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + lib/file: Enhance File_EnsureDirectoryEx to do more checking + + When creating a directory, distinguish whether an EEXIST error is + because the directory already exists or because there is a file with + that path name. Return the appropriate error. + +commit c579e664050ddd35e975b4a7fa18beb74f2decdc +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + VMware Tools 10.2.0 L10n changes for VGAuth. + +commit 07973b8c75feafba8c5ea400a87d0f03cdea744d +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + Common header file changed; not applicable to open-vm-tools. + +commit b88ff280ea0ea778ef9a4e422129bbf66291be73 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + lib/file: Reduce the create directory spam + + The lib/file primitives (e.g. create file, create directory) may fail - + but they also return errno/GetLastError. The caller should inspect a + failure and decide what to do (or log). The lib/file primitives should + not log. The client should do that. The primitives are the high + performance path and failure isn't necessarily a failure, only the + client can decide. + + The lib/file primitives (e.g. create file, create directory) may fail - + but they also return errno/GetLastError. The caller should inspect a + failure and decide what to do (or log). The lib/file primitives should + not log. The client should do that. The primitives are the high + performance path and failure isn't necessarily a failure, only the + client can decide. + +commit 8bdee4f53760e3a63a890653a0960c09b9258db9 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + Misc GuestOS ID fixes. + + - Centos8 64bit guest will have linux 4.x. Moved Centos8-64 guest id + from all3xlinux64 to all4xlinux64 guest list. + - oracle8_64 is missing in the list. Added it to all4xlinux64 guest list. + - Photon has linux 4.x. Moved photon from all3xlinux64 to all4xlinux64 + guest list. + + - Changed the HostinfoOSData() function to return other4xlinux for + the distros where the version cannot be determined. + +commit 2ca8abc426c42e3ad7c05fd22e38ca04d6cc5e86 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + Bump imgcust version to 8.4.0.xxxx + +commit 921f05729bdbcb83a98ab1a28641baabd095af97 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:33 2017 -0700 + + Back out commit d2c18c44...: Make VigorPollImpl FD-based callbacks non-periodic + + Yet another issue is exposed by the change. This is a clean backout + but keeping the cleanupOnError fix in SharedStreamFactory::Get. + +commit e373c1ca328f78581d915940bd7e98abdb76a089 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:32 2017 -0700 + + open-vm-tools: make building with gtk3 the default + + This makes building with gtk3 the default, and sets sane + defaults when building with/without gtk2/gtk3. + +commit 3455478483a6f8e810c00519b6611020e25fee83 +Author: Oliver Kurth +Date: Tue Oct 24 14:07:32 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit a62edfbf695ea5ad4bf8f8d91bac1740e428158f +Author: Oliver Kurth +Date: Tue Oct 24 14:07:32 2017 -0700 + + Common header file change; not directly applicable to open-vm-tools + +commit 009def580b00040fa6e6c07cb5743e60973973f5 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:23 2017 -0700 + + GuestInfo: enable nic/iproute information for Linux without libdnet + + Linux glibc (since 2.3) fully supports getting ip addresses using + getifaddrs() for both IPv4 and IPv6. Use of getifaddrs() was already + implemented in nicInfoPosix.c for tools for ESXi. This change + enables that code also for Linux, if libdnet is not used. + + The change also enables the iproute information, which does not + depend on libdnet, except by the use of addr_stob(), which can + be replaced easily with the existing function CountNetmaskBits(). + +commit 7643a1eddcc2cdc0b8a42af821ae92ca076ee37a +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Make disk free space reporting consistent with Linux 'df' command. + + On Linux, statfs syscall reports free space in two fields. + From http://man7.org/linux/man-pages/man2/statfs.2.html: + 1. f_bfree => Free blocks in filesystem + 2. f_bavail => Free blocks available to unprivileged user + + For file systems that maintain reserved space for system + activities f_bfree > f_bavail because f_bfree includes the + reserved space in the file system. The reserved space is + typically 5% for 'ext4' file systems. Newer distros like + RHEL 7.x use 'xfs' by default and report same value for + both the fields. + + The Linux 'df' command uses f_bavail in its reporting. + Tools reports, conditionally, f_bfree for root and f_bavail + for non-root. However, since vmtoolsd runs as root, Tools + always reports f_bfree, which is more free space than 'df' + would report (depending on amount of reserved space). + + In order to be consistent with Linux 'df' command, + report f_bavail as the disk free space by default. This does + change the behavior a little bit in that Tools will report less + disk free space than before, the difference being the same as + the reserved space on the file system, typically 5%. This + should be OK in general because it makes the space reporting + a bit conservative. If this change in behavior is not desired + for some use cases, the old behavior can be restored by setting + the following newly added configuration in this change: + + [guestinfo] + diskinfo-include-reserved=true + + The existing callers that are outside the guestInfo plugin + will continue to include reserved space in their space + accounting as before. + + Also fixed a few minor stuff/touchups in vmtoolsConfig.c. + +commit ff6daf51be641a805f94fa11415e032bad3ef48a +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Porting some common code to another architecture; not applicable to + open-vm-tools. + +commit a1d4afc447091d9fbccf89be6561accfc1e33aa9 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Add support to tools timeSync to issue w32tm resync in Windows guests. + + This change adds support to issue a w32tm resync command from within + VMware tools timeSync in order to reconfigure w32time configuration + parameters. This forces guest time to be resynchronized to external + time server. + +commit d2c18c44df3fbc410e04b2f1b2595a326a52afec +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Add a poll flag for one-shot callbacks in AsyncSocket + + The original change had an issue. When the read and write callbacks + fire in parallel, both would release the reference to the SharedStream, + triggering its destructor. Later when the read callback tried to + re-register itself, it would hit a boost exception. To avoid that, + delay the reset of CallbackFD::stream to the end of Invoke so that the + SharedStream object will not be destroyed as long as the callback is + re-registered. + +commit 485dc67e56ad68e05d4106059594279f67dd119b +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 9719f528b4ca3d91952e8feaca49d005f7944097 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + HostDiskMacos: Migrate macOS host disk functions from file and user to hostDisk. + +commit c81c16581af70d6242dceccf3b9cdfd0dd3a88f4 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:22 2017 -0700 + + Revert - HostDiskMacos: Migrate macOS host disk functions from file and user to hostDisk. + +commit d9fa89c015f72f233f46c8dd73640bbd3006d901 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + HostDiskMacos: Migrate macOS host disk functions from file and user to hostDisk. + +commit 02d088e2603a292375f5d8db73b431ce30ddbf9c +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Fix a segfault when log file isn't set and conf is reloaded. + + When vmsvc.handler=file, but vmsvc.data isn't set, vmtoolsd crashed + on reloading the config file. This was caused by using a NULL value + as an argument to a strcmp(). + + This change fixes this by using g_strcmp0 which handles NULL pointers + gracefully, and setting confData to a default value before calling + g_strcmp0(). + + This also fixes a case where a change in the log file would be ignored. + +commit 60179f0b8a4faaa66b490ba7b3f927664e634d6f +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Revert - HostDiskMacos: Migrate macOS host disk functions from file and user to hostDisk. + +commit a01a01b881672f41e827ea50b9e4501b1cc09fc6 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Changes to header files vmnet_defs.h and vmxnet3_defs.h needed to + integrate ENS capabilities into existing Uplink capabilities. + The changes are not directly applicable to open-vm-tools. + +commit 6d86d11a0d1715e80417380c4565d2141cd39c15 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + HostDiskMacos: Migrate macOS host disk functions from file and user to hostDisk. + +commit 2e95b4a100dff023d0e88315829c988c063228d5 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Update file version for imgcust deliverables + +commit 6288ac9749b21a5eb791b080c20e1028eaab5173 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Revert change to add a poll flag for one-shot callbacks. + +commit 39d8a762211ed0d599cc9834f4eaf15c9fa41dfa +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + strutil.c: Add a case-insensitive version of StrUtil_EndsWith. + + Common header file change; not applicable to open-vm-tools. + +commit a0741150a070825f22b35d7e1642c0c88f29673d +Author: Oliver Kurth +Date: Mon Oct 23 14:21:21 2017 -0700 + + Update of a product version in a shared header file; not applicable to + open-vm-tools. + +commit 7b8e29217723040cfeec1f1db09afc2560237439 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + AsyncSocket: Fix DoOneMsg's inBlockingRecv bookkeeping + + For the I[Vmdb]Poll support in AsyncTCPSocket, inBlockingRecv has been + used to avoid conflict with AsyncSocketDoOneMsg. There is an issue + with where inBlocking Recv is decremented, which is right after poll, + where the thread would drop the lock. The lock may also be dropped + during AsyncTCPSocketFillRecvBuffer, and for that there is a separate + inDoOneMsg flag. This change unifies the two flags and makes + inBlockingRecv cover both functions that may drop the lock. This fixes + the race that would allow AsyncTCPSocketRecvCallback to run when + AsyncTCPSocketDoOneMsg is in progress. A couple places where we + previously checked inBlockingRecv to report an error now have to also + check inRecvLoop (TRUE during AsyncTCPSocketFillRecvBuffer) -- those + checks cannot be enforced during FillRecvBuffer because the client + callback is allowed to change the callback or cancel it. The lone + usage of inDoOneMsg is switched to inBlockingRecv. + +commit ac699fac9d8030fe2c804ad8720d7fa7b5e72839 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + Set the Tools version to 10.3.0 + +commit 2fae8543aaeed65725575dac50c55ea554b349a1 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + guestOS: Uniquely run time identify Photon + + Currently VMware Photon 2 is identified at run time as a Linux 4.x kernel. + This is correct, but the Photon distro has an LSB compliant identification + file. + + Attempt to check the LSB compliant identification file for Photon. If + present, identify the guest as "vmware-photon". + +commit 729acd5603c62d514d5e244faf9e508db2b9efd7 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + Add new GOS definitions in HWV=14 + +commit f9c76215aaed31a6210112df578ed9d6c3c25712 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + Fix ASSERT of registering the same callback twice (take 2) + + Re-check the condition of inBlockingRecv after the lock + may have been dropped. + +commit a20022349089880cb43ccdef082f02de95476984 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:20 2017 -0700 + + Fix ASSERT of registering the same callback twice + + The previous change for Poll introduced a bug in AsyncSocket. + When re-registering the recv callback, it needs to check whether + there is a concurrent blocking recv (which means the send callback + has detected a disconnection and is draining the pipe). The recv + callback should act like a no-op in that case (other than to + release the reference). + +commit 396d5adb3aba9ab0e059a4b45ac2e3d68fb513f9 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3cb87c817b804e231b0d2aa4c007a61b83999750 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Hgfs Protocol: clean up the Hgfs protocol operation capabilities + + This change cleans up the operation capability and its flags which + currently are not clearly associated with the type to which they refer. + The name doesn't help in that regard either. + + The capability and flags are used in the Hgfs session creation by + both the server and client to dictate the protocol operation versions + to be used during the lifetime of that session. The flags denote + which operations are currently used and how they are expected to be + used. + +commit 14c579038de187e0bdbc952073524e4a0668548e +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Update the Tools-10.2.0-Beta Open Source License Files. + +commit fa4c5b9eac9e2899aef8f6a831e121152adc075b +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + hosted file locking: An upper bound on creating the lock directory + + There is currently no upper bound on how long we wait to enter a hosted + file lock (create lock directory and the direct entry (the "D")). Fix + this. + +commit 2496fecbcd4c99bb3cc73df64b24982607f54227 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Add Str_Strncpy + + Add a Str_Strncpy function that, unlike strncpy, guarantees + NUL-termination. + +commit 314d3ca4d1b2a6a28427fc19510f89c7d7df6234 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + lib/file: Hosted file locking code robustness improvement + + The hosted file locking code tosses a random number generator and + creates an directory name (D name) and member name (M name) that both + use the random number. + + If the D name cannot be created we try again until we can create one. + The assumption is other lockers are racing with the code. The random + number generator makes the chance of collisons small and soon we get + a D name. + + Once a D name can be created, we check if the M name exists. If it + does, we remove the D name and try again until we get a unique D and + M name. Once the M name is created, the D name is discarded. + + If we're unable to remove the D name, we could land up filling the + locking directory with garbage that cannot be cleaned up. Fail if + we're unable to remove the D entry. + +commit 824c7718031c6adbc02b7a60b61639bc029b9852 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Add a poll flag for one-shot callbacks in AsyncSocket. + +commit 7367296bebe4eed2bc5555f49fbaeea197be94ef +Author: Oliver Kurth +Date: Mon Oct 23 14:21:19 2017 -0700 + + Disable lib/string wprintf functions for non-Windows builds + + The lib/string wprintf functions currently are enabled only + for Windows and Linux builds, but Windows is the only + platform that uses them. Disable them for Linux, too. + + This also means HAS_BSD_WPRINTF can be removed. + +commit fcc96bf4c1123fb51d96fdbb935e83b91bd04765 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:18 2017 -0700 + + Remove Str_Mbscpy and Str_Mbscat + + Since we assume that all non-wide-char strings are UTF-8, the + implementations of Str_Mbscpy and Str_Mbscat are basically + identical to those of Str_Strcpy and Str_Strcat. We thus do + not need the Str_Mbs versions. + +commit c8f3f5164f277ee311543c153e6cf4d9a5c3b17c +Author: Oliver Kurth +Date: Mon Oct 23 14:21:18 2017 -0700 + + GOSTable: Linux 4.x kernel + + Add Linux 4.x entries to the Guest OS table. + +commit b7ee5608972cdb7a585fb7b1a13fb62f24f546e9 +Author: Oliver Kurth +Date: Mon Oct 23 14:21:18 2017 -0700 + + lib/file: FileIO_AtomicUpdateEx ASSERT + + ASSERT(File_IsSameFile(dirName, dstDirName)) fired when NFS went + down at just the right moment. It was not obvious that the ASSERT + fired due to an NFS failure. + + File_IsSameFile correctly returns errno upon failure. Check the + errno value to properly detect and return an error. + +commit 631907ab8989ad07d3b8c03829f5700bb2e3ee1a +Author: Oliver Kurth +Date: Fri Sep 15 11:47:09 2017 -0700 + + copy README.md from master + +commit 962d4f21e2365e81d68ca2920175c0f1edbb6770 +Author: Oliver Kurth +Date: Fri Sep 15 11:32:25 2017 -0700 + + update version to 10.2.0 + +commit 1604e7c59f9491e0f98e39dc511a534ffea68879 +Author: Oliver Kurth +Date: Fri Sep 15 11:35:01 2017 -0700 + + sync libDeployPkg files + +commit 2ec91a3f67059cff2d47c662e2177714742a241f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:58 2017 -0700 + + GuestStats: Report memNeeded on ESX as a guest + +commit f439d57482f7dd42e359fb0792269573c63c55a7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:58 2017 -0700 + + GOSTable: Add MacOS 10.14 and FreeBSD 12 + +commit 1d661a68fced6b91e6c5e757915cddf8b7c7eb15 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:58 2017 -0700 + + Guest OS: Add CentOS 8, OracleLinux 8, and AsiaNux 8 + +commit 8b2369ac8512b1436dbe2de5617e0265b522ee3a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:58 2017 -0700 + + lib/file: Remove long dead functions from file.h + + These routines no longer exist. Remove them from the header file. + +commit e2da656025ba8ddb8a8b223f9e73c0057a2eeeb9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Revert part of the previous commit. + + Remove the VIM mapping for now. + +commit 6ca6d42820b0ae44b02187925ebce7d2d21ab5e0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + guestOS: Add SLES 15 and RHEL 8 + +commit 31a6c06caeb75afd7d6a7e017c3b95b60ca9b6f0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Change to common header file; not applicable to open-vm-tools. + +commit 1b9b067c39da8446cb28a66914ff61dabadc71e9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 0c0f3e3c1fa82a1d63b75ccf6d8d775d915c66cf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit c8811a844992cd610e0043998f8554989e843bd7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 91cd3e4fcf02ac4d5ada8723e6e6b285768d351b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + lib/file: Improve File_CreateDirectoryHierarchy error detection + +commit 84f5ee1d65982ced4f4e0dd847cfe7658e77b873 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Fix processing RPC data in TimeSync RPC handler + + RPC data is whitespace delimited string and any leading whitespaces need to + be ignoreed before processing data. The data here indicates whether timeSync + should do a backward sync on this RPC callback. + +commit 31f97a69bf993057f56ea16e2899c2f55c84f8d6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 9291087e5c01b0dab662bb61530d3ee5ce469a13 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Adjust some logging levels + + Make some of the more common vgauth failure cases show up at default + debug level. + +commit 0f94e2468307d13b9d70938e1ad817bceeb2e2b2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Add support for 64-bit inodes in FreeBSD 12 + + FreeBSD 12 is switching to 64-bit inodes which will cause some ABI + breakage in user code. This fix modifies the getdirentries() syscall + used in hgfsServerLinux.c for that FBSD 12 64-bit inodes. + + The fix was provided by Josh Paetzel in open-vm-tools pull request + https://github.com/vmware/open-vm-tools/pull/190 + +commit b851f91268e947ab4e7aff8c6bc9e3c84f7d81f4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Enable bsd_vsnprintf for __ANDROID__ + + Remove the __ANDROID__ check from Str_Vsnprintf, et al. It's + not supposed to be there anymore. + +commit 75c55bc6c01624884515b71af7e1a7a7843519e6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Add support to check if a native guest time sync service is running. + + This change adds support to VMware tools timesync to identify if a guest + native time synchronization service is running. If a native sync service is + running, then a resync command is issued. If native time sync service is not + running, we fall back on legacy VMware tools onetime sync to do guest time + correction. + + We also post a callback to do legacy VMware tools onetime sync after a + timeout period. A timeout can be configured if guest native resync command + fails to sync guest time. + +commit 695ab7662e4c9d25a5f86d298f04d777cd400cbf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Fix some compatibility issues between bsd_vsnprintf and bsd_vsnwprintf + + Fix some compatibility issues between bsd_vsnprintf and + bsd_vsnwprintf so that the lib/string unit tests can have + consistent results. + + * bsd_vsnprintf used uppercase hexadecimal digits for %p but + bsd_vsnwprintf used lowercase. vsnprintf has much more + inertia, so use uppercase in both. + + * bsd_vsnprintf's floating point output was adjusted for bug + 704706, but corresponding changes were not made to + bsd_vsnwprintf. + +commit deb3feeefd8f653d1fe0e54e6708d8cacde5ab1d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + lib/file: Continue simplifying and optimizing + + Since we're UTF8 only, there are simplifications and + optimizations that can be done to lib/file, particularly in the + routines that look for directory separators and ASCII characters like + '.'. We don't need to use the unicode library to deal with these + type of code points. + + This is the second in a sequence of changes to improve lib/file. + +commit a1290e66021b3d1e9d0f3c45edea80c5e7fb8488 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 27d72451d479d96f1d1de901cb76820f5bdac38e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e30c97abc0fb8f0f6034d56d93b63b629365e2cb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + Fix lib/string unit tests + + Updates to lib/string.str.c and its unit tests. + + * On Linux, Str_Vsnwprintf uses vswprintf from glibc[1]. + However, glibc's vswprintf implementation appears to be + broken by not NUL-terminating the destination if truncation + occurs. Make Str_Vsnwprintf explicitly NUL-terminate along + this path. + + * The unit tests expected that Str_Vsnwprintf use %s for + wchar_t* arguments (and %S for char* ones). That is a + Microsoft-ism (necessary for TCHAR-based printf functions + to use the same format strings with or without _UNICODE). + Our bsd_vsnwprintf function instead uses %s for char* (and + %S for wchar_t*). Existing callers to Str_...wprintf use + use the BSD implementation and expect the BSD behavior + (which is consistent with standard C in this regard), so + go with the existing behavior and adjust the tests. + + * Some of the tests passed int arguments for floating-point + format specifiers. This is undefined behavior. + + * Some of the tests had more format specifiers than + arguments. More undefined behavior. + + * Finally, the existing Str_...printf tests are + fundamentally flawed: they compare output against the + system's printf functions. However, the whole point of + having our own is to have consistent behavior across + platforms and to work around bugs; the output therefore + cannot be expected to consistently match. Instead rewrite + the tests to compare Str_...printf output against fixed + strings.[2] Additionally, enable these tests only if + HAS_BSD_PRINTF/HAS_BSD_WPRINTF are enabled; I see no point + in testing the system versions (which won't have consistent + output), and IMO the BSD implementations are the only ones + we should be supporting. + + [1] I do not understand why HAS_BSD_WPRINTF is enabled on + Linux only for < gcc 2.96 (and not at all for macOS). + This probably should be fixed, but not as part of this + change. (I also don't know why HAS_BSD_WPRINTF is + distinct from HAS_BSD_PRINTF.) + + [2] bsd_vsnwprintf is not consistent with bsd_vsnprintf for + all format specifiers. I plan to deal with this later, + but for now, make the expected strings match the actual + output so we have a starting point where everything + passes. + +commit d04babd5bc7de9015c0fe881652723498069e7fa +Author: Oliver Kurth +Date: Fri Sep 15 11:23:56 2017 -0700 + + lib/file: Cleanly handle directory separators + + We want to handle Windows allowance of "/" and "\" as directory + separators. Let's have an easy way to check things and use it. + + This is first in a sequence of changes to improve our handling of + directory separators in lib/file. + +commit f72d3ce3571f93e9dc8a404bece8264e8081e493 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Add missing "const" to previous commit. + +commit a518cc08a6e6f77a665eefa0f29b19e5077a8445 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + lib/file: Rework File_ReplaceExtension and File_RemoveExtension + + Fix a bug and simplify the code. + +commit 24de06bc3d445d68ebee9b55efd5393520ef8dab +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a53bde7ecfdd3c544010559f1b84c11396fa9f7d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit d840729ea449e19f9f2b6d5105c053c09085c364 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Rename some parameters + + The generic parameter names for Posix_Symlink/Posix_Link are + rather confusing. Rename them. + +commit 1917d98e6b002670095cec13b363f5894ab8cc0f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Revert previous commit. + +commit fbc7387c1edb0bc619cc05fecb84030809c38867 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + lib/file: File_ReplaceExtension fails in the root directory + + On Linux, File_ReplaceExtension returns an incorrect path name for a + file in the root directory. The code, as written, doesn't differentiate + "test.txt" from "/test.txt". Fix this. + +commit 0f386a32789574bb73f75f0e8e82e80f0511416c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Update AUTHORS with pull request for fixing gcc6 build issues. + + The issue in linuxDeployment.c has been fixed. This change is to + udpate the AUTHORS file. + + - https://github.com/vmware/open-vm-tools/pull/107 + - https://github.com/vmware/open-vm-tools/pull/107/files#diff-ffeb9f9be2f25b5b92ecf9101fa3aae5 + +commit 2ad25b6bfe88e47dc9b2b995eba5af1a317aacd0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:55 2017 -0700 + + Update __IS_FREE_BSD__ macro in vm_basic_defs.h + + The __IS_FREEBSD__ macro in vm_basic_defs.h uses "defined" in + the definition. That is undefined behavior and the FreeBSD default + compiler, clang (LLVM), warns about this pervasively misused + construct. With all warnings equivalent to an error, builds fail. + + The object-like macro __IS_FREEBSD__ has been rewritten in a manner + acceptable to the current C standard. + + Open-vm-tools pull request: https://github.com/vmware/open-vm-tools/pull/136 + +commit c1c9b66c580bdda09d0c1e41d3d01e2803a9221f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 39b3a708936a663d24a5ab8c6f4c45cd44dc12bb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Include new CAF PMT files in open-vm-tools + + Add new CAF PMT files CmonitorListener.cpp, CMonitorListener.h, + and preconfigure-Listener.sh to open-vm-tools. + +commit fcee9fe84ab642d88230a0cb7b8db6fe6e2207d2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Re-instate ASSERTS in circList.h + +commit 136eab69cc5fcd9e4bdb2766810f5cb0a791c0ad +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + services/plugins/dndcp/dnd/dndCPMsgV4.c: + - Rework DnDCP v4 message validation. + +commit aa18cc61e5f1233cafff489be63b5660d9b8458b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + deployPkg: Fix duplicate log message issue + + Use linebuffer to prevent duplicate log message for forked off processes during customization. + +commit 321eaaafc80bc4d7e7c07b779d8021ff7adb27fc +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Make TimeUtil_GetTimeFormat avoid a null pointer dereference if ctime_r fails + + ctime_r potentially could return NULL on failure. Instead of + blindly dereferencing the result, TimeUtil_GetTimeFormat + should check for that and also return NULL (which callers + should already expect on failure). + +commit 74fab8557791b3b546c39a0a833ff9b5d9914d40 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c4b6c83951aef605686f6313be4d0e18fb5abf9f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + resolutionSet: Should not free RandR12Info when RandR12GetInfo failed + + If for some reason RandR12GetInfo failed to return RandR12Info, + it should not follow the cleanup path to free it. Instead it + should return FALSE. + +commit ff8a4800edf33a887efcce487efd763f9343c71f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:54 2017 -0700 + + Export and call a valist version of Msg_Append + + This change exports a valist version of Msg_Append. + +commit e43c3c193057843232471bb7c427781c22774832 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Common header file change: not applicable to open-vm-tools. + +commit e28fabf2876cd256b80ad863a0d610d103fd121e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + VThreadID: change to uintptr_t + +commit 2c2426bd2120546d93f0b7b49a22e9b3689556c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Add 10.1.15 update release to vm_tools_version.h + +commit a02ecfdc12e18aa9aa1b4f9e1d6c61fa3eb9cdd3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 182df3e67dcd21f143aa5e1741ba4381067a21ee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + lib/file: Posix FileLock_Lock pathName handling + + Locking "/tmp" should create a lock "/tmp.lck". + Locking "tmp" should create a lock "./tmp.lck". + +commit 06c0cf16d765c4718825cc28ad9997476b5b0423 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Add vmx config options for guest time service resync. + + VMware tools timeSync can be enabled in a guest that also has a native + time service running. This can lead to race conditions when both the time + services are trying to correct system time. Particularly, when both of + these services tries to do a step correction on certain events, guest + time behaves in an undesirable manner that could cause guest + applications to fail. This change introduces a couple of vmx config options + that can be used to eliminate or atleast reduce the chance of race + condition between VMware tools timeSync and guest native time service + (like w32time or NTP). + + The basic idea is to utilize native time service to resynchronize and + recalibrate its parameters and force to do a step correction if + necessary. VMware tools timeSync would send a service request to native + guest time service when it needs to do a step correction, rather than + correcting system time itself. This helps in having a single service + responsible for correcting guest system time and eliminates/reduces race + condition. + + "time.synchronize.guest.resync"= controls whether this new + method of guest time synchronization is enabled or not. + There might be situations where native guest time service resync request + is not successful. This could happen if the native time service is not + configured correctly or if there is an intermittent network outage, etc. + We would like to fall back to using legacy way of VMware tool timeSync + onetime correction in such failure scenarios. + "time.synchronize.guest.resync.timeout>=0" vmx option allows us to achieve + that. Tools timeSync would initiate a resync request, then wait for + 'timeout' period of time and would fall back of legacy timeSync onetime + sync behavior. This allows us to correct guest time even in case of + native guest time service failure. + +commit bb819650082a6714d0435831bf2bbf31c66718c5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Common source file change; not directly applicable to open-vm-tools. + +commit 433f1f2b4db1e55e9576ab5bb0bf02a4e040a299 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:53 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 63e4a016d5bba58121cbbebb8f7711a0bf70436c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + VThread: factor out common thread-name assignment + +commit 4a08aedc1a3bfbe666896d13380265f3948684ac +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Hgfs OSX Server: Create and use server callback table for change notifications + + There are now three different callbacks into the Hgfs server from the file + change notification component. So we now pass these in a table to the nofify + module when it is initialized instead of ad hoc. Previously, the same + callback is passed for every subscriber watch event and therefore duplicated + and stored in each subscriber. + + Note that the feature is currently switched off by default until these changes + are complete. A user will explicitly have to enable the VMX file setting and + would cause a VMX assert to be triggered. + + Details: + - The server now creates a table for its notification callbacks and passes + it to the notify initialization function. + - The server now includes the async thread registration callbacks previously + ifdef'd out. + - The Notify_Init function APIs are updated to reflect the new argument for + callbacks. + - The HgfsNotify_AddSubscriber argument does not include the callback as it + is now passed once at the initialization time. + - The HgfsNotifyEventReceiveCb type has been modified now it is an entry in + the callback table. + - The subscriber callback function call is now validated to be non-NULL + before calling. + - The Mac notify module adds the server callback table to its FS event + context which is passed to the event generating submodule for the Mac + implementation. + - The Mac notify module adds its own FS event callbacks for thread register + and unregister called from the FS event module when registering and + unregistering its FS event thread. + +commit 3633fa4ab2b5cbd97bfed0cdc14cda842675bd9e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + CAF - Preconfigure the listener + follow guest proxy + + Listener is auto configured during the install upon MA being started. + Listener is started/stopped automatically when tunnel is enabled/disabled. + +commit 1f72b0f9878355ea2263d57b16dd35682b2720f9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e854fc4e547c5f7f4c989e38e233e6567d588386 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Add error logging to lib/file/file.c create folder functions + +commit 7e5f9a8025926b56e77d63f11cff70b606dfd0be +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Re-gen rabbitproxy key if its perms are bad + + Make sure nothing has played with our keyfile permissions. + The old (9.10) VB script that generated the key left it world-readable, + and it's also possible someone could mess up the perms. + This change checks the perms, and if they're wrong, regenerates + the cert & key. + +commit ad4f5db55d031ce7d1b75ddc64c3f046c24469de +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + GuestInfo: Add option to exclude network interfaces + + VMs running docker can have hundred of virtual network interfaces. + Also, docker creates one virtual network interface 'docker0' with + an IPv4 address. This address is useless outside the VM, and should + not be propagated via GuestInfo, or even as the primary network + address. + + This change adds on option for tools.conf to exclude specific + network interface names using patterns with wildcards. This makes + it easy to exclude virtual docker interface names with the option + + exclude-nics=docker*,veth* + + For convenience, the option is set to docker*,veth* by default, + except for Windows, where it is "vEthernet*". To + send information of all interfaces, including docker* and veth*, + the option needs to be set to an empty value: exclude-nics= + +commit 6a74858200ae2fb5908b74676da56124d83a8285 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Fix vm_basic_types.h broken in previous commit. + +commit 6cc7edaf4294f47d6210af45c1ba64d967a031a2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 8b50e2372fbf110a1e41225c9e67fb6720344f8b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit d36368429913b21291917e4b00bc2ba92e2d3c0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:52 2017 -0700 + + Remove VThread_WaitThread + +commit cd7b6d0c9575f9728f425d3043fc87639bc2cab0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + VThreadBase: Final cleanups + +commit a10c8df8b9f9609e025d231fe596e2fce6b8e750 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + Tools Hgfs Plugin: Refresh Hgfs drives on client start + + In order to get Explorer to see that VMware Shared Fodlers + drives are available when the feature is enabled, we touch + each drive that is mapped as a VMware Shared Folder. This + is to prevent users being confused when they have the feature + enabled but Explorer creates the user's drive mappings before + the tools service has initialized the Hgfs plugin and started + the Hgfs client. In this situation the drives are marked + as red (disconnected) until the user clicks on the mapped + drive when Explorer will refresh the connction and set it + to green (connected). + + Details: + - Main service will usually create otheriwse open a named event + to synchronize with the user service. + - Main service will start the HGFS client redirector (as before + this is not new). + - Main service will set the synchronization event to signalled. + - User service will usually open the named event (or create it + if first). + - User service will enumerate all the mapped network drives and, + if they are provided by the VMware Shared Folder redirector, + reconnect them. + - The named event will be created with Administrators group all + access and Everyone with modify state to signal it and synchronize + to wait on it. + +commit d4a5693af649e7c8f87667c60b7e6575b15faa0e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + Emphatically close virtual disk. + + Sometimes I/O stack modules return EBUSY during teardown. + This may be due to an external process opening files at + inopportune moments. The workaround is to retry the affected + operations. + +commit 04d01f93f26b748d0fbb6bc1ea571e90fbc005d7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + lib/file/filePosix.c: Implement File_GetMountPath() for POSIX + - The change implements File_GetMountPath() for POSIX, + using realpath(3) and readlink(2). + + Changes to common header files; not applicable to open-vm-tools. + +commit 47ffaf37a9f604ffc1099d249dba21857dd426d3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + VThreadBase: Switch to "stable" thread IDs + + Now that lib/thread no longer has a dependency on small-numbered + VThreadIDs, and now that lib/thread has ceeded control of assigning + VThreadIDs to threads, we can make VThreadBase really simple. + +commit c6f360fc8e9b25d9478864903886895cedeff4e0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + lib/lock: Clarify comments + +commit d98582711a87185657cd9f125d58f3fdd48dbc0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + Clear vmusr as resolution_server when resolutionKMS is enabled + + Whenever resolutionKMS is enabled, send + "tools.capability.resolution_server toolbox-dnd 0" to clear + resolutionSet as resolution server. + +commit 22c3f23f55153f08e788db6c4ae7a96d555ed8ca +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + Changes to common source files; not applicable to open-vm-tools. + +commit eecfdd625b3e134830a7c012fc8aadda36bfd4da +Author: Oliver Kurth +Date: Fri Sep 15 11:23:51 2017 -0700 + + Use correct osname for FreeBSD 11. + + For FreeBSD 11 and later the correct osname is "freeBSD11". + Without the correct osname, guestInfo ends up with the wrong + guestId and guestFullName. + + Also cleaned up some unused code. + +commit 0ca5c37c17a9631533de41eba1f770ca833c07e9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit fbead2824b81be34cb2a61e1310da9188adc383f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit fbd04d3227be7adeb307b508d7994236161927f5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 74e48b8fc16e6cfe765a32568e437a98d3ad1548 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 00b13522c0f12774b2d39e999855216f53648c1a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 407459a2ceee1d845a5055a856b5947ca00836f4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + VSOCK: Add getsockopt to determine stream socket disconnect cause + + This is the vSocket part of adding support for getting the + disconnect cause of a vSocket stream socket. This adds a + getsockopt option to determine stream socket disconnect cause + as registered by the underlying VMCI queue pair. + +commit ad5c63faa35f3b3e8e6a035e76ba1c043ae8c756 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Convert Util_GetCurrentThreadId to VThreadBase_GetKernelID + + This code now "lives" in VThreadBase since it is thread-related. The + two functions behave (very) similarly. + + Some locations should use VThreadIDs instead of KernelIDs. Convert them. + + Remove the util.h and lib/misc bits. + +commit 55a1aa0c2917bf69c919bd6b202464d8b3febee3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Remove Util_GetCurrentThreadId from VIX + + Some cleanup now that VThreadBase_GetKernelID() is available + in VIX code, we log the thread which made certain API calls. + + The thread name is already logged in our Log() implementation, + so having the thread ID merely wastes bytes. Remove it. + + (Thread IDs like this are useful for correlating with kernel logs. + Which in practice does not apply to VIX). + +commit b8912055edb714afd8c0b1124a64502c712f0f6c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Add some tweaks to make it easier to test old tokens + + At times its useful to be able to play with SAML tokens + which have expired assertions but we still care about + signing or aliasStore configuration issues. This change makes it + easy to tweak the code and run these old tokens through. + +commit 241fd29fa3352d17aacc13754de3304538d0a3d4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + Enable XML manifest by default. + + Enable Tools enableXmlManifest by default for quiesced snapshots on Linux. + +commit 3b80a0df4bac2f5de52117096a482ab3f490f52a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:50 2017 -0700 + + lib/file: Must be errno safe + + lib/file is documented to be safe about returning errno. This is true + on Window and Posix platforms. We've had a bug where free can change + errno. We created Posix_Free to protect errno but haven't used it + consistently. + + Make lib/file use Posix_Free universally. + +commit 0dd222a31a10c0591a95009e7ca7c60046b6e6b3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 94e8e7478d2528466d0eecbd29aa441f748a4235 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Hgfs Server: Fix the tools build + + Make the HgfsServerAsyncInfoIncCount to be VMX code only as the current + usage is not in the tools implementation. + +commit 3466376924a5338b3b596d8f960942e30b0ecef7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Hgfs Server: Move async request globals into the Hgfs session + + This change moves the async request globals into the Hgfs session. + They are only applicable to a session and only used during a session's + lifetime, so making them global is not necessary and means that + they take up resources when not used. + + Details: + - Move the previous globals into a structure for async requests. + - Add the async requests structure to the HgfsSessionInfo object. + - Create a set of helper functions to init, exit and manipulate the + async requests structure. + - Remove the calls to init and teardown the globals now they don't + exist. + - Add the helper calls to the session creation and destruction. + - Add the helper calls to replace adding a new async request, removing + an async request, and waiting for all async requests to complete. + +commit 93f1036f2d69c6c50780a536eb6b2a15b198c03a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Remove dead FileMacos_IsOnExternalDevice function. + + FileMacos_IsOnExternalDevice does not have any callers. + +commit 0db66edd78699e10f069476998cb3469c42da316 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 10eed7e90059f666e50a0ca4df1de2f4947bd62b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Add MacOS 10.13 to guest os tables + +commit dec55c31e7dcdbb747647123ad60cc2cde4e0635 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Avoid loading resolutionSet when support for resolutionKMS available + + Loading resolutionSet with display NULL will cause a segmentation + fault in vmtoolsd user process. This change only avoids the + SEG fault. Still need to channel the resolution/topology request + to correct channel presenting the capabilities. + +commit 4fe253f4e6234f3bb78b270c371d8fdba967ff0d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 3a9fa9be672b582088c3219420b2dfcb37b60376 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:49 2017 -0700 + + Formalize VThreadBase "Stable" and "Kernel" IDs + + Unrelated to open-vm-tools. + +commit 932781290802e9c152b219c656d18ca03bf4df43 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + lib/file: Less variation on file lock waits + + The wait time are large enough that less variance will prevent too + frequent polling. This is important due to the randomized waiting now. + +commit ffc043963f8da7e83bc091262301876ce7016a76 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Remove definition for "solaris12-64" + +commit 964e7623701cd03bd4b8529abab0a083b94e8570 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 24a6ab223b139fdc191b913d8d551ed61ca07e01 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a6ce51f170a2073b5b39680c2526de9e4de865b2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Fix Atomic_SetBit64 being miscompiled when the bit argument is a constant. + +commit d7a7fca30e47414827528163a4c96145dcd6043e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + lib/include/sha1.h: + - Clean up - change unnamed struct to "struct SHA1-CTX" in SHA1_CTX typedef. + +commit 22b146ef9a291b9c4cd8a604de3e042cec886eda +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + lib/thread: Prune a little more + + Remove automatic VThread_SetName for unmanaged threads. + + Other minor removals and tweaks: + - modify "safe" name in VThreadBase to use gettid or + pthread_threadid_np if available + - Move lib/thread name computation to child thread to remove dependency + on VThreadID in parent. + - Convert VThreadFreeID to VThreadFree (and avoid a lookup) + - Move VThreadBase_ForgetSelf to VThreadDestroyThread to + make VThreadHostDestroyThread straightforward. + - The 'priority' field had become write-only after earlier cleanups + to replace AdjustThreadPriority with SetThreadPriority. Remove it, + and some dead comments mentioning it. + - Remove unused 'signalNestCount' atomic. + - Remove two unimplemented VThreadInt prototypes. + - Remove a vacuously-true ASSERT in VThreadHostExitThread() + +commit b1c4f77f80b8ecfe3c97bd8d14b42e8543b12303 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 564668d513a4fdb595fd4440f4e640c752c24e12 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + lib/file: Add a comment on why sleeps for file locks are randomized + + The randomization prevents lock cadence issues (thundering herds). + +commit 087e74c292fcad86afa08d6a21b88cb57ab3bc7e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:48 2017 -0700 + + Hgfs OSX Server: Reinstate checkpoint synchronization and process session + + First reinstate the server checkpoint synchronization routine by adding + it into the table the HGFS server session callback table which is returned + to the transports upon initialization. These transports will then call + into the HGFS server when asked by the HGFS server manager which receives + the check point synchronization calls. + + When processing the synchronization request for the operation type - + freeze or thaw we must pass through the session information to the + activation and deactivation calls into the file system change notification + subsystem. These calls will require the session for register-unregister + any active threads generating events. This change just plumbs through + the session as the argument. Follow on changes will make use of the + session argument passing it on to the event generating component. + + Bonus here is that we can delete an unwarranted global from the HGFS server. + A to do comment is added to move the async globals into the HGFS server + session object as they should be a per HGFS session and are useful only + on a per session basis. No session then no need for them to be around and + if the session does have asynchronous support then again will not be required. + For example, if the transport does not support this behavior no need to + check them. + +commit 774bfbf5d5752b22947dd975b14734c30aec6379 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + Improve a comment + +commit a7c6fce7191365c07b1e70abee314e18295b49c9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + Clarify a comment. Spell out the units. + +commit 35683b97ced00c29b0e3f65ee50ec6740e143a8d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + lib/file: Use MIN macro + +commit 9c13bf3fb45c4ce5711cedbde11272fd3dd39511 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + lib/file: consistant usage of msec + + We now want msec to be at the end, to be consistant with our current + usage. + +commit a2165e98d3edac4f0c395549bd12a905038f9e81 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + lib/lock: msec consistancy + + We want the "msec" at the end of variables. This improves readability + and is consistant with the usage elsewhere. + +commit 8da9461f220ed391f60a78c4f0a9509c474f4d12 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + lib/file: FileLockSleeper issues + + While waiting for a contended file lock, FileLockSleeper was using + fixed values for how long to sleep between attempts. This can lead to + a "thundering herd" of waiters - several waiters all on the same + cadence. Randomize waiting to avoid any cadence. + + Waiting for a lock should wait no longer than the specified time. Fix + This. + +commit 174644096520c5cd6d26a4a9cf3d8e5a410af52a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + Fixing the UTF-8 locale dependency in CAF. + + CAF currently has hard dependency on UTF-8 locale which is + resulting in Tools and CAF failures in environments without + UTF-8 support. Modify the existing code to fallback to + ANSI C locale if UTF-8 is not found. + +commit d3491185377ec39e8031b1ffb806fe781f329c1f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:47 2017 -0700 + + VThreadID: widen to uint64 + + Convert VThreadID to uint64. + +commit de798a4a4ab0d09bb3c0366f383bf8a46bf7d194 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + TimeUtil_GetTimeOfDay reports incorrect time on Windows + + The conversion from FILETIME to Unix time was off. + +commit 8ba9c76d322b24dc56b9bf51b018a0925f9f6d1d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Unify mapping tables between VMX and VIM guest OS keys + + There are multiple places that maintain their own tables + mapping VMX guest OS keys to or from VIM guest OS keys. + Unify them to make the situation a bit less cumbersome. + + Put the mapping table into guest_os_tables.h. + The different sites use the mappings in different ways (some + code wants the VIM guest OS keys as strings, whereas other + code wants them as enum identifiers), so use preprocessor + macros to extract the data. + +commit 211e99aad3da1a9c755e30bf4cf02667ff5480c4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Save errno after kill() fails, restore the saved errno after logging the error. + +commit e1d6a45ccceb058eb428baca7d0b1a72c29c9fe5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Fix error introduced in strutil.c + +commit 3c12e7db4c252e67a1f9a8e758408a0af387850c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + timeutil.c code cleanup. + +commit 324bec1a2057ceb7d37469709ed2b8db2ca6348e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + The check for overflow in StrUtil_SafeStrcat needs work. + + Might as well avoid protential overflow while also checking for + "insane" string lengths. + +commit 9363088bda0da2ff1798fb0ac39117054cc83421 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Common source file changes that are not applicable to open-vm-tools. + +commit 7f80d52ddbe15f33b666eb429e64852becff1696 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Remove obsolete product version definitions + +commit 3b63e7702a0c945bd9a87b24ef5cfd54574227a2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Don't call FreeLibrary with NULL. + + According to the documentation and annotations of FreeLibrary, NULL is + not a legal value to pass. All other calls to FreeLibrary are + correctly handled. + +commit d8c55cda2442b948d12de3c542c3c30c2daa9926 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:46 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 765d498b9aadd37a72cd3a0f79f67dd6a878ef90 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit e5fd332b6ce8e712dffa7d8e828e3e4a47a3f063 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Common header file change: not applicable to open-vm-tools. + +commit 84cf06912d4060ce29fd7a3b765eb34917dd1501 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Remove logic for unsupported versions of macOS. + + We no longer support macOS 10.4-10.7. Remove the old logic that supported + these versions. + +commit bccd28961d9c23271126fee1a2b45c9acd698107 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Create symlink for vmware-user + + When the vmtoolsd user daemon receives a SIGUSR2, it restarts itself + by executing 'vmware-user' and terminates. This is used on upgrades, + to make sure the current version of vmtoolsd is running. + + In the tar installer, /usr/bin/vmware-user is a symlink to + vmware-user-suid-wrapper. Unfortunately, that symlink was not installed + by open-vm-tools. + + Package maintainers should send this signal to the vmtoolsd user + process when open-vm-tools is updated. + +commit 4e7e626ceef413b02c3831cc25f70be970bc9829 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + AsyncSocket: + - Fix issue where the listening socket becomes bad and the callback + function is invoked unexpectedly. + - Change not directly applicable to open-vm-tools. + +commit c85fe685b518311d3fa1f2ce44b6c7ba38500d2d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + err.h: Add missing include + + err.h is missing any include that would provide a definition for DWORD. + Fix by including vm_basic_defs.h (which includes windows.h) + +commit 05d0f730fb032f80de169318d90fb973012a9d93 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Common source file change: lib/include/strutil.[ch] + - Add function StrUtil_GetLastItem() and static functions StrUtilStrcmp(), + StrUtilStrncmp(), StrUtilStrcasecmp(), StrUtilStrncasecmp(), + StrUtilHasListItem() and StrUtilRemoveListItem(). + +commit 836575d370458bd2c34324f921d561c551a6b0d1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Remove N_PLAT_NLM (NetWare) + + Long ago, we supported NetWare. That's long since gone, but a few + of the macros have managed to survive fumigation since. This removes + all such macros. + +commit 237cb3a758d23355f559756ce159f59f6dea8c5c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Update the open source license files for Tools. + +commit b51fee38c87ecccd7774107e22b85f0eea1a7309 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:45 2017 -0700 + + Revert previous commit. + +commit f68ecb12ebc92592463c0cdcd97f50bc5abb8ea2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + lib/misc: StrUtil_SafeStrcat length overflow checking + + The check for overflow in StrUtil_SafeStrcat needs work. + + Might as well avoid protential overflow while also checking for + "insane" string lengths. + +commit ecdc55d43ab00c0a0454af1bc15a8b215f086c55 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + lib/thread: Change VThread_CreateThread prototype + + Change the VThread_CreateThread prototype from this: + + VThreadID VThread_CreateThread(void (*fn)(void *), void *data, + VThread tid, const char *name); + to this: + + Bool VThread_CreateThread(void (*fn)(void *), void *data, + const char *name, VThread *tid); + + The new prototype returns essentially the same information, with + one important advancement: we can contractually guarantee the 'tid' + field is populated BEFORE the child thread starts. This neatly + avoids all sorts of interesting race conditions where the child + starts running before the CreateThread function passes back its + return value. This style of design is preferred by operating + systems (see Posix pthread_create, Win32 CreateThread). + +commit 998f79aaf08b7d1f94693441a71c7f8dba4be34c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Don't try to use broken RPC channel + + Make sure RPC channel exists before trying to use it. + +commit 5c3e95565dc086143e1311e53f0b5cacacca8233 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Check for Xen, VirtualPC etc., only if VMware not detected + + This is a workaround to avoid random vmtoolsd crashes when running + on a VMware VM. This fix ensures that we check for Xen and VirtualPC only + if we haven't already detected a VMware hypervisor. + +commit 8dac3e7b85c8c19168c89ddae32d2e99c2b693c5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 5799596b11f1a907a35549952812bd20c48a84d5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + strutil.c: code clean up + +commit d2321f07f86157886bbfa96c05c5bf4598151696 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Atomic_CMPXCHG64: pass by value and remove gcc-2.96-isms + +commit e2247e5ba1830c5ed70153027df4834285cd1041 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Revert the previous commit. + +commit 42ac2a1eca59453870d8f09b83948f3c04c559c3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + Get rid of convertutf and bsd_printf for all non-Windows Tools + + Eliminate the use of convertutf8.c for all non-Windows Tools. + + The MsgFmt_* functions are referenced in a few utilities + related to VMware Tools. This change replaces the MsgFmt_* + with a stub. This also affects the Windows version. + +commit 8484528eef9106be5a58885b29083a8622bcdc76 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + fileIO.h: Clean up some comments + + Make the comment style consistent + +commit 9fbb5a9c0eb6aa1571689c1b960ab7acf7cb7b19 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:44 2017 -0700 + + lib/file: support POSIX O_CLOEXEC + + On POSIX systems add support for O_CLOEXEC - close the file descriptor + if the program does a variant of the exec system call. + +commit f5f0d2872ff77a586a24a8959a74e85cbf30654e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Hgfs Server: Fix snapshot synchronization callback + + Currently when snapshots occur, the VMX calls the HGFS server + manager synchronization callback to notify the Hgfs server to + freeze or thaw the Hgfs file IO activity. First, this Hgfs + server synchronization callback is called regardless of the + Hgfs Shared folders feature and server is enabled or not. + Consequently, the Hgfs server callback lamely uses a global + variable to track the server state just for this call and + returns without doing anything if not initialized. + Second, the HGFS server now requires the transport connection + in order to extract the Hgfs session as the file notification + component requires the session to allow its event generating + thread to callback to the server to register and unregister + through the transport which uses the PhysMem APIs. + + This change fixes: + - call the Hgfs server only if Shared Folders and the server + are enabled + - call through the channel manager and channel transport to + the Hgfs server + - Hgfs server session callback table is extehded with a server + quiesce callback. + - HgfsServerSessionQuiesce callback now replaces the old + HgfsServer_Quiesce exported API. + - Make the quiesce callback use an enum to the thaw-freeze op + instead of a bool + - remove the Hgfs server initialized global now it is not required + + The tools implementation of the Hgfs server code does not use this + API and thus the guest Hgfs manager and transport channel do not + implement any code which will use the session quiesce callback. + +commit 4dbe96f4970bd8878bfe3da2b2ed46c9c4ccf099 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + FreeBSD: Use the "dhclient" command to renew a DHCP IP address. + + On FreeBSD, "/etc/rc.d/netif" is sufficient to stop a network interface + when suspending a VM. When resuming a VM, DHCP configured interfaces + must be restarted with "/etc/rc.d/dhclient". + + This fix is courtesy of Steve Wills, maintainer of open-vm-tools on + FreeBSD, and Shuai Wang. + + Pull request: https://github.com/vmware/open-vm-tools/pull/142 + +commit 27a9808452e78dfb76234c8c8c983ec3ccd04dc0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Add utilZero.h to open-vm-tools + +commit 7bffaf26f46a28893e07df2a46bfdb612b8a15c2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Remove memory zero related functions from util.h + + Add a new header utilZero.h + +commit 88358a74766f2302f85d4e614a07fd07dbed9a37 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Log xmlsec1 version details + + For better debugging of open-vm-tools, log the xmlsec1 version info. + +commit 21dc0516201085e760d831d187b5232acf3a17d0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Hgfs Server: Fix a memory leak on server exit not destroying the shares + + This change fixes a memory leak on server exit not destroying the shares. + The list of shares is not destroyed and left. + + Fix this at the Hgfs server tear down by calling the shares reset with an + empty list which will cause all shares to be treated as stale and so deleted. + +commit cec1221e1a48db9e127ad271d6e7ddfc7fe27dce +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a11b7dda01aaefa63f57cbe2f15352c06f2c55eb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + CnP formatted text doesn't keep text format in Fedora 25 + + In Fedora24, the selection target name for rtf is text/richtext. + In Fedora25, the selection target name for rtf is changed to text/rtf, + which Tools did not support. + + Add support for the new selection target name "text/rtf". + +commit 99ee155b5923cc036c7412b494c36e7d7dd38f50 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Support building open-vm-tools only for FreeBSD 10 and later. + + Implemented a check for FreeBSD version and abort if the + detected version is less than 10. + +commit 6091407c4a7e191925bb1b668a99df4ca7e2fab5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Stop building open-vm-tools for LINUX systems with glibc < 2.12. + + Implemented a check for glibc version and abort if the detected + version is lesser than 2.12 (This affects RHEL5 and older generations). + + Implemented a config switch '--disable-glibc-check', which when specified, + will skip checking for compatible glibc version. + + Modified the tools-pkg.make file to specify --disable-glibc-check + while executing "./configure" for open-vm-tools. + + Note: glibc check is done only for Linux systems. + +commit 94509955865e6bef7818675761d6dbb9d83df6e5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:43 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 888d4a7a8394e4391b9abb09b3884f7e1d5971b9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Hgfs Server: Remove the register share callback and usage part 2 + + Now the function is not being called at all it is time to remove + it along with the callback table entry for it. + +commit ec6c1f40fb15ffb0d8d6658b9a99c21c706ccb59 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Dynamic socket options API for async sockets + lib/asyncsocket/asyncsocket.c: + lib/asyncsocket/asyncSocketInterface.c: + lib/asyncsocket/asyncSocketVTable.h: + lib/include/asyncsocket.h: + - Add AsyncTCPSocketSetOption(), AsyncTCPSocketGetOption() and + AsyncSocket_EstablishMinBufferSizes functions. + - Remove/deprecate specific option set functions to be subsumed + by ->setOption(). + - ->useNodelay() (TCP_NODELAY), ->setTCPTimeouts (3x TCP_... options), + ->setBufferSize (SO_{SND|RCV}BUF), ->setSendLowLatencyMode() (non-native + option regarding buffering/callback behavior). + + lib/rpcIn/rpcin.c: + services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c: + - replace AsyncSocket_SetBufferSizes() calls with + AsyncSocket_EstablishMinBufferSizes() calls. + + Common header file change: not applicable to open-vm-tools. + +commit 63b5e3c8138c8d8561f2be8391ac3dc062e6afa1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Remove BDOOR_CMD_FAS_GET_NVDIMM_FMT_CODE + + Now that our guest FW can read the NVDIMM format interface + code (FIC) from the NVDIMM controllers MMIO space we have + no need for a backdoor call to do the same thing. This + change removes the backdoor call for reading the FIC and + makes it's callers read the FIC from the NVDIMM controllers + MMIO space instead. + +commit 028854fd377698d261aad7787723e4d3db1069b9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Hgfs Server: Remove the register share callback and usage + + Remove the register share callback and usage which is an HGFS server + libray function passed back to the VMX Hgfs server manager and policy + manager. This tracked shares as they were individually added and removed. + It carried with it VMDB behavior which was erroneous for the HGFS server + share tracking. + + This API has been replaced by piggybacking on the Hgfs server InvalidateObjects + callback which informs the Hgfs server when the VMDB has finished updating + the Hgfs policy manager with shares and the Policy manager's list is complete. + At this point the Hgfs server can close any open handles on stale shares and + remove those stale shares and add new shares. + +commit f8d262a1dd1467b097b55f646ac3302531e4aef0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + lib/misc/strutil.[ch]: New functions added; not applicable to open-vm-tools + - Added functions StrUtil_GetNextItem, StrUtil_HasListItem, + StrUtil_HasListItemCase, StrUtil_AppendListItem, + StrUtil_RemoveListItem, StrUtil_RemoveListItemCase + +commit 2edd97267f299ec18b9c60cf613bef99497729b3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Hgfs Server: Fix shares update for change notification + + This change fixes UI updates of the shares which currently + update by a poorly designed algorithm which causes change + notification subscriptions to be deleted and not restored + and also unnecessary deactivation and activation of the + events generation. + + Currently, the UI updates the HGFS shares in the HGFS server + via the RegisterShare callback. This is done from HGFS VMX + policy code which handles updates from the UI and maintains + the HGFS shares. The UI calls the policy code for each share + to remove it until the list of shares is empty. It then calls + back for each share to add the existing shares back to the list. + Currently, the policy code calls the HGFS server RegisterShare + callback to delete the share as it removes them and then again + to add each one back in that added to the policy shares list. + Unfortunately, as the shares are removed any existing subscribers + for change notifications on the deleted share are also destroyed. + Furthermore, when the shares list is empty, the count of subscribers + will also be zero at this point causing a deactivation of the + file change event generator. Once, the shares are added back in + via the RegisterShare callback no event subscribers will be + restored as they are not tracked and the event generation + will also not be activated due to that reason. + + The fix is to make the shares tracking be handled in the same + manner as the HGFS server does for open handles on shares. + The HGFS policy waits until the shares list updates are complete + as the UI is done updating the shares. The HGFS policy then calls + the HGFS server InvalidateObjects callback with the new complete + list of shares which may or may not be different from the previous + list. The HGFS server InvalidateObjects goes through its current list + of shares and searches for each share in the new list of shares and + if it fails to locate it, then closes all open handles on that share. + Once the list has been exhausted, all open handles remaining will be + on shares that still exist. + + The same callback is now used for resetting the list of shares for + the current subscribers of change events and not the RegisterShare + callback which should be removed altogether. We now make sure that + the reset of file change event shares only removes shares not found + on the new list thereby only removing subscribers on those stale shares. + All subscribers for shares remaining on the lists are not deleted, + remain intact and unaffected. Furthermore, file system event + generation will also not be deactivated unless all subscribers + happen to be for shares that were deleted. + + This change is the first part which as code to piggyback on the HGFS + server InvalidateObjects callback to compare any shares in its list + with the new list and delete shares not found. The RegisterSharecallback + function code is deleted and temporarily is an empty callback. + This will be deleted along with the callback code from the HGFS + policy manager in a subsequent change. + + Details: + HgfsServerRegisterShare - is gutted and just an empty function just + logging that it is called. + HgfsServerCleanupDeletedFolders is effectively renamed to + HgfsServerSharesDeleteStale w/o the lock acquistion/release. + HgfsServerSharesDeleteStale now free the share name as well as the + share object to stop memory leak. + HgfsServerShareAddInternal is extracted from the old defunct + HgfsServerRegisterShare w/o the lock acquisition/release. + HgfsServerShareAdd acquires and releases the lock and calls + HgfsServerShareAddInternal + HgfsServerSharesReset is created and called from the + HgfsServerInvalidateObjects + HgfsServerEnumerateSharedFolders now calls the new HgfsServerShareAdd + for all shares which is used to initialize the shares on HGFS server + start. + HgfsServerGetLocalNameInfo now does not get the Shared Folder handle + from the VMX policy host, instead getting it from the existing + HgfsServerGetShareHandle (the server maintained list of shares). + This is only used for setting subscribers from the client when + using handles and not path names. + HgfsServerSetDirWatchByName now uses the handle returned by the + HgfsServerGetLocalNameInfo call. + markedForDeletion is now removed as holding stale state is not needed + since stale shares are deleted and resources freed immediately. + +commit 357f5304834d40ce8a1e97838766f34cc6d89ddd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 2ca4b125656100d69c9f7868bccbb55d0547e852 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 94028b39e929b162ebc320f455fb2f5b3af53f04 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:42 2017 -0700 + + Check timeout setting for scsi device before setting + + The rule to set the timeout value for SCSI devices was too generic, + and caused error messages, when the timeout field was set + when it didn't exist. This is not harmful, but generates unnecessary + noise. This change adds a check if the timeout field exists. + +commit 5c77f471ccb8b87dd80f3928b313480aeb8edf0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit dc81979e78e1b8f42639aeb7aaec69f7ea49eb79 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Remove convertutf and bsd_printf + + The license for convertutf.c and convertutf.h does not + explicitly permit, or prohibit, modification of the files, + and restricts use to "products supporting the Unicode + Standard". This is a problem for distribution with Debian, + which complies to strict guidelines. See details at + https://github.com/vmware/open-vm-tools/issues/148 + and + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823100 + + The code is not essential for open-vm-tools. It's needed by + code in bsd_printf.c and related code, which in turn is + needed by msgfmt.c and msgList.c. The latter code is not needed + for open-vm-tools, and can therefore be eliminated from + the open-vm-tools package. + + When HAS_BSD_PRINTF isn't set, Str_Snprintf() and + Str_Vsnprintf will fall back to vsnprintf(), and + Str_Asprintf()/Str_Vasprintf() will fall back to + vasprintf(). Under Linux and FreeBSD these functions are + properly implemented, and support %ls and %S. + +commit 131e4a60fa2d2db0c30920d826d23aec44d8ab09 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Remove Linux kernel modules + + Remove Linux kernel modules from open-vm-tools. + +commit 5034ce882ff4ab49fc4a874009ce638b377bcdaa +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + optimize clamped uadd functions + + For unsigned adds, if there's no overflow, the result will be larger + or equal than either source operand. Consequently, if there's an + overflow, the result will be smaller than both, and checking against + one source operand is sufficient. Found accidentally... + (With just one comparison, gcc is in fact able to figure out the + comparison is really the same as the add overflowing and will omit + the comparison. But it won't do this with two comparisons.) + +commit ce18b4a333b1d0e757ba3e9b3f650f5d860f35c9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + VThread_Init: remove VThreadID parameter + + With the removal of static VThreadIDs, there is no longer any need + to specify a specific VThreadID when initializing the VThread library. + We can simply auto-assign an ID instead. + + Remove the VThreadID parameter from all callsites. + Remove all VTHREAD_xxx_ID macros (except VTHREAD_INVALID_ID). + Slightly adjust vthreadBase.c to "know" that VThreadIDs now start + at 1, not 5. + +commit 92259d4832396c82d50b7a678ab294dceca34907 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Changes to guest_os.h for Solaris 11 + +commit 45212bdaa54e336f53327f571b0aad48b89c787d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Replace ASSERT_DEVEL(p) with DEVEL_ONLY(ASSERT(p)) + + It wasn't clear when ASSERT_DEVEL was enabled: was + it for all VMX86_DEVEL builds or for the intersection of + VMX86_DEVEL and VMX86_DEBUG? + + Replace ASSERT_DEVEL(p) with DEVEL_ONLY(ASSERT(p)) to make it + clear that it's the latter. + +commit 3bf9c558ae09cb518d654643ee1d435de5b3a93f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Include syncManifest.c in open-vm-tools only on Linux + + The VMTools build includes syncManifest.c only on Linux + and not on other OSes such as FreeBSD. The open-vm-tools + build needs to do the same. + +commit 1183d2b3ab8a75cb42272caacec8cc7f193e4651 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:41 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3ff49cad5bced6a1a2806a4791d42c33adfa8d25 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit b78434e97e937eb74c373c870d9c5b9e0b8296e8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + VMCI: Reset datagram buffer pointer on dealloc + + A customer was seeing a guest crash when unloading the VMCI + driver - but only when upgrading to a specific version of UEK. + It turns out, that a BH may run during module unload, + and attempt to deliver datagrams to the datagram buffer after + it has been deallocated. It turns out that the tasklet may not + have been scheduled yet, so add a tasklet_disable to guard against + this. Also, reset the datagram buffer pointer when the buffer is + deallocated to indicate that it is no longer there. + +commit e146ddb85e0f620faff25decc716ad406b4486e8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Hgfs Server: Fix a memory leak of the transport connection + + This change fixes a memory leak of the transport connection object + which was not being released on the final reference removal when + the HGFS server is being torn down. + + This separates the initialization and destruction of the transport + object into their own transport init and exit functions. Added the + lock destruct and free call of the transport object to the exit + function that were previously missing. Corrected or added some + missing logging for debugging. + + Additionally, fixed the VMCI interface to correct its tear down + order of functions which relied on the transport not being deleted. + This involved moving the draining of out of band HGFS server requests + or replies to the guest from being called after the HGFS server + transport has been destroyed. Now it is moved to the correct place, + where the sequence is now: + - disconnect the HGFS server (i.e., stop generating any new request/replies out of band, + - drain the existing out of band HGFS requests/replies + - close the VMCI transport and shared memory callbacks + - close and teardown the HGFS server session and transport + - teardown the VMCI channel itself + +commit 7e50fb73f7920a305f7c29bf957eef3ef0b4cd72 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit b7512d420ef13408426928df08d0505c46c6522a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 45c2246c6c84ff1923ac3f33d884b124530db8e6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Port X11 resolutionSet off gtk + + Replaced gtk calls with XOpenDisplay to obtain X Display. + Also moved getting the display logic (XOpenDisplay) from + ResolutionToolkitInit to ResolutionBackendInit and + corresponding XCloseDisplay in ResolutionBackendCleanup. + ResolutionInfoX11Type is used as back-end specific handle + and canUseResolutionKMS bool variable to communicate to + loader about resolutionCheckForKMS. Removed gtk header + from ResolutionX11.c and ResolutionRandR12.c. + +commit a61a342fd48b248fc794d639c6690e42a4ebc7fb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + resolutionSet/resolutionKMS: Force load the vmwgfx kernel module + + When testing for resolutionKMS system support, make sure the vmwgfx kernel + module is loaded before trying to obtain an open file descriptor to it. + Otherwise both the resolutionKMS- and resolutionSet tests might fail. + +commit 38f7adb5e37a49b6696f467efa5183d906538eee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Changes to common source files; not applicable to open-vm-tools. + +commit 5949be840ee39f0853e98741bcae30e559914f00 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 9f3c5f179ed252f31c15e71ca45c83ae33a4dc62 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:40 2017 -0700 + + Generate backup manifest files for quiesced snapshots on Linux. + + After a successful quiesced snapshot of a Linux guest, the + snapshot is reported as not quiesced. The underlying cause + is: + + - a snapshot is identified as quiesced if and only if a backup + manifest file was provided for the snapshot; and + + - backup manifest files are not provided for quiesced snapshots + on Linux. + + To fix the problem, VMTools will generate backup manifest files + for quiesced snaphots taken on Linux, and VMX will accept and + store such files. This change is for the VMTools side of the + change. The VMX change defines a new VMBACKUP_EVENT value relied + on by the VMTools change. + + Changes in this commit include: + - new source files syncManifest.h and syncManifest.c with code + to generate the manifest file, and updates to syncDriverOps.c + to invoke that code. + - a new "SyncDriver_GetAttr" interface in the syncDriver code, + used by the SyncManifest code to obtain the name of the backend + provider and whether or not it is capable of quiescing. + - makefile and configure boiler plate to add the two new source + files to open-vm-tools and tools-for-linux. + - a new tools.conf setting enableXmlManifest that specifies + whether VMTools generates backup manifests for Linux. For now, + the default value of this setting will be false. + +commit 5bb569f29cd9780872eb212fc5a6dda9d85d2711 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Add a generic interface for accepting backup manifest files. + + The interface provided by VMX to allow VMTools to notify it that + there is a backup manifest file to be transferred from the guest + is specific to Windows guests. A more generic interface is being + implemented to enable backup manifest files for Linux guests. A + new vmbackup event is added for passing to vmx the guest's path + for the manifest file, along with code for handling the event. + +commit 4a9834cedf0bc1c0303e2b078db87f8754c99564 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Spawn a new thread to handle deployPkg.deploy RPC + + Deploypkg takes some time to complete, so separating + it to a new thread helps guarantee that the main + tools thread can still respond to VMX ping/heartbeat + messages. + + Before this change, the state changes on the vmx side are: + ToolsDeployPkg_Begin + ToolsDeployPkg begin finished + ToolsDeployPkg finished copy + deployPkg.deploy + deployPkg.update.state 3 -- TOOLSDEPLOYPKG_DEPLOYING + deployPkg.update.state 4 0 -- TOOLSDEPLOYPKG_RUNNING + deployPkg.update.state 4 103 -- TOOLSDEPLOYPKG_RUNNING GUESTCUST_EVENT_ENABLE_NICS + deployPkg.update.state 4 104 -- TOOLSDEPLOYPKG_RUNNING GUESTCUST_EVENT_QUERY_NICS + ToolsDeployPkg finished deploy + + ToolsDeployPkg_Begin + ToolsDeployPkg deploy state: 4 + deployPkg.update.state 5 0 -- TOOLSDEPLOYPKG_DONE + + After this change, the state changes are: + ToolsDeployPkg_Begin + ToolsDeployPkg begin finished + ToolsDeployPkg finished copy + deployPkg.deploy + deployPkg.update.state 3 + ToolsDeployPkg finished deploy + + deployPkg.update.state 4 0 + deployPkg.update.state 4 103 + deployPkg.update.state 4 104 + + ToolsDeployPkg_Begin + ToolsDeployPkg deploy state: 4 + deployPkg.update.state 5 0 + + There are no specific changes on vmx side. + +commit 32df9c92ce5e9df85cabb7e488c5ed18faa41914 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit aabfe8a76e82644caac0d026bff2357be943ce6e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit db1c14fb0e23d0d400567ac1a90b5c4fb08b6665 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Common source file changes; not directly applicable to open-vm-tools. + +commit c68f83bfc9dad7ac2e46780b84255bf102fdc977 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Log output from network script + + Log all output from the network script to help debugging. + +commit 32c82dc60b2963924ef9f407916e17880ae20b04 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Report version data via guestinfo vars + + Set up some guestVars to report Tools version info + (version, build number, etc). + +commit f01a8f551cfd6c82ae2d851d51dcf4173493e674 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + Rename VThread_IsXxx() to VMX_IsXxxThread() + + Unrelated to open-vm-tools. + +commit 5617d9a776d51fa56f46e56e3484070cf704f8cb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + AsyncSocket: Fix lock rank violation introduced by WaitForReadMultiple + + There's a lock call that should be an unlock. + +commit 17de351b6300c16aa91ea609bfae22c71ac8fc39 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:39 2017 -0700 + + ARM: Better decode CPU Model Name + + Instead of always returning "ARM64", the CPU model name will now be the + CPU vendor followed by the core name and revisio, eg. + + ARM Limited Cortex-A57 r1p2 + + hostinfoPosix arm64 hack to always return "armv8 unknown" is removed, + and will forward the CPU Model Name. + +commit ef1e7f13ccd5878fb57f394cf709874e3dc11990 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 6c72a0e9670327ed2060ae8ca3d529f69de0a385 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + file: Report correct error message when file is locked. + +commit 7397d21db121bb3b5498a44027f990381974e1f1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Check for gdk_pixbuf_xlib-2.0 in configure script + + gdk_pixbuf_xlib-2.0 is no longer part of gdk-pixbuf2 in newer + distributions (for example Fedora 26), so it's no longer pulled + in as a dependency from the gtk devel packages. Therefore we + need an extra check for it. + +commit d50f3e6ba1e35020bcf7450701f492ba0ffb75a3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Clean up overflow NIC issues + + If we hit the max number of IPs, we just keep going + and try to add the next one. This makes for extra work + and produces lots of log spew. + +commit c85ace8f7e180929f179dea9e21097c70e2e7e82 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit e5bf6e89f1f634f00a403c9e1ae3be96534a9d5a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + MKS Thread: make VThreadID dynamic + + Unrelated to open-vm-tools. + +commit c2b6423692888f1f0534131c03c5aacc5d1632f2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Smarter handling of large numbers of disk mounts + + Instead of just giving up if we find more than 255 + mounts, expose what we can. + +commit 5965ba1d8ad2803f83771b25dc13b499a8a6c9e8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Log DRM version in the debug message. + + The additional version in the message proved very useful + while debugging resolutionKMS functionality. + +commit 834787e0887697286e63b61c643771de2de6656a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + Remove ufs code + + There is currently no use case for it. + +commit efcc77506932a563951908c5c0f9087cc0432c31 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:38 2017 -0700 + + modules/shared/vmxnet/vmxnet3_defs.h: + - Code restructure of some MACROS. + +commit 04cf8f685846a7c817072f9fcfac6f6d9618b8c5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Downgrading 10.2.0 Tools to 10.0.9 fails to start CAF. + + Create the cafenv.config file required by 10.0.9 Tools + from cafenv.appconfig of 10.2.0 Tools. + + Clean up CAF files after Tools uninstall. + +commit 3091d0b0e1143b49ba6f33d3bb2e4900c6b4c12b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e5f98a856b27e39c06b9d9244adf9e4f195f28b8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Add new AsyncSocket API to wait on multiple sockets at once + + Currently, there is no way to poll/select on multiple sockets through + the asyncsocket library. VRDMA is encountering a use case for such + functionality, so add such an API to asyncsocket. It is only defined + for AsyncTCPSocket, and is mostly just a wrapper around AsyncTCPSocketPoll. + +commit d49040684aa60e696d615ec330ea8329c134ed0e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 4c3c80df2b8c246e1441a9f34fb11b25dc344e97 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Avoid name strings other than vmusr/vmsvc in vmtoolsd command line. + + Add name checking when parsing command line. + +commit 699f7e7403fa3010a382d804806a9c5b50a38239 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit c6422b6c922a88a47e9c8121d9f45d2bb250c0b1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Change defined(linux) to defined(__linux__) in open-vm-tools files. + + Reported by open source developer on GitHub, + see github.com/vmware/open-vm-tools/pull/81. + +commit dbce6217a9ba2e33bf536437393cf6fc4bb4eaa9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:37 2017 -0700 + + Stop using deprecated glib APIs in vgauth + + Replace some static mutexes with the modern versions. + +commit 9367d3e3cf8819b198dd52cd4e1f19872efcfefe +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Fix HostinfoGetCmdOutput to return NULL on failure + + HostinfoGetCmdOutput unconditionally calls DynBuf_DetachString + along its success path. DynBuf_DetachString never returns NULL, + so that broke callers expecting a NULL return value if the command + had no output (which can happen if HostinfoGetCmdOutput attempts to + run a non-existent executable; note that this does not trigger any + of the failure paths). + + Restore the old code that checked if the DynBuf is non-empty + before retrieving its contents. + + Bonus: + * Fix incorrect documentation to Posix_Popen. + * Adjust the StdIO_ReadNextLine documentation to clarify its behavior. + +commit 15626c9d3a81d4d629902504ed7fd21d04f5e4b6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Changes to common source files; not applicable to open-vm-tools. + + services/plugins/dndcp/stringxx/string.cc: + services/plugins/dndcp/stringxx/string.hh: + - Change utf::string::toUpper() and related functions to default the + locale argument to a NULL pointer. + +commit bea370f7deb0e216206223301dfe1db974e0ffee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Update vm_tools_version.h with Tools 10.1.x update and patch versions. + + Updating the VMware Tools version information for the known + vmtools 10.1.x updates and patches. + + 10.1.6 - vmtools_prod-cpd-ep3: CLN 4984516 + 10.1.10 - vmtools-prod-cpd: CLN 5016060 + +commit f6d5355574b0342ad7ad471fbc2fbcb75bdb25dc +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Check alignment in Atomic_* functions for the VMKernel + + Unrelated to open-vm-tools. + +commit 47c77211f47644e1e999621d3974ebd09af84312 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Fix i18n symbol violations + + Fix some of the illegal symbols that are flagged. Also changed the + wrapper for unsetenv to return an int to match the glibc-2.2.2 and + later version. Tools build for FreeBSD appears to be using an older + libc so it always reports success in that case. + +commit e9c2208a3240e36e590b0be9bda8b2a7510aae2c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 8e0b9513236e4494f089cdaee641af5e80adc5c8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a4ba5b7e40c384c76cf35209bdd421f97d70e142 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 5be59c7691509e30ffc44b67f8a6eba66e141d3d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Revert the previous commit. + +commit 94702b2a09cdbad725f6e536203c4bab1bdcf9c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:36 2017 -0700 + + Check alignment in Atomic_* functions for the VMKernel + + Unrelated to open-vm-tools. + +commit f424d59444ae7718f5e47ebcd5b417df8acea456 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Re-enable ASAN for DynBuf_Append() + + The problem is incorrectly instrumented callers. + +commit 5f94953bafbbb2348ae2abe6d958828b311d1f6b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Common header file change: not applicable to open-vm-tools. + +commit f0df01ce187c5bfca5d361f45a6ca2f38a4bd934 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3525fd7385f6c8185305d20d149fa59d5ebf9c5e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + New common header file: lib/include/product.h. + Move public product types enum from lib/include/productState.h to product.h + Common header file change; not applicable to open-vm-tools. + +commit afb42f5edc9502a877d48aabaa1f8af31a959619 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a71c02a67c6a78179449d3153751584873452016 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Revert previous commit. + +commit 6320d542cb1eb9cd1fed41ff22b4b2d42cd179c9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Interpose dlopen() to only allow root-owned library + + Only allow dlopen() on library that meets the following: + - the library file is root-owened + - the directory is root-owned, and not others-writable. + +commit 5fe82108703e3c0448e9243f2b58fada8f790d2a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Restrict panic's int3 assembly to x86(_64). + + Panic could also be used for iOS. + +commit 7e2a13784c6d3cc7ef4d57957608e1bd9e8b4b59 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Delete unused COMPILER_FORCED_LOAD_AND_MEM_BARRIER + + Delete the macro definition. + +commit d484f11a6b14d41ee202c3378a2c6174aa3d4784 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:35 2017 -0700 + + Memory barriers: LD_LD_MEM_BARRIER -> SMP_R_BARRIER_R + + Delete the now unused, old macro name. + +commit 93c968d5034cbc6f6948caa5129fd5fcfb18619c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: LD_ST_MEM_BARRIER -> SMP_R_BARRIER_W + + Delete the now unused, old macro name. + +commit ba6870484de7e795b394c3bf7674f5e28c17960f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: LD_LDST_MEM_BARRIER -> SMP_R_BARRIER_RW + + Delete the now unused, old macro name. + +commit 79a815083e2ba1b2f6c03b5aa4ae5275e0416a95 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: ST_LD_MEM_BARRIER -> SMP_W_BARRIER_R + + Remove the now unused old macro name. + +commit b89f4124fd5476dbba5a9f18d9c246c5a3f3543b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: ST_ST_MEM_BARRIER -> SMP_W_BARRIER_W + + Remove the now unused old name. + +commit 996d7bdf489f968c9c49adace1c1ac0a525a4c77 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: ST_LDST_MEM_BARRIER -> SMP_W_BARRIER_RW + + Delete the now unused macro. + +commit 8e417a5ea04edece3bcd88a9a03feb822b26646e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: LDST_LD_MEM_BARRIER -> SMP_RW_BARRIER_R + + Deleted the old macro name. + +commit 8d3de0c6acc829d3f9c283abf4f107b506e95d20 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: LDST_ST_MEM_BARRIER -> SMP_RW_BARRIER_W + + Delete the now unused old macro. + +commit 1cdb544b9962def25bfacd329c8850a0c45d199d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers: LDST_LDST_MEM_BARRIER -> SMP_RW_BARRIER_RW + + Delete the old macro that is now unused. + +commit b3bf1f137b45232e7e9b2474127ba2d3e1411162 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Memory barriers + + Unrelated to open-vm-tools. + + Previously added new barriers for arm64 and x86_common, but + forgot to handle arm32. This change does that, and fixes a + mangled comment. + +commit 7c1f57a6f005d299b4254a295f6794f3e41a09b4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:34 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit c024d866ac746474487fea646f4787875e2dacdd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Remove NOT_TESTED() from EINTR handling in lib/file + + When FileIO_Read() & friends receive EINTR, they log NOT_TESTED, and + retry read. It seems innocent - until you provide your own function + to handle logging. + + Now imagine that you create bidirectional communication protocol, + and run it over the pipe. And you do logging over this very same + pipe. Application is waiting for message, so it invoked + FileIO_Read(), and is blocked on read(). Now you attach strace + to the process. That will interrupt pending read() with EINTR + and log NOT_TESTED(). This logging performs FileIO_Write() on + this very same pipe, and then performs FileIO_Read() to retrieve + status of logging request. + + If it receives status of logging request, all is good. Code + returns from logging, and reexecutes read(), waiting for + request from server. + + But if logging function receives anything else (f.e. other side + sends request at same time strace was attached), it gets queued + into internal data structures of the app for processing once + code returns to main application loop. + + Problem is that FileIO_Read() will reenter read() without + returning to the caller. And that read() will block forever: + other end already send request that is now pending in the + request list, and so won't send anything until it sees + we processed that pending request. Hang. + + There are two possible fixes: + + 1. Return EINTR from FileIO_Read(), or + + 2. Do not do any logging from FileIO_Read() + + Approach #2 is much easier, as API semantic does not change, + and currently it is broken. So there is no need for NOT_TESTED() + anymore... + +commit ba915c1445124f6369a49788b9be2e8c2886bc10 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c8200f190cffb6cf91db9d3660bc2736f66fb448 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + In DnD transport V3 check packet and payload size to prevent OOB read + or write. + +commit 11094b0656ea13eff9b88cc207a4826f6ecd47b4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Better Panic_BreakOnPanic implementation on macOS. + + There's actually a documented way to check whether a process is being + debugged on macOS. This change updates panic lib to use it. + +commit 1fedc4083703a4438bb33617e9a56bacda41fd39 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Hgfs Server: Very minor clean up of server callback table + + Another very minor clean up for final part for making the Hgfs server + callback table constant. + +commit 42494944951a72057279afb58deddfc72674a889 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + lib/include/vm_assert.h: + - Remove unused ASSERT_* macros. + + modules/shared/vmxnet/vmnet_def.h: + - Fix definition mismatch of VMNET_CAP_RX_LRO and VMK_PORT_CLIENT_CAP_HW_DCB. + +commit c20933cea62e27e30f75e8e68251627bc06a1dee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Fix tools build + + dynbuf.c and sigPosix.c are consumed by tools. + +commit 4752c44c3bd6406b9b4d829ca99c0044555face9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Changes for userspace ASAN + + This is mostly disabling ASAN for some functions and adjusting overheads. + Code, touching the guest memory, currently cannot be instrumented. + +commit 861ad9d03153c9428f21b8a8af9762230ade2ca3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:33 2017 -0700 + + Make CAF consume the same version of GLIB (and dependencies) used by Tools. + + Summary of changes- + + 1. Linux: Make the following libraries point to their Tools + counterparts by updating the LD_LIBRARY path in CAF makefile: + -libglib-2.0.so.0 + -libiconv.so.2 + -libpcre.so.1 + -libz.so.1 + -libffi.so.6 + -libgthread-2.0.so.0 + -libstdc++.so.6 + -libgcc_s.so.1 + + 2. Linux: Add a new environmental variable INSTALL_MODE = tools/standalone + in makefile, setting it to "tools" by default, to handle copying of the + required GLIB (and dependencies) for CAF "standalone" installation. + + 3. Linux: Update setupCafConfig function to add the INSTALL_MODE property + if not present already to handle build2build upgrade case. + +commit ae05d32a9303f27ff642ab39bb49abc46e3ba78b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Add constants for macOS os major versions. + + MacOS versions can get a bit confusing because there are two parallel + versioning schemes. There is the marketing version (e.g. 10.6, 10.7.5, etc.) + which is what everybody uses when discussing the OS but is very hard to get + at via code, and there is the kernel version (e.g. 10.0.0, 11.4.2) which + is what is returned by POSIX syscalls like uname. The confusion sets in + because in comments we tend to use the marketing version, but then the + code actually checks for the kernel version. + + This change adds constants for the marketing version for comparisons with + HostInfo_OSVersion(0) (the major version), which makes checking for + 10.6 vs 10.7 vs 10.8 etc. much more readable. + +commit 03b89a4c99f257e724d90eff5c15560a4f9f2919 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Add vgauth smoketest + + Provide the vgauth smoketest so open-vm-tools builders + can validate VGAUthservice. + +commit 57aac16fc9054bd20ccf004dfd09e02bdd127795 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c1ef635e08ecd4c4aafc48a480ccd651935ce1e5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Remove BDOOR_CMD_HOSTCOPY backdoor handler. + + The BDOOR_CMD_HOSTCOPY command has been under VMX86_DEVEL and is no + longer used. Remove it. + +commit 7ca594dc06fc0b129265d19c51bb367333b01358 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Fix building without ICU + + Building vgauth failed when building without ICU (with the + --without-icu option). This was caused by not using cxx + link options which are needed by xml-security, but only + enabled when using ICU. + + Also fix the warning "invalid suffix on literal;". + +commit d77b6c7ba1dc5a38e38c35c321eabe7ccbc801c1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Tools Hgfs Transport: Make the server callback table constant + + Simple change to make the Hgfs tools transport use the server + table of callbacks as a constant. + +commit 880750417a7af90ad9b510524285e2d628d9a25d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Common header file change: not applicable to oprn-vm-tools. + +commit e02005e5b01e6335b233a2ab9d15f294a46a11e5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:32 2017 -0700 + + Fix tools build + + For open-vm-tools there is code that strips off the + "VMware Confidential" part of the msgfmt.c header. When + the copyright years were updated in msgfmt.c, it broke + the pattern matcher. + +commit 4a61bffe80e57aeab0400813403c47a94e2acd1c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + Replace Atomic_MFence with architecture-independent barrier primitives + + Atomic_MFence was used to implement a full memory barrier on x86 + architectures. In an effort to clean up duplicate code, this change + removes Atomic_MFence and replaces all previous uses with the most + conservative architecture-independent barrier primitive + (LDST_LDST_MEM_BARRIER). Since LDST_LDST_MEM_BARRIER is also a full + memory barrier, this change does not affect any existing ordering + semantics. + +commit 34ff407a2ff5cbc0095fb95b30b1ba4e66f0f0c7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + Fix timesync state to be uncalibrated when adjustment is large (>60ms). + + VMtools has timesync plugin to adjust guest time to match host time. Timesync + relies on a state machine (Uncalibrated, calibrating and PLL states) to + adjust the amount of guest time to match host time. If the guest and host + time differ by more than 60ms, state machine should reset to uncalibrated + state. There is a bug currently that would leave the state in PLL mode even + if the guest and host times differ by more than 60ms since absolute value of + adjustment is not considered. This causes the time sync to happen slower than + expected. + +commit 488aea219340e6821b25fb4240791fa9e7903023 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + Specify the proper size while sending deploypkg.update.state RPC message. + + Due to a recent change, the VMX handler for 'deployPkg.update.state' RPC + ignores the message if the specified argument size doesn't match with + the string size. + + In the current code, in a certain error code path, deploypkg plugin + specifies one extra byte in the size for 'deploypkg.update.size' RPC + message. This results in an error at the VMX layer. + + Fixed the code to specify the proper string length while sending the RPC. + +commit 40ac04d8f3df4ea7eff9b890055fa565b368f4e3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + Implement ST_LD_MEM_BARRIER on x86 with a locked xor + + Microbenchmarks on modern Intel architectures show that a memory barrier + implemented with locked xor operation performs about 30% better when + compared to a barrier implemented with mfence, while providing the same + memory ordering guarantees. This patch changes the implementation of + ST_LD_MEM_BARRIER on x86 architectures to use the faster, locked xor + operation. Additionally, support for Microsoft's compiler is added. + +commit dda3fcee5a7382cdbd47e2eb5cb0af3f72b9b8e3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + atomic asm snippets: Remove unnecessary uses of "clrex" + + In our atomic asm snippets, we do not need to use "clrex". + +commit 81fec44ea5303efa27fb0f04ba06f162ffdfb2df +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + atomic asm snippets: Replace "memory" clobber with "Q" constraint + + In our atomic asm snippets, using the "Q" constraint, + (https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html tells gcc + which exact memory is modified i.e. the bytes covered by the atomic variable), + is better than using the "memory" clobber (tells gcc that all memory is + modified, effectively a compiler memory barrier which prevents compiler + optimizations). + +commit 24bb7361bb1ed63201030841282369e571490f8b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + resolutionSet/resolutionKMS: Work around DRM control node removal + + DRM control nodes were removed in linux 4.10. Work with an updated + version of the vmwgfx kernel module and target render- or primary + nodes instead. + +commit a7c41d1f862473b1fcde3c4fcb552ff5a648d022 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit dc91538f50ff7d3f3ccc8f2310f7ce79266c6153 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:31 2017 -0700 + + vm_{atomic,uninterruptible}.h: Flip the polarity of the 32-bit function names + + Initially, we only had 32-bit atomic functions, so their names did not have a "32" suffix. + + Then, we added 64-bit functions. So, + 1) We used a "64" suffix for them. + 2) We provided additional names with a "32" suffix for the 32-bit functions, for consistency. + + The hope was that, over time, references to unsuffixed names would disappear. + This change sends a stronger signal to developpers that the suffixed names + are the ones to use, and that the unsuffixed names are the undesirable legacy + ones to avoid. + +commit d1721610e10cd7cc5f1009f608d7a2b12e5bfb54 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + vm_{atomic,uninterruptible}.h: Consistency cleanup + + This change brings a few dissidents back in line with the rest of the code. + + Also deleted Uninterruptible_FetchAndAdd64(): + o It was unused. + o It provided the same functionality as Uninterruptible_ReadAdd64(), with a worse name and implementation. + +commit 9cb35ce39ee24ea40fca08a0913dac79c662cf2d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Add an error return to asyncsocket + + Change asyncsocket to return a ASOCKERR_REMOTE_DISCONNECT when a + disconnection is detected during a send attempt. + +commit 69b7e1f9423fe565b2cbe2ec784068b7f55a8247 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Include sysmacros.h directly as mandated by glibc-2.25. + + glibc-2.25 generates a deprecation warning for using 'major' + macro without including sysmacros.h. + https://sourceware.org/glibc/wiki/Release/2.25 + + This is breaking Fedora builds of open-vm-tools because + Fedora 26 is switching to glibc-2.25. + +commit b379074c3c635f684ef1630ea156eb2eefb04973 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 8afe56f5d1d33593d29b0247b0be5e2eba65d0a4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Remove FileIO_GetVolumeSectorSize + +commit a7886e7a44582fbc019e995afa2147eb0efd6710 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Fixed invalid class pointer access if VSS provider not installed + + Some customers may disable VSS support by not installing VMware snapshot + provider, which may lead to the VSS provider not being able to be + initialized, which in turn could lead to a invalid class pointer access + during complete initialization. + + This change checks provider initialization status before initialize + completer to fix the issue. + +commit c02d20001fbfd06558891fe5cf87c9aae33765cb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Tools Hgfs Transport Logging: Migrate the to common tools conf logging + + Migrate the tools implementations of the HGFS policy, server manager + and transport channels to use the common tools conf logging with the + "hgfsd" domain setting. + + This allows the HGFS server core and the server managerand transport + components to be independently logged. + + Changes are: + - Move the logging definitions into the server manager lib common header + - Add some log statements into the server manager public APIs + - Redefine the policy manager (share handling) logging to the general tools + logging. + +commit 5034d1fb0aef6455a79d719c2f97ccf7f44c831a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + vm_atomic.h: Build Atomic_uint128 upon uint128 instead of __int128 + + Atomic_{8,16,32,64} are built upon uint{8,16,32,64}. + Atomic_uint128 is built upon __int128, which is inconsistent. + This change builds it upon uint128 instead. + +commit 20a42400e5ab98c4a2a6da254968c29d748d5d58 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + vm_atomic.h: Implement Atomic_Bool operations on top of Atomic_uint8 operations + + The atomic code was inconsistent: + o On one hand we had Atomic_uint{16,32,64,128} basic types, on top of + which we auto-generated more elaborate types such as Atomic_Ptr and + Atomic_Int. + o On the other hand we had no Atomic_uint8, we had Atomic_Bool implemented + as a basic type, and we had CMPXCHG1B (based on uint8, defined for + vmkernel and vmm only, with an x86-specific name) that was implemented + similarly to Atomic_ReadIfEqualWriteBool (based on Atomic_Bool, defined + for everybody, with an architecture-neutral name). + + This change brings a little bit of consistency: + o It defines Atomic_uint8 as a basic type. + o It auto-generates Atomic_Bool on top of it. + o It deletes CMPXCHG1B. + + Also added a void * argument to AtomicUndefined(), which is used to + "consume" function parameters to prevent some compilers from warning + about unused parameters. + +commit 92a2f1e908e7e132eea2beba57926ac2fee34902 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:30 2017 -0700 + + Revert the previous commit. + +commit 3e732d788ef472bdf07dc53a32bc2c3b271a1ee5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + vm_atomic.h: Implement Atomic_Bool operations on top of Atomic_uint8 operations + + The atomic code was inconsistent: + o On one hand we had Atomic_uint{16,32,64,128} basic types, on top of + which we auto-generated more elaborate types such as Atomic_Ptr and + Atomic_Int. + o On the other hand we had no Atomic_uint8, we had Atomic_Bool implemented + as a basic type, and we had CMPXCHG1B (based on uint8, defined for + vmkernel and vmm only, with an x86-specific name) that was implemented + similarly to Atomic_ReadIfEqualWriteBool (based on Atomic_Bool, defined + for everybody, with an architecture-neutral name). + + This change brings a little bit of consistency: + o It defines Atomic_uint8 as a basic type. + o It auto-generates Atomic_Bool on top of it. + o It deletes CMPXCHG1B. + + Also added a void * argument to AtomicUndefined(), which is used to + "consume" function parameters to prevent some compilers from warning + about unused parameters. + +commit 93efbb2335349fda6587cda662a389b8b99724b4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Accelerate some Atomic_* operations + + Unrelated to open-vm-tools. + +commit 04af878bf5b1c56a9513b606895c41c46def687c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Hgfs VMCI Transport: Part I fix the shared memory interface to not assert + + THe HGFS VMCI transport uses the shared memory access functions to extract + HGFS protocol packets for the HGFS server processing and for returning results. + This interface recently changed to add thread tracking for these operations with + the addition of register and unregister functions. + + The HGFS transport interface was missed on the initial change and hence now triggers + an assert as the register function call has not been made. + + This is the first part of a change which addresses the assertion failure by adding the + register and unregister calls for the HGFS VMCI transport interface which uses this + shared memory. + The calls are part of a set of callbacks provided by the supported transports to the + HGFS server code for the VMX and tools. Since the backdoor transport does not make + use of the shared memory and access calls it just sets the function callbacks to NULL. + This is done for both the VMX backdoor channel and tools backdoor channel for packets + routed into the HGFS server. + + This change does the following: + - Adds the register and unregister callbacks to the channel callback table. + - Modified the VMX VMCI channel to add the register and unregister callbacks and initialize + the callback table with these new functions which are then passed to the HGFS server. + - Modified the VMX and tools backdoor channels to NULL out the function pointers for the + register and unregister callback functions. + - Add the Hgfs server directory notification callbacks for register and unregister which are + termporarily protected by ifdef statements as they are not yet called from the directory + notification component. These simply callback to the channel register and unregister functions + to do the real work if present for the channel in use. (Only VMCI will use this.) + +commit 3393f1082b454052a37e33f241e6ceb20fcb29f2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Hgfs Server: Clean up logging macros and enable Hgfs Server tools logging + + The HGFS server logging macros are scattered throughout and repeated + in each source file. This makes it difficult to modify between the + VMX implementation and the tools. The tools side suffers currently and + is thus hard to debug. + + This is the first in a couple of small changes to clean up the logging. + + First the cleanup by moving the server logging statements for LOG to a centralized + private header file for the server code and not repeated in every source file. + + Second, move the HgfsServer LOG from hgfs to its own HgfsServer setting. + New VMX file setting is: + Loglevel.hgfsServer = "10" + + The current existing setting of "hgfs" will capture logging for the VMX + such as the HGFS manager, policy and transport interfaces (VMCI/Backdoor). + + Third, the HgfsServer LOG statements for the tools builds (which go into + both instances of the vmtoolsd sevice/daemon) and the upgrader application + are now mapped to g_debug and Debug function calls respectively. + This now allows the tools configuration logging to set the following which will capture all + the Hgfs server logging: + hgfsServer.level = "debug" + + Follow up changes will be made to check the tools backdoor transport interface log setting + which currently uses something like: + hgfsd.level = "debug" + +commit 1cb088a145faa1db071fd71f82a46f8398e04682 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Remove LISP in vm_{atomic,uninterruptible}.h + + Unrelated to open-vm-tools. + +commit c04c7f646558a39445d2348dd99beec90ad587a6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Add Util_Memdup(); replace DynBuf_AllocGet() calls with Util_Memdup(). + Remove Util_CombineStrings() and Util_SeparateStrings(). + - lib/dynxdr/dynxdr.c + - lib/include/dynbuf.h + - lib/include/util.h + - lib/misc/dynbuf.c + - lib/misc/utilMem.c + - lib/user/util.c + +commit 166ec44767193a5f2c6430effe56ac83fccc9c74 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + vm_{atomic,uninterruptible}.h: De-duplicate asm snippets + + Unrelated to open-vm-tools. + +commit e2ac716f06f7343f69b2313f2c2b07d03fda7bd1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + Revert previous commit. + +commit a22be75ad0fe2426dec3edcf77397b35e1aa4255 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:29 2017 -0700 + + vm_{atomic,uninterruptible}.h: De-duplicate asm snippets + + Unrelated to open-vm-tools. + +commit 549d415899e788f110b4b591240166feac5ef148 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3787bcd2f4a9855e4776d772b82a86e8b389bc34 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + lib/log: Remove GuestLog_* declarations from log.h + +commit 4d65be46b0eab5641bdad4ee3b50ff9cdd35e4ce +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 11c8e52f1f4032eff096cc0ba6aadfacae2ed0d3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + lib/uuid: UUID routines can fail + + If a UUID routine can fail, make this so. Document this and make it + clear what the failure indicator is. + + This is the first step to having the UUID routine caller handle an + error. The next steps require visiting the callers and plumb error + detection. + +commit 8d7ff7f20313100863e48f4e4ceaf6af020076a6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c94d3ba624d5f3911977b028148357c178c68d8b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + lib/lock: Make MXUser_CreateSingleton* an inline + + This will speed up the common case nicely, protects type safety, and + provides data encapsulation. + +commit a418e3a9bf2bdb32cc86b295319024e3d6f3a128 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + Revert previous commit. + +commit 881b9938c8d89d2fa15911aa34cf512393ec92a1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + lib/lock: Make MXUser_CreateSingleton* an inline + + This will speed up the common case nicely, protects type safety, and + provides data encapsulation. + +commit 181f8877e93ec215cfb24a2c23041371e5e5da89 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:28 2017 -0700 + + Map certain PAM errors to VGAUTH_E_AUTHENTICATION_DENIED. + + VGAuth maps most PAM errors to VGAUTH_E_FAIL. As a result, + some authentication failures result in error messages reporting + general failure rather than authentication failure. To + provide more useful error reporting, this change maps most + PAM errors to VGAUTH_E_AUTHENTICATION_DENIED instead. + +commit 025158629d36851a1a190abd3427747e41842aa2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3446664945da9e57031fad8892b43b2b5a6ab76f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + lib/asyncsocket/asyncSocketBase.c: + - Avoid infinite recursion with ASOCKLOG() and DecRef. + + lib/asyncsocket/asynsocket.c: + lib/include/asyncsocket.h: + - Fix race between AsyncSocket_DoOneMsg and the read callbac.k + + Changes to common header files: not applicable to open-vm-tools. + +commit d014389df605a45b282bb2cc55334c7eecb487c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Exclude non-directory and non-existing paths during quiescing. + + A stale mount point or a special path that can't be opened + could break quiescing operation in the Linux guest. We need + to tolerate such cases by skipping such paths. + +commit 1285fffabe27c98ab90012c5d89fd2d17bd48606 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Make AsyncSocket_Close() idempotent; move dec-ref out of AsyncSocket_Close(). + + Changes to common source files; not applicable to open-vm-tools. + +commit 8cf4ff17a7f7f687a55075f67f8988bd45950704 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Stop defining Atomic_MFence() in cross platform code + + No functional change to open-vm-tools. + +commit 8bc03fbb6c41be9f501b409a8391af5d63ecebdb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit d8f465ade3ffd332017dc367fea8df806348f2d0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit a77e97df5b8145f29cb097bced90f7d91e2ff548 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + Add Posix_Free and try harder to avoid clearing errno + + free() can clear errno. Apparently POSIX will prohibit that + in a future version of the standard; in the meantime, add a + Posix_Free function that guarantees errno preservation and + start using it. + + Similarly, make Util_ZeroFree, Util_FreeList, etc. also + preserve errno. + +commit 4ce5f44e0bd0789f65fe4710df5293e71eb6d1c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:27 2017 -0700 + + ProductState: fix indent + +commit 1aaa5e267bb500a77a2d3771e780ffb09134fc10 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Allow enabling or disabling timesync multiple times. + + Toolbox cmd sends a presumed old value for timesync GuestRpc + when enabling or disabling timesync. VMX side expects the guest + side to be aware of old value and therefore errors out whenever + guest repeats the operation. Previously the implementation was + silently ignoring the error. + + Avoid sending the guestRpc to enable or disable timesync when + it is already in the desired state (enabled or disabled respectively). + It is optimal and also avoids the unnecessary error. + +commit 77c47a809b27a6b15d7c5bec739fd33983ceacd1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Fix whitespace in localization file + +commit 7cbc6d60863ef0b02f15814178ef2f318fcf697c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Fix build breakage introduced in hostinfo hypervisor detection changes. + + ARM builds are breaking because Hostinfo_HypervisorPresent is defined + but not used [-Werror=unused-function]. This change defines + Hostinfo_HypervisorPresent only for i386 and x86_64 architectures. + +commit 2bf0056a956888da2aeb07f62b4ae05f5cb5427e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Hostinfo hypervisor detection changes. + +commit f639109e1e33718f9ed6eddb614aa6fc018ded99 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + More cleanup of productState.h + +commit 71d4840904ff0cb97f6bfb38a7b7295aa11dba73 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Clean up productState.h + +commit da6d3a5187e285bebcb2c7dbe2e5902e0b1c49b9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit b5c16034cf33adda41d4b970dbf72ee25581db4a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + HgfsServer: Rename the directory change notify callback to be more consistent. + + When setting a directory notification request we pass a callback for receiving + directory change events which is currently poorly named. This simply renames + the callback to be HgfsServerNotifyReceiveEventCb. This is being done for + consistency and clarity when called by the notification component. + +commit 5188c85f06c061a657809eb5a705a8da771ced0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:26 2017 -0700 + + Disable building VGAuth, deployPkg, grabbitmqProxy by default on non-Linux. + + VGAuth, deployPkg and grabbitmqProxy are not supported/tested for non-Linux + guests. Tar installer does not even install these components on these guests. + In order to avoid having non-Linux open-vm-tools users (like FreeBSD) go + through disabling these manually, use the correct default in configure script. + +commit c1eb3bb5e7fbff13156d05a037bf652cf2bdc384 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + Fixes for VThread change + + Two fixes for build issues + - numVCPU.c: Windows compiler apparently doesn't like empty + initalizer lists. Fill in with a value. + - vthreadBase.c: when VTHREAD_INVALID_ID went from -1 to 0, + missed some adjustment code in VThreadBaseSetLocal and + VThreadBaseGetLocal which "adjusted" the value by +1/-1 so + default-zero would work correctly. The value no longer needs + adjustment. This did not impact Linux because Linux uses + have a thread-local cache which returned before this slow path. + +commit 2263933eb6569de38dd523ffab0786d237039502 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + VThread: change VTHREAD_INVALID_ID, move VTHREAD_MAX_THREADS + + Two tiny but wide-ranging changes. + - Now that there are no remaining users of VTHREAD_MAX_THREADS outside + the lib/thread library itself, reduce the scope of that declaration + to vthreadInt.h. + - Change VTHREAD_INVALID_ID to a value of 0 instead of a value of ~0. + (And correspondingly, bump the ~4 hard-coded VThreadIDs that remain). + This reflects that the ID may now be default-initialized. + +commit d218f7a6c23c1c88b4f92ddaf1f6fbfb554cc115 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + VThreadBase: move TLS macro to header + + Detecting thread-local storage support would be helpful in lib/lock. + Move the detection logic from vthreadBase.c to vthreadBase.h. + + Bonus cleanup: inline VThreadBaseSetNameRaw + +commit ecc7259e47548e13189a79544fc66324d87e00e2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + Move VThread_CurName() entirely to thread-local storage + + A previous change switched VThreadBase to store thread names in + thread-local storage on most platforms (all except mobile). This + change is the follow-up: removing the old storage location for + thread names. + + Briefly, this change removes the "name" field from VThreadBaseData and + handles all the fallout. That's mostly straightforward, though + lib/thread ended up storing a thread name in the "reserved" thread + structures - this is mostly so the name passed to VThread_ReserveID + would be preserved until VThread_CreateThread is called. + + After this, vthreadBase.c complexity only remains for VThreadIDs, which + is the next step of this effort. + +commit d17b458c340f76112707ede1e277b575e6e4301b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + Check the RPC return value in timesync enable/disable commands. + + toolbox-cmd timesync enable/disable commands always return success + even when the command failed. Added a check for the return value of + the RPC call and also print the error message using a generic + message which required renaming existing "disk.wiper.error" key. + +commit 58279b25999003b34eed8553732ea6239c1b819a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + VThread: put thread names in thread-local storage + + Next step in the "stop allocating per-thread memory" effort. This change + moves thread name storage to thread-local storage. (VThreadIDs are + the hardest and will come last). This is also only half the work; a + it adds new storage but does not remove the old storage, which was + left out to keep this change simpler. + + For platforms that have thread-local storage, the implementation is + pretty straightforward, though initialization is inherently lazy. + + For platforms lacking thread-local storage (at this point: iOS and + Android, see comment in vthreadBase.c), life is much harder. Added + a very large comment contemplating different solutions and + ultimately concluding that unnamed threads on such a platform will + get a best-effort (read: racy) name from a global buffer. Note that + threads which are explicitly named WILL get a (non-racy) name, but + it requires an explicit naming attempt. + +commit ff41cba8ec3e90f7c1367f524defeaeb3bce2bff +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + hange to shared header file unrelated to open-vm-tools. + +commit 8828236506e107831d6456d39f60f36b5e02632b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + fileLock.h: fix comments + +commit a391909df76d7e94e7ec768b5946d448dc4ce55b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:25 2017 -0700 + + Multiple changes: + lib/file/file.c: - Add new function File_ContainSymLink(). + lib/file/filePosix.c: - Add new function File_GetMountPath() + lib/include/file.h: - Add new function declarations. + + lib/include/dynbuf.h: + - Clean up documentation. + - Rename DynBuf_ConcatString() to DynBuf_Strcat(). + - New inline static function DynBuf_GetString(). + lib/misc/dynbuf.c: + - Clean up documentation comments. + - New function DynBuf_DetachString(). + lib/misc/hostinfoPosix.c: + - Utilize new DynBuf functions. + lib/misc/strutil.c: + - Clarify documentaion comments based on DynBuf changes. + lib/misc/utilMem.c: + - Adjustment to comments. + + Common source file changeis; not applicable to open-vm-tools. + +commit 5beba526e988e6c8605509343df2c58b50b45cd0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Update copyright year for recently modified files. + +commit 009d683ad725f34a0d7e497e6fa7d406af428847 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Bump the VMware Tools update release to version 10.1.5 + +commit ccd1627ba7e4581a4066c99e6a76aa295b8fd7ba +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 566c7114a43b73431ca9fca31658d38884e0b316 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + vmci changes to enhance void functions to return errors + +commit 7cf255f467e45b1613c89e489ca85d26d80e956a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit da695443ecee6103552d44a0b174f00d24881372 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + vm_basic_types.h: rename macro IsBool to IS_BOOL, remove IsBool2. + +commit 577ebaddbcfed70548c5bea89ff74f40d9a9d1cf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Update tools copyright to 2017 + +commit 545b02d45b27c392f9c4046f3043d19b5da82fe0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Change ISO mapping for centos and oraclelinux from frozen ISO to linux.iso in gos table + +commit 64c3d03340e7ef1d2694b7dac36d4f5b7179ad91 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:24 2017 -0700 + + Tools Daemon: Do not use kernel client mount HGFS when FUSE unavailable + + When FUSE is not installed in new OS versions that are kernel 4.0 and newer + the vmhgfs-fuse client is unavailable to use. Previously, the mount RPC handler + would fall back to mounting Shared Folders using the kernel client. + This really should not be done as it would entail the user running with an + untested vmhgfs kernel driver client or worse the driver fails to build. + Instead the RPC should really fail to mount. + + The RPC Mount Shared Folders should only mount the Shared Folders using the + kernel client when FUSE is not supported by our HGFS FUSE client i.e., when + the Linux kernel version is older than 4.0. + + To check for these conditions the vmhgfs-fuse component is run with the enabled + option which returns with success for enabled, 1 for not enabled (older OS kernel) + and 2 for newer kernel but FUSE is missing. These return values should be checked + and only if value 1 is returned then the mount using the kernel client should be + attempted. Not as currently done with an unsuccessful result of 1 or 2. + This matches the installer which does the same check. + + This fix is related to a bug which came about due to a user custom building + and installing a newer kernel 4.0+ on top of a 3.x kernel with tools, and without FUSE. + When the VM was rebooted using the 4.0+ kernel and running tools config script the + script will to try and use the HGFS kernel client. + The tools daemon RPC handler to mount the Shared Folders will also use the kernel + client, too, in this scenario. + This is bad as the HGFS kernel client is running untested by VMware. + Both issues need to be closed, this change addresses the tools daemon RPC handler only. + +commit fa7d640c18bb421159d6749c83eba8e8372a6519 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + disklib change unrelated to open-vm-tools + + On NFS, provide a way to revert to direct-write method for descriptor updates. + +commit e1f94428ec7fd468b7f316bd5a09bd839428bf2d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit f543bb5ed11b393065d9449f7f5a34653cd0faf0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + Common source file change; not directly applicable to open-vm-tools. + +commit c2d88806b6c12fd074d5eeb8c3b5be6282774d4e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + Remove TICKS_TO_USECS and USECS_TO_TICKS from poll.h + + Back before tickless kernels (which we now always require on Linux), + there was a 50Hz-200Hz kernel "tick" for timekeeping. It is no longer + used in our code. + +commit f7ada47b69f78b665325d633e7e45fa25bdc1232 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e8b47cd8ea1af1f30a1a2fdfc45d41e7a0a3b992 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + pollInt.h + + Mac compiler is picky about an int->enum conversion, and requires + a typecast. + +commit 4a8aecf2d148ce11afbad939beb7b629a8970263 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + lib/poll: Trim PollClassSet + + We no longer need per-VCPU poll classes, trim PollClassSet down to + a non-array size. + + Tweak a few pollInt.h algorithms so that compile-time-constant + PollClass values can be constant-folded. + +commit 73fe327f66448de81c324093a5d6fabd431f567e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit d6b169cc5ec51fef82127cd64aa155faf6dd695e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:23 2017 -0700 + + VThread: some thread-local storage doc updates + + '0' is a safe default for pthread_key_t for all platforms which + still use pthread_getspecific() instead of using __thread. + + This change updates the documentation in vthreadBase.c, and + slightly simplifies the pthread_key_t initialization logic. + +commit 124f09fedf4ea14b1c9817ddd3a72823c79eea50 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c00e009050f59d450eebcadf4db7f8d4f93d8533 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Update guest OS strings in guest_os.h: + - Update "Other Linux 3.x kernel" to "Other Linux 3.x or later kernel". + + Add checks to services/plugins/dndcp/dnd/dndCPMsgV4.c to validate packet + and payload size to prevent out-of-bounds read and writes. + + Correct the requestNextCmd parameter used when asking for the next piece + of a big binary transfer in RpcV4Util::RequestNextPacket(). + + Common header file change; not applicable to open-vm-tools. + +commit ac62637033af811fb3c9ac433ecc83ab1c9b03ff +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Fix the recursive inclusion for vmtools_version.h + + Fix the recursive include file complication for + 'vmtools_version.h' when the new tools component is consumed. + + Add necessary macros to check and include the tools header file + only if it was not already included. + +commit 472477d674909ac24767dc1441187f790ce8d31b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Consume VMware Tools Header files from Tools build. + + The 'tools' build component publishes the VMware Tools header file as + 'vmtools_version.h'. All products / components which consume 'tools' + should be built with the header file published by the 'tools' build + instead of the one archived in the include directory. + +commit eb1375c6212d49f1d35bf5895b235b4a56dca851 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit 8e9a9eb20b70820f5c5d091db37a7d93c0653932 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 3b84457bab61db9402404bcc3eff6fced9339dc6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 02575ca8d15904552aa3e836978a59a124b862e7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c5732c9b32f53d29b64a8b4b20620788a9fa6e3d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:22 2017 -0700 + + Add VMware Tools version 10.1.1 to the version history. + +commit 47a8b6dce4f39c822c5371225adc7d8017a2918f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 847f522f678d7ae4a894eed5dcaee0504ff2044c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Fix comment. + +commit 87f0f71f9929b29fb0c9b4643d92622b1a58a69c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Add alias for 'verbose' for vgauth logging + + People keep using 'debug' instead of 'verbose'; make both work. + +commit 5d4fb852891e7fc0944d49dc11b4ec3b7fc4b1d1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Improve debugging + + Clarify some debugging messages. + +commit 981cdc84c1903c259b2cf791b5c3903354f9bc5e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Add -h support to hgfsclient + +commit 63fb12f0d7fc5e0d22c9c6b9a8185367e7a8247d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Improve usage for rpctool + +commit 5dfef556fa4220a87c67177c3d3a82c1cd74bc5f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + add -h/--help for xferlogs + +commit 39ebc8c154c54e4d467e267ce08f8ddbfdabd4b6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Common source file change; not directly applicable to open-vm-tools. + +commit 79fa1cd8c12b7ecee95785aecd141f5cd57267ee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit c3d4bcc3ddb52b0c5875f7bf429c996ebe8921e5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:21 2017 -0700 + + Enhanced log messages and a few new log messages. + +commit 7a32f21bb655be311de1eaac658f332245a9c5a0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Thaw filesystems if the snapshot commit message to VMX fails + + If it takes a long time to freeze filesystems, vmx may timeout the + snapshot operation so the commit fails. After this happens we should + thaw the frozen filesystems. + +commit 2bb835b72b2e9071a8ad9547deff0515d015849f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Don't try indefinitely to kill a process + + Some processes just can't be killed, and if guestOps + try, Tools will just get stuck forever. + +commit 09e467656e1faa49034f314878548bec870894f5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e958a883452adff46d788bdd51518d859c48d556 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit afff26f7e749a416483c59431f17f09d311bac2d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit af8cf1d9864d41617dc1e53cc1106c71dfbcd8d5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Add an ASSERT + + The issue is classified as "Intentional" since the value in question + will never be negative in practice. Add an ASSERT to make this clear. + + While here, add two missing function entry g_debug statements. + +commit 5a6248591c5c7b02c0d32efe117814a680db4d06 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Remove several LoadLibrary calls + + All the callsites in this change use LoadLibrary to + work around functions not being present in Win2K or WinXP. + We no longer support those platforms, so can link directly + to the correct functions w/o dynamic loading. + +commit 5eadbaf0b029c4ba7b60ae2f06e80dc9a2f3346f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e0addb1131dc3ce9ec3aa6c32c29285893b3eec3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit dc70c048c4006741b4878b4e8c61276ad3490f35 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:20 2017 -0700 + + GOSTable: Add basic support for Solaris 12 + + Add support for Solaris 12. Split out Solaris 10, 11, and 12 explicitly. + +commit 751a92ec8f2781caa5e9da96ab11e5b28d9ae142 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + lib/file: consistent ASSERT policy + + ASSERTs on pointers are against NULL + +commit 5ad8a6869b293d8c8fb6276d227e12dbb5563d32 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + lib/file: Unable to perform file rotation in the root directory + + This was caused by improper detection of the root file system. + +commit 2b7bbda895a221e26424fe3a09147cd3fcccb8ab +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + lib/file: some cleanup + + Line things up; style made common + +commit d3bf42683a887081fca903a70666685a581c76ef +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Change to util_misc.c to delete unused variable. + +commit 903d5ddf13cf3feab01a80c37d0681985b0162ca +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Fix the help message for --disable-xml-security-c option. + + The help message printed for '--disable-xml-security-c' option is wrong. The + existing help message is best suited for '--enable-xml-security-c'. + + 1. Modified the help message to show the option as '--enable-xmlsecurity' + 2. Modified the option name from --xx-xml-security-c to --xx-xmlsecurity + in order to maintain consistency between --disable/enable and + --with/without options. + +commit 794d2d4626115a23aa7d1ff6436d6de6abb86b26 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Add Atomic_ReadIfEqualWrite128 + + This enables atomic CAS of a 128 bit entity. As gcc >= 4.6 already + provides intristics for it, the funciton is just a simple wrapper, + and built only for those compliers. + +commit 57612be42c1e13a178e4fcf4581246b8420aa192 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Revert previous commit. + +commit 934252b4d48eb69c3466fac8fe49305308c7f228 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Add Atomic_ReadIfEqualWrite128 + + It enables atomic CAS of a 128 bit entity. As gcc >= 4.6 already + provides intristics for it, the funciton is just a simple wrapper, + and built only for those compliers. + +commit 416e2c5a0d4459ef63d05eb23e514e18532a6baf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:19 2017 -0700 + + Changes in file.c File_GetSizeEx() to be 64 bit compatible and treat the + size of temporary file that disappears between the File_ListDirectory() and + File_GetSize() calls as size 0. + + Common header file change; not applicable to open-vm-tools. + +commit 15e43152056346d3490d22d9a13e5018bea4f4b0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Hgfs Linux: Fix mounter versioning constants + + Currently, to allow for the mount information structure, which is passed + from the user mode mounter application to the Linux and OSX HGFS kernel + mode drivers, to be modified and support backwards compatibility, the + structure is versioned. However, the version field uses a badly named + constant implying it is the HGFS protocol version. This now clashes with + a new enum for the HGFS protocol version added for tracking and reporting + the protocol version in use. The mount information structure version + should have the version constants named for their intended purpose + e.g. HGFS_MOUNTINFO_VERSION. + + This change modifies the contant and uses an enum. This effects the mounter + and HGFS kernel and OSX kernel mode components. + +commit 8fc9d9d5b8308134115665168355f82ef4536a68 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Remove SAML bypass from vixTools.c. + +commit 76c0d8f2f48560d74f11ae6fdb37a5ff535dba6b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Build resolutionCommon when KMS is enabled + + When ./configure is called with the '--without-x' option, + the resolutionKMS plugin failed to build because disabling + X disabled resolutionCommon as well. This changes enables + resolutionCommon when either X or KMS are enabled, or both. + +commit f36f5da9f0a1134325495872f8853e01cadf51ad +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Fix help messages related to xerces and xmlsecurity libraries. + + When configuring open-vm-tools, if the system doesn't have + xmlsecurity and xerces libraries, the 'configure' step stops and + gives a hint that the user should try with '--without-xerces-c' + and '--without-xml-security-c' options. Those options are wrong + and the right ones are '--without-xmlsecurity' and '--without-xerces'. + + Fixed the configure.ac script to print the proper '--without-xxxx' + messages in the warnings. + +commit 9a29c78975c870a2bf2bd12213c4f7e3acbbd23a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Reset gGuestInfoLastGatherTime on channel reset. + + Reset gGuestInfoLastGatherTime on a channel reset + to avoid unnecessary warning during resume and snapshot restore. + Also rename global variables vmResumed -> gVMResumed and + guestInfoLastGatherTime -> gGuestInfoLastGatherTime. + +commit bcd6bdc0c64ee3ea306598d2be9bfaf468e69100 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + uuid.h: style changes + +commit 907a656a708c8730f3a98d5c34ea7f1bab6fd187 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit f20c79b5f779cd0910c57aaa744b9a5823173f00 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 01292c6c69dc514ada450a8decc3b1aa733e7903 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Hgfs Protocol: remove unused constants for version + + Create a new protocol version enum for subsequent use and remove the + unused constants and one misnamed clashing constant. + The misnamed one for MountInfo will be fixed in a subsequent change. + +commit 614afdd309e71ddfcbab349c3c135822cb048cdb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:18 2017 -0700 + + Remove extern "C" + +commit 48cc781074c88ed5347ee0a809f2e1d22c9fee7d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + lib/file: consistent style + +commit f119378a1b745873c8ae0d3183d47ff65fad9f6b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c8497284a62807fc69955681f24ca1d16bb82ffa +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Bump Tools version to 10.2.0 + + Bump the Tools version to 10.2.0 for the next feature release. + +commit c713911ec2d41e845e18293d73b059f0f7190008 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Extern "C" + +commit 9e4713f300302650581ae6223e9fc06e556d7996 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Minor cleanup in public/backdoor_def.h + +commit f8f76e2237254d56775fcc99f27542a93e1b005a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Fix build error in message.c + +commit e29770d0d0cac4abc65b35102abadece597d04cd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Remove extern "C" + +commit 805301a3caf702b2b6e57cb790565f2872934808 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Remove extern "C" + +commit 29052188e4874e3cbb035a59d7027a4304af49c3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:17 2017 -0700 + + Remove extern "C" + +commit 1213229802046c9f1cc57811546f6b512e4759e8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Revert previous commit. + +commit 5e9ecc4923fb6043c9e1ca94b87cf2fca1788c7f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit 92e764dc82ee0195e0a4fa2a3d5e2d0dbe252b6f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + lib/file, lib/misc: style commonization + +commit 63237e872772c61299c423123cb41373c35a76ea +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + lib/file: style commonization + +commit bdf4795f81c2f17b9918917b39dbe11363059bcb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit da40ed7745a5173953a3be5d939825e4b105db88 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit a315228823edb6391294f8e55b27d42c8cd17fa0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit d82b1ff5363b81a66575fbc92db07839aa31d22f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit 6d2db8c281212a4ae0e55bde487d0ad7f8bed969 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit 73e7e44715c615c56c28589642ec579ca063297f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Hgfs FUSE Client: Improve write error log message + + A simple improvement to provide a more complete error message when + an error occurs writing data to the HGFS server. + +commit 1b4051b027a2b4c7743f8d81b92dd04676182c0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:16 2017 -0700 + + Remove extern "C" + +commit e4e0670e746b892da52ae7446e7fc526caf8be61 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + lib/file: style fixes + + Some changes were against the style of lib/file. Fix this. + +commit aa84e68d0b85662725f54108efb77addfc2b1afd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Revert previous commit. + +commit 602a113ec5931fb806d7831336d8f62bdcec1c8e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Uninline CodeSet_Utf8FindCodePointBoundary + + It's a bit too big... + +commit 31162d6d147a2a2c3cd58f70c29a4a4c88c724a4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Hgfs FUSE client: fix broken attribute caching on writes + + The FUSE write implementation incorrectly invalidated the cache of file + attributes. The return code for the write operation checked for only invalidating + attribute cache if the result was zero. However, this result is negative for + an error (in which case the cached attributes should not be invalidated) and anything + else is the number of bytes written. + + The fix for the broken attribute caching on writes is made to check the result + for greater than zero so any success. If no bytes were actually written we take + the conservative approach of still invalidating the cache as so all the files + attributes for that file will be reset in the FUSE client. This should be rare + at best. + +commit 2f852bc476c65815244016ce379c46127977a98d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Fix typo in open-vm-tools OSL. + +commit edf9be0fa0c0037292daebba2b79b625b68f42c2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Set up pid/socket directory earlier + + /var/run/vmware is used for both the sockets and the + pid file. In fresh open-vm-tools scenarios, it tends + not to exist when we need it for the pid file. Refactor + the code and make sure it exists soon enough to be used + for the pid file. + +commit 6c1f7f329400177030f0b9e1ac2554da72dde242 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Use realloc_n instead of realloc + + Now that we have a modern glib, use g_realloc_n() since its a bit safer. + +commit 5979cbda3b735737eab3569403bb21dea84ecb61 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + Update the Open Source License Files for Tools-10.1.0 and open-vm-tools. + +commit 4d9a7c52d11c4f99c589fdb286d1d745d7a3e02c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:15 2017 -0700 + + codesetBase.c should have no dependencies + + These are routines that can be used anywhere without being tied + to the rest of codeset. + +commit aba2e60151d5711fb49df32c638687c8c7d085c1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Add some missing debug logs in vixTools.c. + + Add log messages corresponding to VIX error VIX_E_FILE_NAME_INVALID (=22). + +commit 3cf3bc33a1b4f698d67e0cc5506645f149f4b025 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Remove extern "C" + +commit 2cdfa5027a8693ed19f8a94193c471a287158971 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Copyright changes + +commit 2a4d7a289dec5a8287d9508caacdff2fa1e1624c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit dcc99f692159012ca146a9dab59a2d2b671d45f8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Remove extern "C" + +commit 20379cb590d604eeaa51e6c60af07bd671a7c67c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:14 2017 -0700 + + Copyright changes + +commit 03e61194c29732e96c7b9d82f6c4adc5c034df05 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:13 2017 -0700 + + Copyright changes + +commit 46bde5bb2157dd58cc8f6e0953e7097526262974 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:13 2017 -0700 + + Copyright changes + +commit 44b43b144395b583b50c3dda37605b886e700ac9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + Copyright changes + +commit e22ce95e059d9bec1a9904c6cb98c8f0d51a1af9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + Changes to common header files; not directly applicable to open-vm-tools. + +commit 238deba5cfb44f5b314c99ec58812d29043a1ac8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + Log level change in CAF - Changing default log level to ERROR + +commit 5fe94065d513b826c74aa362f9d6de548c33e945 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 1bc9ee62e989da0af468fc8e14046f08e63d289a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + vm_atomic needs to have an internal extern "C". + +commit 289f6ae5a8c6e543d32010a17efc4c7f646d4c2f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + C++ extern clean up issue + +commit c93385a40bba7acf5eee7188da9e93fa590f3018 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:12 2017 -0700 + + Remove extern "C" + +commit 240fdbc396a364025e2ec1105252b71b99aaf161 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Remove unnecessary extern "C" + +commit 756b771290c3b1b303252ca42142e8e9874c4b1b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Formatting/indentation fixes to lib/file. + +commit 1beeea1f0b3467735579d1d2c58585a80afdd52b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Formatting/indentation fixes to lib/file. + +commit 013c3d530d203baa3ec02ad767d641cd495923a6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Revert previous commit. + +commit e86169d49c461e3e5ce2fa8de3d03586cff1656b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e5b0240bd6036a600603abd6ceb81476756baad8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Consistent #ifdef style in err.h + +commit c4c8e1819a4de4dd7a269b1d0fe6d27b519fed09 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Revert previous change + +commit af4b0fdb43083c297d08c2c6a88f3c7c470eed25 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + strerror is not thread safe + + Replace with Err_Errno2String. + +commit 783c4a9e62dc83edc5707232e0e2d0dafa89a83c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Switch to Err_Errno2String for thread safety + + Start cleaning up strerror usage. + +commit 64ccb7fc149dc786503d0b0e1eab9d84ed65228f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:11 2017 -0700 + + Remove Hostinfo_OSIsSMP + +commit adf3be560d65d0d910d4d4b2988aef152a797720 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + make System_GetTimeMonotonic() really monotonic + + Solaris has an issue where times() can return a lower value than it + returned earlier, making it non-monotonic. This change works + around this by saving the last returned value and returning that + if the times() function return a lower value. + +commit 3f2da0682aa201132449eb73fda0f0272c09d5e1 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit fbad4c6ddd25e8af9c7bd7c6c9879c03b4542a54 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Properly configure xmlsec1 for CentOS + + Some distros build xmlsec1 with dynamic crypto, so do things slightly + differently. + + Also work around an issue with the way Redhat & SuSE package xmlsec1. + They built it with -DXMLSEC_NO_SIZE_T, but that flag isn't properly + exposed by xmlsec1-config. This results in a bunch of xmlsec1 data + structures (anything with an xmlSecSize in it) being different between + the lib and our code, and it tends not to work when our code references + fields in the data structure. This change always sets -DXMLSEC_NO_SIZE_T. + +commit 69700e93427aaca77897e66cad3a8ab6ab526a9b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Backout asyncSocket change to not exit recv loop early when SSL_Pending is zero + + Change being reverted: + + After reading some bytes with SSL_Read() and firing any + callbacks, we would make a call to SSL_Pending() and, if that + returned zero, we would break out of the read loop and return. + We would only make a second call to SSL_Read() if Pending() + returned a non-zero value. + + There are several problems with this. + + Firstly, having bytes buffered up within SSL is a reason to + continue performing SSL_read()s, but not having bytes buffered + is not a reason to stop. + + If the socket does not have SSL enabled, for instance, + Pending() always returned zero, so non-SSL sockets would never + actually loop here and every read would bounce back through + Poll. + + Even in the case where SSL is enabled, this function returns + only the number of bytes buffered inside the SSL context and + provides no information about whether the socket itself has + bytes available for immediate read. + + So, again, if SSL_Pending() is non-zero, we want to keep on + reading data with SSL_Read(), and if it is zero, we *still* + want to keep on reading data the socket itself may have more + data immediately available. + +commit 9ab704e9061cccd6eb6fe9a962a0a9c11ba5be27 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Use /etc as default dir for pam instead of sysconfdir + + sysconfdir evaluates to $(prefix)/etc by default, which evaluates + to /usr/local/etc by default. This is (almost?) never a correct path + for pam config files except for FreeBSD, so set the default to /etc, + with the exception of FreeBSD. + +commit 4597af473e063e5ef13484d3a22298746fc3b0c9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 18fe499f9dac3a4fc0538ee2280fd47cde6df3b4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 97369f9f83795eecf186ce3e360e06faa53d0da9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Additional AsyncSocket API clean-up. + - Convert void-returning asyncsocket entrypoints to have an integer + return type, returning ASOCKERR_*/ + - Do not exit recv loop early when SSL_Pending is zero; the socket + itself may have more data immediately available. + - Allow a small number of recursives uses of the send callback. + + Common header file change; not applicable to open-vm-tools. + +commit 89212bfbe833d06db94e642676b6b4e7c35219e2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Bump tools version to 10.0.10 + +commit e6da3bd40f8c83eba18fd8f1f05d9e06a3e56006 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:10 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c1cd45f716b974925a12e7c59f89eb5bf6731d20 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Hgfs Linux Kernel Client: Fix RHEL 7 system backports + + RHEL 7.3 introduced some backport changes for the Linux kernel + which broke some of the assumptions about wait_on_bit function + arguments. This fixes the test of wait_on_bit compile which + accidentally tests the function in kernel 3.17.0 which will + always fail instead of intentionally failing with the pragma. + +commit 4d2fef98fd292552466757c65671c095667580f8 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Hgfs Linux Kernel Client: fix RHEL 7 system backports + + RHEL 7.3 introduced some backport changes for the Linux kernel which broke + some of the assumptions about wait_on_bit function arguments. + +commit 811233a972be67259dacc4c005afabde78739831 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 4da8e30cc2fdaccd4e2c21eb71345046d0c0e944 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Move include of rateconv.h in hostinfoPosix + + rateconv.h is only needed for the Mac system timer + conversion. Move the include. + +commit 4faccaf54449ecb7b553bcf6c02a6e046aa43292 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 26374b47147b1fa4c9c8a5f7ded23a34f407475d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Improve network recovery for Linux Virtual Desktop Infrastructure. + Client needs to react to an unexpected disconnect and reconnect with a saved session id and path. + + Common header file change; not applicable to open-vm-tools. + +commit cfc624cc948674e1ddc53121194f84f08db1ba89 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Hostinfo_SystemTimerNS + + On Apple, switch from using floating-point to fixed-point + for nanosecond time conversions on iOS. (Note: x86 is 1:1 + so never used floating point). Fixed point is easily faster, + plus uses a 128-bit multiply that avoids overflow. Added + some comments to point out "interesting" cases that show + why we do not use Apple's documented method. + +commit c0b2e65062e4107c9812b33b7a9df2f7ed177304 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Fix localization code + + The code that loads a message catalog attempted to handle + continuation lines. However, it ended up dropping anything + it decided wasn't a continuation line. + + The end result is that any message catalog that had + multiple valid entries without any empty lines + between them would lose valid data. + +commit 2f4fda1ef463fca0b990580e4f3fbbb02edc5f15 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Changes to common header files; not applicable to open-vm-tools. + +commit a6856e53eded0b6dbae606b9713fd2286115baad +Author: Oliver Kurth +Date: Fri Sep 15 11:23:09 2017 -0700 + + Revert the change to add DarwinPre15 to the guest os table. + +commit 4d0e744ebb69ef6b4d9d6d4884d1d35bad8b6b1b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Hostinfo_SystemTimerNS: Inlining + + Now that we require glibc-2.5+, we can + also require the glibc-2.4 clock_gettime() call + be implemented. CLOCK_MONOTONIC is required for + all clock_gettime() implementations (per POSIX), + so the implementation here just became Really Easy. + This is intended as a code simplification / standardization; + there is no expected performance impact. + +commit 258e66b6a4e8cade7d3f3a9464958d9063cd286c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Add linuxDeploymentUtilities to libDeployPkg + +commit 50a89b5ff8e3787f77f1c6122099d2eac89bbfde +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Revert previous change. + +commit f7d38d24e357f2738aadd0e2fbf68e884d9a288a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Hostinfo_SystemTimerNS: Inlining + + Now that we require glibc-2.5+, we can + also require the glibc-2.4 clock_gettime() call + be implemented. CLOCK_MONOTONIC is required for + all clock_gettime() implementations (per POSIX), + so the implementation here just became Really Easy. + This is intended as a code simplification / standardization; + there is no expected performance impact. + +commit b110d03125ff8d6a558427625196664b9337b07f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 8e2cca63b4b8ed5d399e647291af6b405c3e188e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Hostinfo_SystemTimerNS: Update Tools build files + + The tools build files need some light touch-ups to + make librt.so mandatory (Linux and Solaris only). + - configure.ac: Linux already required librt, add + a Solaris requirement + - vmtoolslib.make: add a Solaris requirement + +commit ad9206ea40608d32f07af5548430a57575caf8d4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Update glib and pcre for FreeBSD and Solaris + + Update glib, pcre, and additional libraries they require + for FreeBSD and Solaris. + + With this change, a release note will be needed to advise + users to add the following lines to /etc/libmap.conf before + installing vmtools on FreeBSD 6.x: + + [/usr/local/lib/vmware-tools/] + libpthread.so.2 libthr.so.2 + libpthread.so libthr.so + + The presence of these lines will cause the run-time linker to use + libthr.so.2 whenever it encounter a dependency on libpthread.so.2 + in an executable whose path starts with /usr/local/lib/vmware-tools. + + The reason for the release note is as follows. FreeBSD provides + a threads library called libthr.so.2. In FreeBSD 6.x, this library + is separate from and incompatible with libpthread.so.2. In FreeBSD + 7 or later, libpthread.so.2 is a symlink to libthr.so.2. + + vmtoolslib is linked against libthr.so.2, while libgthread-2.0.so.0 + and libglib-2.0.so.0 are linked against libpthread.so.2. On FreeBSD + 7 or later, this works fine since libpthread.so.2 is a symlink to + libthr.so.2, as noted above. However, on FreeBSD 6.x, vmtoolsd + core dumps because libthr.so.2 and libpthread.so.2 are separate + libraries, hence both are loaded and their incomatibility results + in a core dump. + + Adding the above lines in /etc/libmap.conf will keep libpthread.so.2 + from being loaded, thereby allowing vmtoolsd to run. + +commit 43e4a3d6309d9f84332042fdec902ac5c3d6a28e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + Update the guest OS table for darwinPre15 if the GOS is 10.10 and earlier. + +commit d88042ca14d20f10319498b5b249363e1cc4ed9d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:08 2017 -0700 + + More AsyncSocket changes. In AsyncTCPSocketBlockingWork(), do not block + necessary. Reverse the order of the read/write and poll/select opterations. + This reduces latency when the socket is ready for the I/O operation. + This low latency option is "off" be default. + + Changes to common header files; not directly applicable to open-vm-tools. + +commit a0e7e23614c69c61e81b6241add014f0df92ef01 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Update glib and pcre for Tools for Windows, Linux and ESXi. + + This change adds a new glib.mk whose scope is local to the tools build. + The new version of glib depends upon libpcre, libiconv and libffi. + +commit 71142cf3a04cf0adeaec94a3a73de9e5185b4490 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit c706325151147b62532bc3c437741492c4ecd952 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Update VGAuth source for compilation with OpenSSL 1.0.x or 1.1.0 + + OpenSSL 1.1.0 is about to released. With that release comes a number + of changes that include making several types opaque. Along with this, + new or renamed setter/getter functions appear. The API changes and + the impact on open-source products is discussed at: + https://wiki.openssl.org/index.php/1.1_API_Changes. Updated man pages + are available at: https://www.openssl.org/docs/manmaster/ + + The impact to open-vm-tools is that the message digest type MD_CTX + has become opague. Local (stack) MD_CTX objects are not supported. + The required change is to dynamically allocate MD_CTX objects as needed + using the 1.1.0 API xxx_new() and xxx_free() or the pre-1.1.0 functions + xxx_create() and xxx_destroy(). + +commit e24ce91afc3b275933e7e300002c5b8734f81cc7 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Add string concatenation function to DynBuf + + The DynBuf code operates on both strings and non-strings. To add a + string at the end of a DynBuf is easy: DynBuf_AppendString() appends + a copy of the input string, including its NULL-termination. Sometimes + strings are repeatedly concatenated, such that a version of this + function without NULL-termination is needed. + + This change implements DynBuf_ConcatString() which explicitly does not + copy the NULL at the end of a string. + +commit c7b05cadcce82aadafcff985c51ae348c906a675 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Remove AsyncSocket_ConnectProxySocket() declaration from asyncsocket.h. + +commit 95882ca05e584ffa43ecf1edbe5431b0faa431fd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + POSIX FileIOErrno2Result should not log when it is called + + POSIX FileIOErrno2Result logs when an errno doesn't map well. This can + cause callers to have unexpected logging. In fact, the Log Facility + got caught by this. Log write errors generated more logs! + + This has, at times, lead to spew in the logs. Logging could occur on + each I/O failure! + + If an error needs to be logged, the caller should check the error + status and react accordingly. They can use Err_Errno to get the + native error in a platform independent way. + + Remove the logging in FileIOErrno2Result; Add logging for open + failures that are from "unusual" errors; remove logging from I/O + errors. + +commit 54a8a3c29be94d6cfb155041221c7ead6f21522c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + lib/file: Explcitly catch EIO in fileIOPosix.c + + No need to log as EIO is a known possibility. + +commit 89ad718885b0141d3a0a46d34f164cb933830a1f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + More remove extern "C" + +commit f001a9ed146c86a8ef7cafd20b6403343406d166 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:07 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit a30a9c33ed858c1e201c7e74ca0434273d111dfb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + VThreadBase: missing typecast on mac + + Seems the mac tools compiler is a wee bit picker, and needs + an implicit typecast instead of implicit. Obvious fix. + +commit 96791075ee5594e81551cc78b2e5d0e3e3e09b5e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + VThreadBase signal counting: remove malloc + + This is the easy first half of rewriting VThreadBase to not malloc + within signal handlers. The second half is still under construction. + + The core problem is that malloc() inside a signal handler can + deadlock; consider especially the case of malloc() detecting + heap corruption -> SEGV -> signal handler -> malloc() and + self-deadlocking. Thus, the overall plan is to stop malloc()ing + and instead use TLS variables ... as the new comment points out, + we can now count on good TLS behavior since Linux and Windows + minimum OS versions bumped. + + In the signal handler case this is easy: if __thread is available + we can just use that as a counter. Life is a little more tricky + without __thread (see: macOS and Android), where we need to use + pthread_{get,set}specific() calls. Use a constructor/destructor + to manage the TLS keys, which is a strategy dependent on the + TLS destructor being NULL. (Specifically, on library unload + the destructor function can remove the TLS key but cannot fire + the TLS destructor on all threads, which would leak). + One small note, the use of an atomic is not needed here because + only the current thread can set the value and, if interrupted by + a signal, the stack preserves the correct value. + + Two other minor things deserve mention: first, remove the TID + parameter from VThreadBase_SetIsInSignal(); it was only used for + self. Second, re-ordered setting is-in-signal and the first + VThread_CurID() in the signal handler; this means the VThread_CurID() + implementation can check whether we are in a signal handler, a + feature that will matter in a future change. + + Net result: the signal counting part can now run without any memory + allocations whatsoever. Memory allocation is thus needed only for + the thread ID and name. Stay tuned for TID/name in a future change. + +commit 8d9d99705dd43679a5da913131345c8bd470a8a9 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Reorganization of the AsyncSocket API layer into an interface dispatch + layer and separate disjoint socket implementations. + + Common header file change; not applicable to open-vm-tools. + +commit c9b9e6a0bd6719f6577b9bc263e9c525b402397b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Final cleanup of xmlsec1 work + + Do a final cleanup pass + +commit de6822facfd0b3a61cdc5982397fd15020ec1c72 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Restore AC_VMW_DEFAULT_FLAGS([XERCES]) + + The command AC_VMW_DEFAULT_FLAGS([XERCES]) was lost with + a prior change. Restore it. + +commit 82503bb34195d02cff666c4774e35b6056858439 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit 35d5500e8711708860efe1988fab226c435a89cf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit 61eb3825719ee883c5c4b275993dc21c84f3a8a4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + link resolution plugins with -ldl + +commit 69470031736260c62f09ba1b52a85b800b639399 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + Minor dead code removal + + Hostinfo_GetPCFrequency: function has no callsites. And + now that Windows Hostinfo_SystemTimerNS is Really Fast(tm), + amortizing ticks-to-nanosecond conversions doesn't make sense. + + Util_TokenHasInteractPriv: has only one callsite, used in + a log message. Delete. + +commit af6cb15dc6f0e4f95b3381848b0b59d7138d0d0a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:06 2017 -0700 + + lib/lock: MXUser syndrome bits problem + + For UWP use GetTickCount64 (since GetTickCount is gone). + Unfortunately, the lock library needs to run on Win2K + which doesn't have GetTickCount64. + + An ifdef restores the non-UWP environment. + +commit 08cc58799f16f32276b90c0d7862917553dd5edd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit d1ec74708ae1ad1cfb84eada2e6eb70624637c6b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Add xmlsec1 to open-vm-tools + + Add the new files to open vm tools and add a switch to + turn it on. xml-seccurity-c remains the default for + now. + + Also clean up the service Makefile, which was using + the client lib (which also dragged in stuff it shouldn't have) + for common code instead of building it in. + +commit 03e97029b0e2a84e2179a32dbb5d756ecf47e88f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Updating glib and dependent libraries for CAF to latest version + + Update glib libiconv, pcre, zlib and libffi. + +commit ed2e2348dd6af823f9458c5959c89acf2f13a952 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Remove libproc linking and packaging (it's dead since v9.10.5). + + procps/libproc dependency was killed in Tools v9.10.5. Clean + this up and remove the unnecessary linking and packaging of + libproc that's no longer needed. All references from Tar Tools, + OSPs and open-vm-tools are removed. vm_procps.h was being used + for libproc only, so get rid of that, too. + +commit 124c3e19891fa71123f9ddea9d6053b8503841bd +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Make headers C++-friendly + + Add `extern "C"` blocks to various header files. + +commit 410285953a2afab963cfabb6f389cf515d9f08f4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Remove Hostinfo_CPUCounts (hosted) + + The Hostinfo_CPUCounts function has an unhappy history + where not all OSes (especially Mac) make it easy to + discover the CPU topology. + + There is a good reason for this: the CPU topology generally + does not matter. In fact, it does not matter for us. + So let's remove this enumeration code and instead report + a single CPU package with nCores == nThreads == what the + host OS claims. (Especially as the host OS does not really + expose cores versus threads information...). Then rip out + the underlying functions, all the way down. + +commit df26946e952539a2f90fcf983dbd0a4f7d3304ee +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + Return default value in case of NULL key instead of ASSERTing. + + The configKey is NULL for NullProvider, so VMTools_ConfigGetBoolean + should return default value if any of the input args is NULL. + +commit 6daa2753d394391ce9c319581d200ce5f1cc4fea +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + More C++ goodness + + err.h: Includes before C++ + + Fix this file. + +commit c23472eab7d7ec8b24f52d8ecb69c027e0ee4a1b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:05 2017 -0700 + + More C++ goodness + + C++ after the includes + +commit 76f7e0f43e95edb6cffe3dd5294ce2d4a65ff1cf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + More C++ goodness + +commit da66defc097e7b88cc94a7080e00bc5fb108443f +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + Backout update of glib and dependent libraries for CAF to latest version + +commit ba8d985127f1f7c8852fe06e3c7cdb5c6482daac +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + More C++ goodness + + Messed up a file, fix the build. + +commit 6db382eb3d5ccc8044a6fcf9f6b8cab217f882b6 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + C++ goodness continues + +commit 2549e58a4ac0025100c03232169e57ead8ca57f5 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + More C++ goodness + + Add extern "C" to header files. + +commit d9f7cd4aae81fef9fbcaf72c1b8c45c1e4ef084d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + More C++ happiness + + Add extern "C" to header files. + +commit a8c9491f7a29b6c015b0787ff288c3489efcf10b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + Update guest_os_tables.h for darwinPre15.iso for Mac OS < 10.11. + +commit 447bbf0118b88937728805164ef9313fb7e4dd50 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + Update bsdfmt.h license + + 2016 now + +commit 4e1edd1a3b60c6aa4c585c788796b15959275eab +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + Do schema validation with xmlsec1 in vgauth + + Add schema validation for xmlsec1 based SAML verification. + +commit cfc2ee979176d914c17e7e84be54cbf2cbf48e38 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:04 2017 -0700 + + Fix pointer inequality comparison against NULL. + + A pointer is being tested for whether it's less than 0. Check + for equality with NULL instead. + +commit aeff7f0b8d14d5a23fe4037e6dccc4de8c189295 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit 2ef6e3dc02e0238184a814d978d733bd2b5a540c +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Tools 10.1 translations + +commit bb446f9e8b7cc88271e6553db0f800eea944b39e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Update glib and dependent libraries for CAF to latest version + +commit af2a149d77694fc680a6719ec221746e2dd7e7ed +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Fixes to get vmnet to build on 4.7 kernel + + 4.7 kernels removed dev->trans_start, instead there is + wrapper called netif_trans_update(). + +commit 4ccfee744d5e4001c5adb8f91860c38433983b34 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + The lib/AsyncSocket layer on supports SSL_Accept() and the certificate file + is reloaded every time a connection is accepted by calling SSL_Accept(). + Add support for an SSL_AcceptWithContext to allow cahing of the SSL context + and avoid loading the certificate file every time. + modified: lib/asyncsocket/asyncsocket.c, lib/asyncsocket/asyncSocketInt.h + lib/asyncsocket/asyncSocketInterface.c, lib/include/asyncsocket.h + + Common header file change: not applicable to open-vm-tools. + +commit d8a9f44d31bf970367f7dc80dc95730b097ab2c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Dynbuf: Improve documentation + + InitWithMemory is a better name. Improve the init function descriptions. + +commit 19405c3edf186cb2278ce0698480022c837f9775 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + Thaw/resume guest file system when VMX aborts the operation. + + When the operation is aborted by VMX after quiescing the + guest, we need to thaw/resume the guest. + + In response to VMX message "vmbackup.abort", when guest sends + "vmbackup.eventSet req.aborted 4 Quiesce aborted." message, + it receives "Unknown command" response because VMX side RPC + handler for vmbackup event is removed before guest gets a chance + to respond. That is the behavior without this fix. + With this fix, in addition to the message above the new message + "vmbackup.eventSet req.done" added by this fix also receives + "Unknown command" response. We can fix these by keeping the RPC + handler for longer, but its not worth it because the operation + is being aborted anyway and vmbackup code in the guest is able + to tolerate these errors. + +commit aa3e981b9def57c605948bbfbf0df3e28354269a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + common version: use disable-tools-version for old hosts only + + Use disable-tools-version for old hosts only, and add a + hide-tools-version flag. Set disable-tools-version to "true" + again for OSPs. + +commit 3263360ef1965a230ba800aa3835782845d85c0e +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + DynBuf: Start smaller + + DynBuf operations are mostly concerned with strings - and most strings + are less than 128 bytes long. Shorten the initial allocation. + +commit cd84020ca36953893771a208f03826d155905c5b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:03 2017 -0700 + + dictionary: Limit line data growth + + The dictionary code keeps the raw input line around. Since the length + of the line is unknown at parsing time, a DynBuf is used to allocate + the memory for the line. + + The DynBuf initial allocation is large - 1K - and this wastes space + when lines are rarely over 64 bytes long. The fix is to have the + dictionary code preallocate a 64 byte buffer before allowing appends + to the DynBuf. This will prevent many time consuming and memory + fragmenting realloc operations. + +commit 5d51154ddc74340652317f3b3ff1537b80375cbf +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Split FreeBSD in the GOSTable + + Split FreeBSD into freeBSD (old) and freeBSD11 (going forward). + This is to cover driver differences. + +commit f25e6759cf0d274a87d740cd418c49eb306a1fe2 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Hgfs Server: write op move argument checks security fixes + + Complete the argument verifications in the common code adding the + missing checks for the write request packet size checks and the + write request data size (separated from the request itself as + in V4 of the HGFS protocol). This will now catch any attempts + from a client to pass a write request containing a data size + argument for the data to write that is greater than the amount + of data in the HGFS packet or data buffer passed. + +commit 12890cf51047a0d5837a93a6c38d8eaf0adf02ab +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit bd4f98a472370c8d840d3ba949b0c5656e6b1fd4 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Changes to shared header file unrelated to open-vm-tools + +commit 245bcf456f0376344eb71c0edbbfbba4c2e7e3b3 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Hgfs Server: write op move argument checks security fixes + + Consolidate the argument verifications to the common code as these + are often duplicated. This will now explicitly perform the Hgfs write + operation argument verification in the common handler before calling + the platform specific code to actually perform the write. + +commit 19fe2c9f63be291c7ab215e244c93ea179e48cde +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Fix some memory leaks in vgauth + +commit c00cbf53a1477211b6413bcf561d0f2a8267dc52 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Change to shared header file unrelated to open-vm-tools + +commit 578cb08c2ebae1a376aad7f6a3e41b9f145314b0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Update tools version to 10.0.12 on the frozen tools branch. + +commit 70e8dbab91f28238c3c8bd06d12b5370d47497bb +Author: Oliver Kurth +Date: Fri Sep 15 11:23:02 2017 -0700 + + Hgfs Server: add write op arg basic validate write op for security fixes + + Add the basic write operation argument validation routine to obtain the data + sizes of the request and data to write for the supported HGFS protocol versions + (1 through 4). Add a call to it from the main write operation handler. + + Note the argument validation checks will be added in the next change and moved + from the platform specific routines. + +commit af27acff59f7ec8193fdad6ca717eac9bb2bd153 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Revert previous change. + +commit 8f68cd2b71d87c612d8a5aa8b8bee8158d048d13 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Changes to shared headers files unrelated to open-vm-tools. + +commit c930424d027864df22d5052f31951570a00fb50b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Guest DNDCP: Remove unused private variables. + + Updating the mac tools to build with clang found some unused private + variables in the DNDCP classes. + +commit 540b899ea0b0c946fca0d303093e35c760e6b4af +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Tools RPC: Fix XDR invocation on mac and an uninitialized variable. + + Switchng mac tools to clang found these two: + + 1. Uninitialized variable in rpcin.c: clang's static analyzer seems + to have had trouble figuring out that it is impossible for execution + to reach the "if (status == FALSE) {" line without being set. + To appease it, initialize it to FALSE. + + 2. xdrproc_t: On many platforms, xdrproc_t is an unprototyped function + pointer that can take either 2 or 3 arguments. Apple changed their + implementation to always take 3 arguments and recommend replacing calls + with 2 arguments to add a 0 3rd argument. + +commit b0d2f41dcacd2181b36855fa5b2a2b43def8e216 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + CAF changes to prevent NamespaceDB frequent polling. + +commit f969faf20c307a9da02f2a3ba200ecb138d07b47 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + The vthreadBase library was not designed to be unloaded and simply leaks + the TLS keys it creates. Since plugins statically link it, loading and + unloading may hit the OS limit. This fix adds a hook into vthreadBase to + delete the TLS keys at plugin unload time. + +commit 357d2011d6221c5ade35d6b4a71c63192df1ce68 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Hgfs Server: write ops clean up for security fixes + + Very minor write ops clean up for security fixes which renames + the arguments and local variables to be more consistent. + + This is in preparation for moving some of the common argument + checks into a common routine and enhancing the checks to verify + the write data size and buffer. + +commit fe067916d63a1aafbf82cdaef756c414dbf9c984 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + Require rabbitmq >= 0.8 when building with caf enabled + + caf requires rabbitmq >= 0.8, so check for this version in the + configure script. + +commit 87c2e132c57114bf20dfe877cd69101f1001060b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + XP cleanout: remove pre-Vista code. + + We now require Vista or later. The CondVar APIs are + unconditionally available. + +commit b521f51b5f7225017499611a20a3cc640204e606 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:01 2017 -0700 + + File rename to prep for new xmlsecurity + + Rename the xml-security-c version of saml verification as a step + towards also supporting xmlsec1. + +commit e7ea6167d184015266a33ba47997819bf676a490 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Tools RpcIn: fix an assert triggered by a race condition + + RpcIn open channel asserts that the current channel is NULL. This was being + triggered under stress testing. The guest tools service ran slowly, so + the VMX timed out and reset the channel. This caused the tools service + to do a channel check reset and which then called the RpcChannelRestart to + stop and start the channel again. Unfortunately, this call modified the + channel global without synchronizing with the other threads sending RPCs. + DiskWipe plugin was in the middle of a RpcChannel_Send (with the lock + acquired) when the restart call ran concurrently. + + To fix this issue the RpcChannelRestart now acquires the same channel lock + to around the channel stop and start calls so that all sending threads wait + or complete first. + +commit 393e900846e401dc70aee68dad87f805e924edcc +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Revert previous change. + + Missed updating the OVT build. + +commit fae37aaf9dc1514345a25b18740bfda925e6f76a +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + File rename to prep for new xmlsecurity + + Rename the xml-security-c version of saml verification as a step + towards also supporting xmlsec1. + +commit 01217f4b0e858df5f3465240df2896c013491fa0 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Hgfs Server: more minor clean up of write operations + + More clean up in preparation for write operation security fixes. + +commit 05dcd02c81bef7a49f15c9c1645bf2bf15e83e3b +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Update Tools ISO mapping in guest_os_tables.h + + Update Tools ISO mapping in guest_os_tables.h for potentially + old/unsupported Linux distros. + + Use frozen ISO linuxPreGlibc25.iso for: + + 1. "otherlinux" because it usually refers to unidentified old Linux + distros. We have "other26xlinux" and "other3xlinux" for newer + versions. + 2. "sles" and "suse" because these refer to unidentified old SuSE. + 3. "redhat" because it refers to unidentified old Red Hat versions. + 4. "turbolinux" because it is not under active development. + +commit f23de806de72d3ef992b565c8841c8c789cb2530 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Update vm_tools_version.h with tools versions 10.0.8 and 10.0.9 + +commit 03542fe6cfdb9a7a601792714b048b073356876d +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Common header file change; not directly applicable to open-vm-tools. + +commit ce83118368eb727ef332e436b18ca667f194e5ce +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Hgfs Server: minor clean up of request header size + + Consistently use the correct function for determining the header size for + the HGFS packet to be used. This is necessary due to the different protocol + versions that exist, and originally the request and reply contained different + protocol headers. + +commit cf015ea15ad08bd5863c78b3a2cd270f152ce723 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Change "OS X" to "macOS" in the GOSTable. + + Apple rebranded, so react accordingly. Also fix a misspelled message. + +commit 77dc61498c64972abccd149dc7e55600dc9a0b61 +Author: Oliver Kurth +Date: Fri Sep 15 11:23:00 2017 -0700 + + Fix indentation in lib/misc + +commit 1be7624511bd7767a2fa6e5788051d494594dc6b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + TLS 1.2 changes for common-agent + +commit 71cb61c333d8813cf7ef22cfb09bb61c095fc328 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 9bdc9393e630f6a7d9cf4ab22a881ea6f7ddcc25 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Linux drivers: get_user_pages API changed to get_user_pages_remote. + + Linux 4.6.1 introduces a new get_user_pages_remote() which is a + replacement for when get_user_pages() is called. Still use 'newer' + get_user_pages but with less args. + +commit cdf0864f5dfa55c535f362bd66c5e00f8725a936 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Reapply ICU change. + + Atomic_Bool isn't implemented for ARM32, but Atomic_Int is, + so use that instead. + +commit 64f8760c1915e224d3d905cabb76a63f897296dc +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Revert previous change. + +commit fb66ea0adcb4dceca686cb7cefb7f857ccf6e74b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Apply various ICU patches between ICU 4.4.1 and 57.1 + + Parts of ICU 3.8 and 4.4.1 are included in bora/lib/unicode. + ICU is now at version 57.1 (which would have been 5.7.1 in + its old version numbering scheme) and has had some + security-related patches during that time. + + Directly updating the ICU bits in bora/lib/unicode with the + corresponding bits from ICU 57.1 no longer seems feasible + because the ICU code has made increasing use of C++ + (including C++11), which is something that we'd like to avoid + in widely shared libraries like lib/unicode and lib/misc. + + Picked out a handful of fixes (particularly security-relevant + changes) that are applicable to our forked copy: + + * r28300: ticket:7783: error checking in U16_GET() + * r29214: ticket:8238: Implement max subpart policy for UTF7 + toUnicode, don't consume valid bytes after err + * r30175: ticket:8569: Terminate the UTF-7 byte buffer with + MINUS when flushing + * r30326: ticket:8265: Fix race (=> U_FILE_ACCESS_ERROR) when + loading full set of ICU data + * r31914: ticket:8235: do not call memcpy()/memmove()/... + with a NULL/invalid source pointer + * r31948: ticket:9340: Use bit mask instead of cast to avoid + buffer overflow + * r32021: ticket:9340: Fix potential out of bound error in + ICU4C ISCII converter + * r32041: ticket:9432: fix value of UDATA_FILE_ACCESS_COUNT + * r32242: ticket:9481 : handled segmentation fault issue with + uenum_next + * r32529: ticket:9601: from-UTF-8 m:n conversion: properly + revert to pivoting for m:n matching + * r32574: ticket:9398: avoid use of utf8_countTrailBytes[], + rewrite/optimize U8_COUNT_TRAIL_BYTES() & + U8_NEXT_UNSAFE(), test _UNSAFE macros only with + (mostly) well-formed UTF-8 text + * r32907: ticket:9687: Propagate the ambiguous alias warning + when opening converter + * r37670: ticket:11776 Thread safety fixes in data loading. + * r37889: ticket:11765: fix utrans_stripRules() source + overruns from a comment or an escape at the end of + the source string; make U8_SET_CP_LIMIT() work with + index after NUL terminator, consistent with + U16_SET_CP_LIMIT(), although strictly speaking this + behavior is undefined + * r38086: ticket:11979: Fix max char size for iso-2022-kr in + icu4c + * r38185: ticket:12015: Update the array size to avoid buffer + overflow + + Diffs for the ICU changes (with associated links to their + tickets) can be found at: + + http://bugs.icu-project.org/trac/changeset/REVISION + + where REVISION is the corresponding numeric value. + + Notes: + + * r32907 makes a slight change to ucnv_open's return value + and isn't strictly necessary, but is included as a matter + of correctness and because we would eventually need to + handle the new behavior anyway. Changed sites that + checked directly against U_ZERO_ERROR to use + U_SUCCESS/U_FAILURE instead. + + * Included r30326 and r37670 (which both involve race + conditions when loading ICU data), but we do not execute + those code paths. + +commit 608a7e966c88b37265f062e9b02b30fe65b24b2d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 58c1585e5aa76dde81e578444bc769caa4cb00bd +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Extend AsyncSocket code to handle a "network unreachable" error on a Linux + connect() system call. + modified: lib/asyncsocket/asyncSocketInt.h, lib/asyncsocket/asyncWebSocket.c, + lib/asyncsocket/asyncsocket.c, lib/include/asyncsocket.h, + + Changes to common header files; not applicable to open-vm-tools. + + Reorder the includes in services/plugins/dndcp/xutils/xutils.cc to build + with Gtk+ 3.x at a later date. + +commit b99cd226533c04d90397815a4c49848212d95424 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit efd6c9ad4d0ea0198de7107afeb72d2bc8a2b8f2 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:59 2017 -0700 + + Add support for gtk3 + + Changes to support building open-vm-tools with gtk3. + + #ifdef statements have been added for conditional compiling for GTK2/GTK3. + +commit 6dbe90a0c7231c3f48a24d94dc6c410db2109cf8 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Change to header file unrelated to open-vm-tools. + +commit 188c60b0e0d69c76e73a0d1de7d3dbd24a3b2daf +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Stop building Linux kernel drivers by default in open-vm-tools. + + All drivers have been upstreamed as of Linux kernel version 3.9, + so inhibit building them starting with kernel version 4.0. + Users can specify they want kernel modules by invoking configure + with "--with-kernel-modules". + + Note one aspect of AC_WITH_ARGS that is not obvious is that specifying + --with-kernel-modules will automatically set with_kernel_modules=yes, + while specifying --without-kernel-modules will set it to no. + +commit a5c07080a4e7e38f2520ea8c5bba86d82328cbcf +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Hgfs Win Client: fix upgrade of driver by changing the Hgfs install settings + + Some upgrades of the vmhgfs driver are requiring an additional + reboot even after the initial reboot. The Difx APIs replace the + driver with the new one on reboot, but after the old one is loaded. + This means that after the reboot everything looks good on the surface + but the old driver is running and not even on the disk at that point. + To mitigate this we can change the driver start type and fix missed + install settings both of which makes the HGFS driver compatible with + the rest of the Windows redirectors. + + Perform to system registry changes to the vmhgfs driver service: + - set the HGFS driver dependent on the MUP component which it is anyway. + - set the driver start type to be demand start and not a standard system driver. + + This makes that the vmtools system service responsible for starting the + Shared Folders client driver. This is again more compatible with the + Windows redirector model. + +commit a9f545e1ebb6d5486f0d44a87e9c436156165277 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Hgfs Win Client: prevent Windows upgrades breaking HGFS + + When Windows 10 performs system upgrades it breaks HGFS by + removing our registry entry in the network provider list. + + When the client driver is loaded, it checks the entry and + sets it accordingly. + +commit d3c08cf36fffaa8b235375b880fa89a6f2440b46 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Fix crashes in vgauth SAML verification + + The reference checker doesn't sanity check that + a URI is set before trying to work on it. + +commit 8781e18ba29ad01fdf9ebdf4bb46ee0ea08b1f39 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Check for a valid shell in pam configuration + + When a program is run in a VM using vmrun from the host, the user account + is not checked for a valid shell. This changes adds this to the pam + configuration for vmtoolsd. + + Note that /sbin/nologin is a valid shell in CentOS and RHEL, but + not in Ubuntu. Valid shells are those that are listed in /etc/shells. + +commit 8d607518c494947102ef30b47afc90ba0c973bec +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Change to header file unrelated to open-vm-tools. + +commit 460d38a44a56b279e21014fc8550e80c9acd4751 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Remove work-around for AMD Rev F Erratum 147. + modified: vm_atomic.h, lib/misc/hashTable.c, lib/misc/Makefile.am, + lib/misc/vtheadBase.c, libvmtools/vmtools.c + deleted: lib/misc/atomic.c + +commit 379cf86f2b71c0040acf66e763ca416ef1bc8c8a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:58 2017 -0700 + + Change to header file unrelated to open-vm-tools. + +commit 018e3832fcafe9393f799217ff981759b3df0b03 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 80a6e3944ba3a75c63b8e4a05fc8941663ab8b3f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 6d72467feb2416ae8198c6a880d5f993132ab79d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Make Vsock RPC code handle the ECONNRESET + + VMX might delay releasing a vsock when the client side closes + the end point first. This makes a later client vsock connect + attempt fail with ECONNRESET using the same source port as the + closed one. Note that the client binds OK on the reused source + port, since the client side has released the socket on that port. + + Rewrote the connect code as to clarify it. Explicitly separated + the retry logic. Added code to return the system errno, and + added additional information about which socket API call failed. + +commit 159ff344d17fb4605aa7d4c5934360719e190f24 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Hgfs Fuse Client: fix attribute caching from hardcoded 5 seconds + + The default attribute caching of 5 seconds is too long and is not + cleared by modifications to the file. This leaves users' applications + receiving stale attribute information for a file which can cause + applications to crash. + + Set the default setting for the cache timeout to 1 so that corresponds + to the same as the kernel client. + + Fix the rename that purges the cache of stale attribute data for the + target of the rename. + +commit 23606612dd1711e21d7683639be2da1f8ea5a2ee +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Common header file change; no applicable to open-vm-tools. + +commit 3c23abdb53cf3edf8ca07cecfaf927a4dac44aa3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e78b0cafb4ca3c3a79ded9a6e4b66f13129e3d0f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit e36a8fa9478734a06c7a63b086d5476e69e24757 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Revert previous change. + +commit 04feecbd07b946e4aab0c642f6c9363775bd7f5c +Author: Oliver Kurth +Date: Fri Sep 15 11:22:57 2017 -0700 + + Make Vsock RPC code handle the ECONNRESET + + VMX might delay releasing a vsock when the client side closes + the end point first. This makes a later client vsock connect + attempt fail with ECONNRESET using the same source port as the + closed one. Note that the client binds OK on the reused source + port, since the client side has released the socket on that port. + + Rewrote the connect code as to clarify it. Explicitly separated + the retry logic. Added code to return the system errno, and + added additional information about which socket API call failed. + +commit d3b7ba4897934eff9a2e79f783b195a40cd58356 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + fileIOPosix.c: Add new function FileIO_CreateRetry(). + fileIO.h: Add new function FileIO_CreateRetry(). + config.h: Add new function Config_TriToBool(). + hostinfo.h: Add new function Hostinfo_EnumerateAllProcessPids(). + hostname.c: Allow hostname to be UTF8. + posixPosix.c: Using __GLIBC__ define to control use of euidaccess(). + vmxnet3_defs.h: Update the coalescing configuration through the guest OS. + Bump the Tx Data Desc Max Size to 2048. + + The drag-n-drop plugin clipboard updated to allow the clipboard size to be adjusted by the consumer via new CPClipboard_InitWithSize() function. + + Common source and header file changes that are not applicable to open-vm-tools. + +commit 4ca9fd8b08aec527c83941909015f846bbae634a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Dump gErr on regex failures + + With pcre moving outside glib, there are new errors, such as pcre + not being built with UTF-8 support, that can be caught here. + +commit df8d0e4561bfd07b4f2a4ee13d14c7cd5de67e76 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Fix HGFS mount call to create mount point + + For FUSE clients and open-vm-tools installations the package + might not create the shared folders mount point. The only reliable + way to ensure that we have one is to create it ourselves. + This seems okay to do since it is a hardcoded path and has always + been set to this same path without any regard for configuration by + users, although that may change in later change sets. + + This also ensures if a user has inadvertently deleted the mount + point after installing tools and before enabling the Shared Folders + feature the mount will be robust enough to still mount. + + Secondly, did some clean up of the mount function to move the check + for already mounted into a separate function. This will prove useful + if a umount call is added on a disable of the feature. + + Finally, the mount file table check now uses the common mount info + macros and the system calls are replaced with ProcMgr exec calls. + The file access checks now use the glib routines as do the mkdir and + rmdir for mount point creation and deletion. + +commit 21ee819ff7b6f83943c4cfedad62939a89d0b4e3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Increase the scope of 'opLock' to avoid the race in VmBackupAsyncCallback. + + A previous change fixed a race between worker thread and main thread + VmBackupAsyncCallback that could lead to premature release of + 'currentOp' from 'gBackupState'. If the 'currentOp' was set after + VmBackupAsyncCallback had queried status of the 'currentOp' but + VmBackupAsyncCallback was not done with 'status' value check, + it could release the 'currentOp' prematurely because 'status' + was initialized to VMBACKUP_STATUS_FINISHED. The fix was to + initialize the 'status' to VMBACKUP_STATUS_PENDING. The fix + broke tests that invoke quiescing with 'execScripts = false' + option and in that case there is no 'currentOp' setup by the + VmBackupStartScripts() call that leaves VmBackupAsyncCallback + in its initialized 'status' VMBACKUP_STATUS_PENDING forever. + This fix reverts the previous fix by restoring the 'status' initial + value to VMBACKUP_STATUS_FINISHED and increases the scope of the + lock 'opLock' to address the race condition. + + This change also adds some Tools configuration settings to make + it easy to test HBR scenario. + + As reading configuration is common functionality, moved + the common functions to vmtoolslib. + +commit 528d091623208cb6e9780289ae8949de3d1f5704 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 104a965a37d9347ebf87301093b88e220fedc52d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit 0d057132ad3494f730ee94b69d66aefaeac6dce7 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Hgfs Fuse Client: increment version for connection unavailable fix + + Increment version for connection unavailable fix from 1.6.3 to 1.6.4 + +commit 675c07bb089fb4cfd07932563da21b251d12c70b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Hgfs Fuse Client: fix for backdoor not available + + The client dropped errors for failing to open the backdoor returning FALSE, + when the HGFS server was not enabled which migrated to a protocol error. + This could mislead users when mounting the FUSE file system when the + feature was disabled into thinking there was a different issue when + actually enabling the feature was required before mounting. It was not + a protocol mismatch between the client and server. + + The main entry point now logs a message for the user if the transport init + fails and so the mount does not occur. + i + The main issue to prevent the mount being created when the feature is disabled + is addressed by the transport init function now trying to open the + transport and generate an initial connection. This fails when the HGFS + server is disabled because the feature is disabled. Hence, there will not + be a mount made and an error is reported to users. + + If a mount is created when the feature is enabled and then later disabled + via the UI settings, the mount will still exist as there is no umount made + at that point. This will be addressed in later fixes. However, it should be + noted that the leftover mount which is now not accessible reports that the + "Transport endpoint is not connected" instead of the previous error of + "protocol error". + +commit 795be8ba52f52c49c10dd948d79fd401ba524c12 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:56 2017 -0700 + + Don't include errno.h in vsockSocketWrapper.h. + + A recent change added errno.h to vsockSocketWrapper.h. + Since errno.h is intended for UNIX compatibility, whereas + vsockSocketWrapper.h redefines the error values to their + Windows equivalentsr, it needed to be removed. + +commit e16b8bda77ce238dff5b51c228a24d933f39452e +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Use pkg-config directly instead of $PKG_CONFIG + + $PKG_CONFIG isn't set in the configure script, but we do check for + pkg-config in the path. So use it directly to determine udev + directory path for udev rules. + +commit a8ea36fdc44d110bf8a0257782aa91d6f3555876 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + vthreadBase.c: Update copyright and cleanup tabs and trailing whitespace. + +commit fbb9ff847ec87e6cddc399627ce4c651a7cdbe11 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Fix open-vm-tools build on Fedora using gcc 6. + + There were two problems: + + 1. VMW_BIT_MASK in x86cpuid.h generated an error when trying to + set all 32 bits. This was due to using 33 bits in an intermediate + calculation. + + The fix is to keep the calculation within 32 bits. + + 2. static const VMCI_HANDLE was defined in vmci_defs.h, but not used + in one place that included the header. + + The fix is to add -Wno-unused-const-variable to CFLAGS to disable + the new warning. + +commit 23bcb7e2cc001f83886cf61244f56f987cdb2ecc +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Change to shared header file unrelated to open-vm-tools. + +commit f9446a65854c575d660315d6473a878bbf6f48ed +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Common header file change; not applicable to open-vm-tools. + +commit 622e55c0101f13c8f8da41fa18b7a25c0a05d61e +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Allow SAML authn to bypass impersonation if the user is unchanged + + vmwsu can't create an impersonation token for SYSTEM since its + not a 'real' account. So bypass the impersonation phase since + toolsd is already running as SYSTEM. + +commit 7c68f9f81bf0a438702585fe82861124f1c68c06 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Remove an assert and save vSock family reference in vmsvc only. + + VMCISock_GetAFValueFd API does not open a vsock device if kernel + has upstreamed drivers. So, the ASSERT for vsock fd is not valid + in such cases and has to go. Instead, save the reference only when + family as well as fd are valid, because there is no need to save + the reference in case of upstreamed drivers case anyway. + + If 'vmusr' holds a reference to vSock address family, it could + come in the way of upgrade because 'vmusr' keeps running during + upgrade. To avoid that issue and given that we just need one + reference, we limit the reference to main service only. + + Also fix the VMCISock_GetAFValueFd API to initialize outFd in + case of upstreamed drivers. + +commit bb680f5b3f1f6b079ec214cf214738c99f4716c4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + Changes to support valgrind with Tools + + Allow Tools to be built with valgrind support. With these changes, + adding "export USE_VALGRIND=1" in Local.mk will build a version of + Tools that works with valgrind. + + Also includes a change to turn off appLoader for vmtoosld + and toolbox-cmd. + +commit 5d1554e30aaa31f18978eedcb06dda1c659c18af +Author: Oliver Kurth +Date: Fri Sep 15 11:22:55 2017 -0700 + + add toolbox-cmd for tools.conf config entries + + Add a generic tools.conf set/get mechanism that can + be used for any config entry. The first specific use case + is to enable/disable the allowLocalSystem pref for SRM. + +commit 6e07974b38f94cd27aafe8c23a213c47acc51521 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Common header file changes; not applicable to open-vm-tools. + +commit ec256d66c638dae94a15d9ebcee8f5c0f29472fb +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Make sure the Windows version of namespacetool logs to stdio + + Make sure the Windows version of namespacetool logs to stdio instead + of logging to debugger. + + The Windows version of namespacetool didn't print the warning messages + under the verbose option. + +commit a8e4830a0d27ee0dd528c4b8c310a1c2929e9d30 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Rename IsPowerOfTwo() to IsZeroOrPowerOfTwo() + + The function accepts 0. Make the behavior explicit in the name. + +commit a82237f35a142b025f1a3b7ab3333b325106b5c5 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + vmhgfs-fuse: remove unused label + + An unsused label caused an error when building on FreeBSD. It is not + used, so remove it. + +commit fc251c97d74439a81feb6f5cb60f592a4d4b38bb +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Replace RpcOut_sendOne with RpcChannel_SendOne in vmtoolsd commandline. + + "vmtoolsd --cmd=" uses RpcOut_sendOne which is a backdoor + only implementation. It should try vSocket before falling back to + backdoor. + +commit d730ed8efc710f9187be5214c89d5db151a60432 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Don't auto-retry RpcChannel_Send when error is final. + + RpcChannel_Send retries in case of any error. However, retry makes + sense only when there is a transport error. When there is a failure + returned from VMware in handling the RPC command, the error is final + and retrying does not make any sense. We need to avoid retry when + it is not a transport error. In order to differentiate between + the two types of errors the internal function signatures required + changes. As there are not many direct consumers for RpcOut_send, fix + all of its callers to check rpcStatus along with the return value of + the function. New API behavior also allows removal of some string + comparisons on "reply". + + There are no other behavioral changes intended in RpcChannel_Send, + so all the callers of this function remain untouched. + +commit 280f7726ff8fc72df9554f411146e02c54842209 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + open-vm-tools: use $(srcdir) in Makefile.am for udev rule + + Building in a separate directory was broken for installing the + udev rule. We need to use $(srcdir) in Makefile.am, otherwise + 'make install' will fail. + +commit d5555e64369cb5a00be7d41da220c29f914d25c6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Fix the namespace tool verbose option. + + Fix the the namespace tool verbose option to print out the debug + and warning messages of the vm libs to stdio. + + Introduce a new function that console apps can call to log to stdio. + +commit ed3f6f7b096dd54f4f0545d360b4f997781de7f0 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:54 2017 -0700 + + Fix guestproxycerttool to properly handle non-ASCII filenames + + Filenames are being passed as UTF-8, but file + opens (both CreateFile and fopen()) were assuming + ASCII. Switch to a conversion & CreateFielW and g_fopen(), + which handles full UTF-8 filenames. + + Also tweak the error logging to dump the error code + for easier debugging on non-english OSes. + +commit 0006b0091758a229469c4e92fda186227c8525fb +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Fix a namespace tool crash. + + The namespace tool core-dumps when running the following command + vmware-namespace-cmd -V get-value name -k key + + This is because glib options parser removed the -V from the argv, + and passed the ValidateNsCommands() check. However, the later + RunNamespacecommand shall ASSERT() on the NULL nscmd. + +commit 8a5e316cd54edfcc06b00f74bba4b7b30e2de293 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Changes to shared header file unrelated to open-vm-tools + +commit 0a92586c6ab3cbb18571b0cf99958a97a97198d7 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Coding standard updates + + Fix a few things to conform to the coding standard. + +commit f069fff44c6d0b7e210cb13aa7de9b6d1003c17b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + open-vm-tools: add udev rules to set scsi timeout + + To avoid volumes going read-only of offline, a longer timeout + is needed, see bug #271286. This is already done for tar tools + and OSPs using udev rules, but not yet for open-vm-tools. This change adds + a udev rule for open-vm-tools. + + A static file is used, and it will be installed for Linux always and only. + There used to be a different format for udev rules, but that is very old + (before 2010 at least), and used for RHEL up until RHEL 5 and SLE until + SLE 10. It is not thought that we need to support these old udev versions for + open-vm-tools. + +commit 09681d7ce54f556fd5929b9c196a625369a4eb5b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Make NullProvider race-free to be thread-safe. + + NullProvider start function was sending 'prov.snapshotCommit' + message to VMX which was being done on the worker thread. + This led to a race condition where VMX state machine advanced + faster than guest side state machine. Later, when VMX state + machine sent 'vmbackup.snapshotDone' to vmbackup plugin it + did not like it because it was not ready for that message. + + In order to fix this issue, we need to split the code that + sends 'prov.snapshotCommit' message into a separate callback + that gets called by the main thread instead of the worker + thread. To do that, we needed to create a VmBackupOp for + NullProvider so that it can be monitored by the top level + state machine. + + While there also fixed a subtle race found by Victor in + VmBackupAsyncCallback. Basically, it can prematurely release + an op if the op was set by worker thread between QueryStatus + and Release calls (i.e. line 483-488). This is possible + due the initial value of status. Fixed the initial value of + status to make it impossible. + +commit 95a253cdcdad9a3f31cb38d7ede79c25587fd8d3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 4ef4b195cad27835b8a5fa98fc7e2313e809e812 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit f986bdbaebdb6937f2c26606dcdbd12e73ca1d8a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + ToolsCore_InitVsockFamily() must tolerate the lack of an RPC channel + when the backdoor has been disabled. + +commit 8a9529e714141ab425b09ea9e0a4bf702f9cae1b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:53 2017 -0700 + + Bulk updates to the common-agent (CAF) source. + +commit c745e998dd05438e1713e53e7a847e2ab14f44e6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Changes to common header file; not applicable to open-vm-tools. + +commit a74bd9604cdb98b1f0aa8c88557f14c006daff32 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 4389d0b1092a59307527b2b83f4daa42e991a797 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + [Tools GuestInfo] Return proper osname for Centos 6 / 7 (again) + + Updated the code to detect Centos 6 and Centos Linux 7 and return + proper osname acocrdingly. + +commit 73124d51a3ef2db737bf9313d93dd206851bec99 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + [Tools GuestInfo] Return proper osname for Oracle Linux 6 / 7 + + Updated the code to detect Oracle Linux 6 and Oracle Linux 7 and return + proper osname acocrdingly. + +commit 7ea377da1d85f0d3f691fa8d17d7650117f57351 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 7b8be4232011660d2fda9964815cfa2fed2f1978 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Hold a reference to vSocket address family in vmtoolsd. + + On old hosts that do not support secure guestRpc vmtoolsd + falls back to use backdoor. However, there could be vmci + and vsocket drivers loaded in the guest that make vSocket + consumers (e.g. guestLib and namespace-cmd) try vSocket + all the time before falling back to backdoor. On old Linux + guests like RHEL 5, 6 (kernels below 3.9 that do not have + upstreamed vmci and vsocket drivers) this causes log spew + in guest system logs because of vSocket address family being + registered and unregistered on each RPC call (RpcChannel_SendOne). + + This could be solved in multiple ways involving some + work from user. In order to solve this problem in a user + friendly way, we hold a reference to vSocket device in + vmtoolsd service, so that the reference goes away during + Tools upgrade. + +commit f9ca53c4a687a98d59252da4ef01f7aeca567c6c +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Check for bad length fields for input byte buffers in dataMap code. + +commit 2e8e7ad263ea50e654daf0059bbc9848bc07777d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Change to common header file that is not applicable to open-vm-tools. + +commit 2d1e452455547c53440376f11beafb5a2353d4ad +Author: Oliver Kurth +Date: Fri Sep 15 11:22:52 2017 -0700 + + Common header file change that is not relevant for open-vm-tools. + +commit 25c80a2d761895fa0e5d1ed81b57d3beb0013de4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Common header file change that is not relevant for open-vm-tools. + +commit 9d8ec66013825637450a45545e43856edef1d31f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + open-vm-tools: fix build error in Ubuntu 16.04 + + The -std=c++11 causes an error when used with the GNU C compiler, but it + is in GTKMM_CPPFLAGS. So this change moves GTKMM_CPPFLAGS from + libdndcp_la_CPPFLAGS to libdndcp_la_CXXFLAGS in + services/plugins/dndcp/Makefile.am. + + This also fixes building for current Debian sid. + +commit 21f3c28eb8313b438eba527d8682facdb38ffbe3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Hgfs Linux Client: fix editor prompts for file changes + + When using some editors such as gedit to modify files on the HGFS + shares the editor can become confused thinking that the file has + been modified remotely and therefore needs to refresh the contents. + This occurs due to the file's modify and change times being updated + after the last writes from the editor and the modify/change times + in the inode not being updated immediately. + +commit 540e28c3bc64036544ec6ad4fd699c9e0ac042aa +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Fix a couple more Coverity-reported issues in tools. + +commit ff25bb230a11fc2ffdfe083c431954431aec8f5b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Common header file change associated with adding Misc. debug messages for + the toolsversion module. Change is not directly applicable to open-vm-tools. + +commit ad5594513039ccef144f50bebef5a92e959336b2 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Change to common header file that is not relevant to open-vm-tools. + +commit 81b7df238e07f9751d5c4c7708ef6798eab0ff91 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Changes to common header file that are not relevant to open-vm-tools. + +commit 2657d8b086c690c907ee9d081b2d9180d5a00400 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Fix additional Coverity issues in tools and hgfs. + +commit 92efdf7562187cb1d165b2b91850663c013dedc4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + CAF does not synchronize correctly with Namespace DB. + +commit 0b509208ad839e448f0edd6ccb8432933ca72e01 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:51 2017 -0700 + + Detect slow running systems in guestInfo. + + - Added a new function in guestInfo. The new function checks the last + time when the guest info was captured and prints a warning and sends + a RPC message to the VMX if the elapsed interval was more than the + expected poll interval. + +commit 95729ef369d7ca470ecb725e7174aaddbcfc0ac9 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:50 2017 -0700 + + Improving CAF build time, especially for open-vm-tools. + +commit 47f51db7077ed034ab4b9a39814deb47fc7d36dc +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Improving CAF build time, especially for open-vm-tools with additional files. + +commit 1224c7aecd5e803ce687f3c7595285e532eeb89f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit ec268d17c45a056493dde0166351a5cff5bc56d3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 16d2e8adc837c29dded94b2c29c3b176c92f8342 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit dc95efcb7d4bb7d865b7d37f9aaafe6fb8009e59 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Tools: Implement resolutionKMS for linux + + tools: Enable the use of the PKG_CHECK_MODULES macro for open-vm-tools + + Adds a path to the pkg-config utility and sets up the open-vm-tools test + build environment to be aware of its m4 macros. + Also sets up a local directory for .pc files and adds the libdrm and libudev + pc files to that directory (during open-vm-tools configure time) to prepare + for resolutionKMS testing. + + tools: Prepare resolutionSet for resolutionKMS on Linux + + - Add a set of utilities for detecting the DRM version, the Xorg driver + version and to dlopen libudev and libdrm if they are not available at + build time. The utilities also include opening and closing a DRM file + descriptor from a given type of device node. + - Change the check for Xorg driver version in resolutionX11 to use the + new utility + - Pass a ToolsAppCtx to the resolutionSet backend for access to the + configuration database. + - Finally, detect if there is system and / or configuration support for + resolutionKMS and in that case back off resolutionSet + + - Added some license information to resolutionDL.h + - Added an include to resolutionDL.h + - Fixed some ifdefs around HAVE_RESOLUTIONKMS + - Modified other backends for the new resolutionToolkitInit() interface. + + tools: Add the resolutionKMS plugin + + What's resolutionKMS + ResolutionKMS is a plugin that takes over the resolutionSet functionality, + but as a vmsvc plugin rather than a vmusr plugin. Instead of talking to the + X server it talks to the Kernel Mode Setting (KMS) functionality of the + vmwgfx kernel module. This enables the following functionality. + + - Resolution / Topology switching at the login screen + - Resolution / Topology switching when multiple users have launched multiple + X servers as part of fast user-switching. + - Resolution / Topology switching for new native compositors that support + the KMS way of communicating resolution / topology (as preferred mode and + connector properties) As far as I know, only gnome-shell / Wayland can do the + topology switching today, since I implemented the missing support for it. + We need to address this issue also with Mir and other Wayland implementations. + + New dependencies. + The new code requires libudev and libdrm. For open-vm-tools, I've opted to + require those libraries at configure time. There's no option to build linux + open-vm-tools without resolutionKMS support, although that should be easy to + add if needed. For vmware-tools, there is code to enable resolutionKMS iff + libudev.so.1 and libdrm.so.2 are present at load time and can be dlopened. + For vmware tools there are no new build dependencies introduced at load time + AFAIK. (dlopen?) + + Enablement + ResolutionKMS requires vmwgfx 2.10.0+ and xf86-video-vmware 13.2.0+ to + guarantee that we don't lose functionality compared to old resolutionSet. The + vmwgfx kernel module has a way to check version at runtime. For the xorg driver + the situation is different since resolutionKMS is typically launched before + Xorg. Therefore we fall back to the hackish way previously implemented in + resolutionX11.c to find the driver file and scan it for version info. Oh well. + In any case, there is also an option to override this and enable or disable + resolutionKMS in the tools.conf file. If resolutionKMS is disable either by + lacking system support or by configuration, the old resolutionSet functionality + kicks in. Extensive debugging info will be present in the tools daemon logs. + +commit a52a972596c8224b9a3c21b5e724b3b7bb1dbda0 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 256d7b2ef23dcb8b5eda287f353a877b2bea17ce +Author: Oliver Kurth +Date: Fri Sep 15 11:22:49 2017 -0700 + + Fix unused function errors thrown by clang 3.4 + +commit 94d23bfaea56d6a81a09ea821fca8be3b62e50e3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit 4ab6be4b1e100995f32f6b02499f573a64af96a1 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Common header file change that is not relevant to open-vm-tools. + +commit e0d6775f32940f4d0b04eaf7d71c0496567cbb33 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Common header file change; not relevant to openb-vm-tools. + +commit 9556561f31678cec6c6fd5c77c29a38ae7938768 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Fix additional tools issues reported by Coverity. + + Fix some issues found by the latest Coverity scan of tools 10.1, + plus a few related nits. + +commit 30af262e97092bb4f53e59e78f9ab251fbd84980 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Change to common header file; change is not relevant to open-vm-tools. + +commit f07c2501fbc0d5e590b248861abefbad048d7bde +Author: Oliver Kurth +Date: Fri Sep 15 11:22:48 2017 -0700 + + Bulk changes for the common-agent service. + +commit 0ecb4e2697efaeb96e864653182371ba137cb504 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Common-agent Framework Makefile additions. + +commit e6398247d4ba37df3755a18c86585bc7c83d873f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Backout previous change to common header file; change is not relevant to + open-vm-tools. + +commit aff5db3088785e5b2f3f472d40fec8562c172d67 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Hgfs Fuse Client: increment the client version to 1.6.3 + +commit 0bacc86a825cd6844edf97c9780b70539e79c649 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Hgfs Fuse Client: fix symlinks + + Symlinks were not being handled correctly for some cases. + + The symlink creation call tried to make the target an absolute path which + it should not do. Only the source is passed as the absolute path which + is created and links to the target which can be relative or absolute but + is dependent on what the user passes. + + The readlink was broken and incorrectly creating a target name to pass + to the FUSE library. + This was obvious when alternative mount points are used + e.g. .host:/Users -> /Users + instead of + .host:/ /mnt/hgfs + + This was discovered when used in the containers environment with docker. + However, it is a standard option for HGFS client usage in any hosted product. + +commit 8468f4d9c6e1aa445e518fe9843bb93582fad614 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + vmxnet3_defs.h: Common header file changes; not directly relevant to + open-vm-tools. + - Fix Rx Ring2 max size + - Add Tx Data Ring Desc Size config support + +commit 071fb8f0322461caeec876cb24a67be94c7916a3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + syncDriverLinux.c: Revert of "fdCnt" from ssize_t back to size_t. + +commit 0408b14f7ba45c4b5e03555e13c2051d9e1c07eb +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Common header file change; not relevant to open-vm-tools. + +commit b9382f4cbb636d9663e878a416b5b9727ab42d6f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Correct the freeze and thaw ordering for mount points + + There were two issues with the way we were doing quiescing on Linux: + 1. Thaw was following the same order as freeze, actually it should + follow the reverse order of freeze. Fixed the thaw order. + 2. Freeze was following the order provided by getmntent API which is + the order in which system created the mount points. This could + be problematic when a mount point depends on other mount point, + e.g. loopback mount point. In order to honor the dependency + among mount points, we need to reverse the order of mount points + listed by getmntent API. + + While reviewing this change it was found that the interface used for + passing the mount points around was not very clean. It was a ':' + separated string of mount points. There were multiple problems with it. + We were converting a list of strings into one string and then tokenizing + it later. As part of this change, we fix that interface too by replacing + the string with single-linked list, GSList. Using GSList brings glib + dependency to lib/syncDriver. + +commit a9fee8fc8c7fc7f4062815aa97141b7572c0638e +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Changes tp common header file; not relevant to open-vm-tools. + +commit 66b06a4658db665c902745bfe830ed23d25a9257 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Common header file changes; not relevant to open-vm-tools. + +commit 421ed81330addabc27288df3e029c42fb679d1dd +Author: Oliver Kurth +Date: Fri Sep 15 11:22:47 2017 -0700 + + Changes to common files. + - lib/file/fileIO.c: Make Fil3_SwapFilesi() path more robust wrt resource + contentions. + - Common header file change; not relevant to open-vm-tools. + +commit 02846fb1238894d196ba60540b09631b64027bbf +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Change to common header file; not applicable to open-vm-tools. + +commit b8937cc84b75be2c53d693448b74853c88f49508 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Change to common header file; not applicable to open-vm-tools. + +commit ebc26216ee0db2c7d80215ffc0b930a5560f2696 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Remove unreferenced functions for common header file; not applicable + to open-vm-tools. + +commit 3f41e75df9c7a3f19f1ed98e35607e8c463dd543 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + lib/file/file.c: minor cleanup to File_GetSizeEx() + - Make the code consistent with the rest of lib/file. + +commit 6d9a970fe99f6f9deeb4adcb742ee9a16a8a2072 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Bulk updates to the common-agent (CAF) code. + +commit e5e137c279c3e69a509610b16e57548a04b4b9c0 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Hgfs Win Client: fix PFD issues part II + - Header file changes related to PREfast analysis which centers around + buffers and locks. + +commit 98e46fc11a1f396e17de54955714d09d485b0bd3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Change to common header file; not applicable to open-vm-tools. + +commit 69586aa7734f05532020036bf5d4941466b272d4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Update the COPYRIGHT_YEARS macro definition. Other common header file + changes that are not applicable to open-vm-tools. + +commit 3138663e346e46edbb2dbb3f6d3da6c53f6db5d6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + lib/string: Str_Strncat boundary check improvement to prevent buffer overflow. + +commit f90b4ba957c5882a42e16866c664561f83ed012a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:46 2017 -0700 + + Reversal of common header file change; not relevant to open-vm-tools. + +commit c0cb8c0fa80e51922e1884c7b96af1ea124df286 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:45 2017 -0700 + + Change to common header file; not relevant to open-vm-tools. + +commit 5d49218af0bf446a53634326210b7d975fa60e15 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:45 2017 -0700 + + Bulk update (merge) of common-agent Communications, Framework, + InternalProviders, and ManagementAgent source code. + +commit 40e2d2aecc77978d9fdcf45222d965b14909e0ab +Author: Oliver Kurth +Date: Fri Sep 15 11:22:45 2017 -0700 + + Fix buffer overflow in Str_Strncat() found by Coverity. + +commit a2ebd45dba6f81f18095c4ec4fb37570e16ad889 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:45 2017 -0700 + + Common header file change; not relevant to open-vm-tools. + +commit 73e51edb60bba741d4596e4050ecca017aa2f428 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:45 2017 -0700 + + Reversal of common header file change; not relevant to open-vm-tools. + +commit 6728bf7f0a6eeb1fd57259222d54d0fc02bb0af5 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Update the Copyright Year to 2016 in all files released to open-vm-tools. + +commit 73cc2517fd13410fe425d9f311dbe7d99f480a7a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Implemented StrUtil_ReplaceAll() function in lib/misc/strutil.c. + +commit 54cd36c00ecde5a4695f87cf6685bcdb051503fc +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Common header file change; not relevant to open-vm-tools. + +commit 08c8209dfb01ff07d82ba1e1cdbe26ead51ba5d9 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Fix some leaks found by valgrind. + - leaking the 'data' pref value for a log handler. + - leaking an rpc message response if the caller doesn't want it. + - leaking username/password for every guestOp + +commit de63075c8db55b9f2c56a33fcb6bdb7022442f4a +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Updated license file for open-vm-tools 10.0.7 release. + +commit ea43b765eae7ecd90c9de235d603ae0a67c233f1 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Adding CPUID leaves to common header x86cpuid.h. Change not relevant to + open-vm-tools. + +commit 459de87474e55edbaf41045203dafec281a3a25c +Author: Oliver Kurth +Date: Fri Sep 15 11:22:44 2017 -0700 + + Fix setlocale() usage to address valgrind diagnostics. On Linux, the + return value points to static memory, so we have to make a a local copy. + +commit 36c02b436573532aca9d4122457b6e2166447a09 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Update copyright year in two open-vm-tools files. + +commit ec39982bf2441c6d018f5b586ecd0db541634738 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Update vm_assert.h header file to avoid false positive diagnostics from + Coverity. Make Panic_NoSave a NORETURN function. + +commit ddf410de23d33737d2ce92673ee0c0e8ad95cc2c +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Common header file update; not applicable to open-vm-tools. + +commit ec88ceddf4df201a75e026ed70acd34a7ffbc9a0 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + lib/hashMap: Remove unused HasMap_Store() and _Retrieve() functions. + CheckSanity() should only be compiled if VMX86_DEBUG is set to avoid + an unused function warning from clang 3.4. + +commit e566d0b0b46f97368f9337f5edf1683e29d96bd6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + lib/log: make the default log level accessible - and use it + + The default log level is known interally to the Log Facility. It needs + to be available "everywhere". Do that and deploy it to all places + that should use it. + +commit 1c6c46cbbde90641cf576232aa057c5143eb9bd2 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Revise dtoa() to use ecvt_r/fcvt_r on Linux/ESX an thus avoid using a + pthread_mutex_lock. + +commit 693447e4cb16520c5e3e30912bb6627f7da5bd12 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + vmci/vsock driver changes for Windows; not applicale to open-vm-tools. + +commit 125541c04a7aeac6e152fb5a622ba9052bfca294 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Multiple fixes for common source code. + + - File_FullPath() revised to return the canonical path of a file or + directory that exists or is about to be created as a child of an + existing directory. + - Common header file updates; not related to open-vm-tools + +commit 82b8208469fe93a6ebd38fa2fc2f01b1c8285ba6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit ba4c8e31b7399c973018dfb78c22de83b7a5e2a3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit 2e2da21bc35ee3f549fdeb3bfd2d603e1ad4975b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + The Linux network script has been updated to prefer 'ip' command over the + 'ifconfig' command for gathering network information. + +commit 61f75b64bff213d2684a3c605a769a4ac1bb4571 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:43 2017 -0700 + + Shared header files update; no impact on open-vm-tools. + +commit 287e43342dc28d3f9025473e426ed0546778b653 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header files update; no impact on open-vm-tools. + +commit 5c08abe5acffa318c13c202c0e460865ab5b0af8 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit 64ae3e26c53a068239d4cfba6bccce8dc727dc40 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit e2586abb3ddd050f994e1cfd8c9409ff22d0a4c4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Update vmtools version history for the 10.0.7 update release. + +commit 6d79bbad4cc9d240435eef81976c47cd87c73d46 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Update vmtools version history for the 10.0.6 update release. + +commit ab4f4e18d5113d417b9bf71bc025c13754fa033b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit 7fd1a75c6c9bd5a13a4d6edc46bc788b45477b8b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit c542715b609f97bc7edf8f0f7cc93432ce38e768 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header files update; no impact on open-vm-tools. + +commit 918ceee2070d734719522f08316fe51a5fc1dd06 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Shared header file update; no impact on open-vm-tools. + +commit 8784dbd4a5de1407e1e46bb3027c02cc7f3c3c60 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Korean messages for the toolbox-cmd have been updated. + +commit 58bb1478d18e9f46e92c65b2336f4c274073e98e +Author: Oliver Kurth +Date: Fri Sep 15 11:22:42 2017 -0700 + + Bulk updates to the common-agent (CAF) code. + +commit af47b4c8c2a5afc12bb026ba5206a6788977ac16 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + The Posix_GetAddrInfo and Posix_GetNameInfo wrapper functions are modified to + convert between UTF-8 and UTF-16 encodings. + +commit 1a037dfaf1fba399bd69bf16f3dba0c679c79e03 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Updates to CAF accessory files. + +commit 55aec4b1557853abac4a66e76a1d70ddf82d9735 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + The namespacetool links with the vmtools lib which has implemented the + functions "Debug" and "Panic". The locale definitions of these functions + in the namespacetool source has been removed. + +commit 5114233485a7d1da81b265515c584dfce21a056d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + open-vm-tools: Fixes to build with FreeBSD + - amd64 in host_cpu means 64bit, add that to configure.ac + - use 'z' for FMTSZ in FreeBSD, just like Linux + +commit 94fb4c14aaa3e58047f66ba7a8f075611be1a7df +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Update copyright years for CAF Makefiles + +commit 62136174788796a89f8c38b74eaf7aeea6b059a8 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Default shared-secret authentication to unsupported (disabled). + +commit 2b654ed9f3285f5e31b55babc0e51b73f72fb501 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Make VSS BackupComplete as final steps of the vmbackup process. + + VSS process break up to two steps when + CreateSnapshotEx(WindowsQuiesceSpec) & App-quiescing is applicable: + 1) VSS quiesce and DoSnapshotSet (perform backup and commit snapshot) + 2) VSS SetBackupSucceeded/BackupComplete (VSS notify app BackupCompleted) + + Add a new operator to wait for VMX snapshot complete notification. + +commit a63f28583c1b2cef40884a5593181f7f439ef066 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Common header file update; not needed by open-vm-tools. + +commit 5a7dff47d34af440679a4681dced79fa2438a0ca +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Some source code clean up in vmcisockets + + 1. Remove a typedef that didn't def a type (newer compilers warn). + 2. Rename a local that had the same name as a var in a higher scope. + (note: there is no confusion or lost error case luckily here) + +commit 25d7c89552c6761dab6eb182f475e8825a38aa3f +Author: Oliver Kurth +Date: Fri Sep 15 11:22:41 2017 -0700 + + Remove wmemchr() from bsd_output_shared.c since it is no longer required. + +commit fddbf299e58ed60705188c8b1ea90eaefeb40d57 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + Updated shared header files, not relevant to open-vm-tools + +commit 6c61db33226c0d5a47be3a9a2e91ec736d6213a4 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + GuestRPC vmbackup.h header file update. + + A new RPC messages has been added: VMBACKUP_PROTOCOL_SNAPSHOT_COMPLETED + +commit 0066453d3d86095b22c5450ee7362b08ad9bfcd6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + CAF changes to support release in open-vm-tools. + +commit 37ca884eaa72248dce6d20bbd960663a8c482d42 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + Update of the common-agent (CAF) service source from the development team. + +commit c7b7fc7386900037169e4c17999f4c63ac9d65b3 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + L10n messages updates for toolbox + +commit 5fdc593389e1ad5a593aad36cbddbb646ed98dc6 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + VGAuth cmdline parser improvements + + Restore support for '=' between option and value. + +commit e64c2a0782218c06c6e8b24d59795e7ba99b466d +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + Use the primary connection remote IP for the secondary UDP connection. + +commit 409e01197d45e88ef9b1a1591963b19b44fee479 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:40 2017 -0700 + + Improve VGAuth logging + + Make the default logging more useful by converting a number of Debug() calls + into Log() calls. Request basics and errors are dumped. Tokens are hidden + for security concerns and certs are hidden to reduce the noise level. + +commit dc23a48e0ea22921099ea8af8693f553a1ade5f1 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + Common source code merge + + - Update poll timer callback's to use 64bit integers for delay. + - Avoid creating substrs if unnecessary in Unicode_CompareRange. + - Vmxnet3: Add Receive Data Ring Support. + - Comment cleanup. + +commit 3184e983998b9cafbcf8e5f719fccd0200e5900b +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + Fix the CAF upgrade script to handle upgrades from an "old" + (pre cafenv-appconfig) version of CAF. + +commit 80bab95be93b4e26aaaa118086f009528f410bab +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + Build change; not related to open-vm-tools. + +commit 1108b3852688839e7aeb15d25d830929f027e6a1 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + lib/poll: Attempt to use IPv6 sockets first for Windows socket pair + + We should always use IPv6 sockets even for loopbacks if IPv6 is supported so + that we can work properly in IPv6-only environments where IPv4 has been + disabled. + + If the IPv6 socket fails to create then we can fallback to IPv4. + +commit 01974d9d73fb20f50ecd7dfc47ffaff672e1c8de +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + Update the Copyright year to 2016. + +commit 71aedd8d535ebeaf29a2ffa780176f8bb72cb87c +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + Add a stolen time interface for guests + + This change adds a cheap stolen time interface for guests. Guests must + use the backdoor port to register a per-VCPU object in memory called the + "stealclock" with the monitor. From then on, until the clock is + disabled, the monitor publishes clock values whenever stolen time is + accumulated. A complete specification of the interface is included in + this change, as a text document: bora/doc/stealclock.txt. + + Pending clock updates are represented by an idempotent monitor action, + posted whenever stolen time is accumulated. In the current + implementation, this is whenever we update stolen time on transit from + host to vmm. In the future, it may an action posted by the vmkernel, + whenever stolen time is updated. + +commit 3ac9ac2858f67652f296013e263c6ea1da9f4887 +Author: Oliver Kurth +Date: Fri Sep 15 11:22:39 2017 -0700 + + VMkernel build change; not related to open-vm-tools. + +commit 07cf66aba6d36407896a519c4f4f229702ed8b0a +Author: Oliver Kurth +Date: Wed Sep 13 16:46:38 2017 -0700 + + except common-agent/etc/config from .gitignore + +commit 2953dedddaf479d00661c4a0c64e7708492a4a22 +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:00:25 2015 -0800 + + add .gitignore + +commit ef9ffadbdee99fce285bd0af5a8c9799c0aa8a10 +Author: Oliver Kurth +Date: Fri Sep 15 11:06:34 2017 -0700 + + reset buildNumber.h to 10.0.5 version + +commit 5a00e4e76c6deb863cfba4adb6aeca4608fafaac +Author: Oliver Kurth +Date: Wed Sep 13 16:24:53 2017 -0700 + + clobber to create a starting point for the development branch + +commit 538ea037a1549b6fd4e57529f7448a3fd2aa47af +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:59:42 2015 -0800 + + changelog for 10.0.5 + +commit b75dbce79523a0145345f97afcdc06bed11dc46f +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:33:40 2015 -0800 + + version bump to 10.0.5 + +commit ae82fa65627575567ead1b0d30eff1777b567ff1 +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:28:27 2015 -0800 + + [Bug 1526360] fix timestamp check + +commit b510107055b144bc28c7e03a17176211860df6f8 +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:27:40 2015 -0800 + + [Bug 1531545] Add an error handler to X11 resolutionSet + +commit adab9c550cd86f759c85294aa53b1870ec58affa +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:26:38 2015 -0800 + + [Bug 1503195] Kill tasklet when unloading vmci module + +commit 35bcc69ef81bbae1a21187d1e8e8a572169a5abe +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:19:34 2015 -0800 + + [Bug 1519223] Avoid warning message when logging group is missing. + +commit 581f2d0e93a3aacd7bbf252963d2fbd1720bab15 +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:17:59 2015 -0800 + + [Bug 1473600] Skip freezing autofs mounts. + +commit 8184e9291c7db41781c127d8541cc75ff243902a +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:17:12 2015 -0800 + + [Bug 1507819] Workaround fix to avoid rpc warning messages flooding by changing log level to debug. + +commit eb47321942fccebe76344ade5b52d8f95bcbbbbf +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:10:33 2015 -0800 + + [Bug 1526327] make vmhgfs compatible with Linux kernel 4.2 + +commit 54c10e813bf2a7b60b075d3bfe9204670e1aec4c +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:01:24 2015 -0800 + + remove cache files + +commit aa0790cd582e3dcf7c665c6f1dedf11117442ed2 +Author: Dyno Hongjun Fu +Date: Mon Nov 23 22:00:25 2015 -0800 + + add .gitignore + +commit 85a99f4253dddf7e47e873fec4c43c15b7d8c2bc +Author: dsouders +Date: Tue Sep 1 17:04:28 2015 -0400 + + Update ReleaseNotes.md + +commit 6994576b2b44d2301daa736b893feb9828b0b816 +Author: Douglas Souders +Date: Tue Sep 1 08:56:05 2015 -0400 + + Adding Release Notes + +commit ebed1074323950b03d25b31c54741eaa128c3e0c +Author: Douglas Souders +Date: Fri Aug 28 09:56:56 2015 -0400 + + release 10.0.0 from build 3000743 + +commit 39228f1efb8b4070d1ca2636e4f552c106346f46 +Author: Sankar A Tanguturi +Date: Fri Aug 21 18:00:04 2015 -0700 + + Update README.md + +commit 5fce57c2e30069a2ba14356827743e7f575b5168 +Author: Ravindra Kumar +Date: Fri Aug 21 12:01:29 2015 -0700 + + Corrected URL for automake + +commit 7bac35f4e8787553f68972feae7966b0236c06ac +Author: Douglas Souders +Date: Tue Jun 16 17:49:24 2015 -0400 + + release 9.10.2 from build 2822639 + +commit 0696234c3905bf91cfba2cf909dbf92fc30ee6fc +Merge: b23378e aaa2085 +Author: Oliver Kurth +Date: Thu Mar 19 11:11:07 2015 -0700 + + Fix README.md + Merge commit 'aaa20859c29247ca89a68f47c1a7b1a3b15bae09' into stable-9.10.x + +commit aaa20859c29247ca89a68f47c1a7b1a3b15bae09 +Author: Oliver Kurth +Date: Wed Mar 18 17:25:02 2015 -0700 + + Update README.md + +commit b23378e336a7b0ecc7a4584c9a5f185b40e1ef5a +Author: Oliver Kurth +Date: Wed Mar 18 15:52:50 2015 -0700 + + release 9.10.0 from build 2476743 + +commit 08d7040ebfe99f74478f7282d9bb98cfcadf4a4a +Author: Oliver Kurth +Date: Wed Mar 18 17:07:24 2015 -0700 + + Update README.md + +commit 5568d3e1d0bd4b4297111a67e75d820c54a17124 +Author: Dyno Hongjun Fu +Date: Tue Jul 1 16:12:29 2014 -0700 + + Update README.md + +commit 8b89d5b01f0b6d97e306648236869ce10b056293 +Author: Dyno Hongjun Fu +Date: Tue Jul 1 16:10:59 2014 -0700 + + Update README.md + +commit 9188c775bedccd3975c001cf6100124225918d53 +Author: Dyno Hongjun Fu +Date: Tue Jul 1 16:08:29 2014 -0700 + + Update README.md + +commit 86c542caae41b54f297be910c9b92f6f38b32164 +Author: Dyno Hongjun Fu +Date: Tue Jul 1 16:04:48 2014 -0700 + + Update README.md + + try markdown + +commit ba9118e19d98c8ded12791869d9d1166631ae985 +Author: Dyno Hongjun Fu +Date: Tue Jul 1 15:56:12 2014 -0700 + + Create README.md + + this is the README file inside open-vm-tools/ + +commit f815ec597079716da64d51465f2a33c65427053b +Author: VMware, Inc <> +Date: Sun Sep 22 22:56:07 2013 -0700 + + Updating open-vm-tools version for release 2013.09.16-1328054. + + Signed-off-by: Dmitry Torokhov + +commit 112e1dfdd1884f189363ce5692c991170b0791fb +Author: VMware, Inc <> +Date: Tue Sep 17 20:43:28 2013 -0700 + + AsyncSocket: Update AsyncSocket_GetRemoteIPAddress for IPv6 support. + + AsyncSocket_GetRemoteIPAddress offered the return of the IP in integer and + string formats, none of the callers cared for the integer return so remove it. + Update name appropriately + AsyncSocket_GetRemoteIPAddress->AsyncSocket_GetRemoteIPStr. + AsyncSocket_GetRemoteIPAddress only supported the returning of a IPv4 string, + utilize Posix_GetNameInfo that uses getnameinfo which is IPv6 compliant. + + Signed-off-by: Dmitry Torokhov + +commit 76713ae5c4d5f7a4616d3005137c276535d654fa +Author: VMware, Inc <> +Date: Tue Sep 17 20:43:03 2013 -0700 + + AsyncSocket: Removed unused AsyncSocket_BindUDP. + + AsyncSocket_BindUDP is unused, and looking at it I am not sure if it ever worked + as described, since it did not actually bind to the port specified, just a UDP + listener. + + Signed-off-by: Dmitry Torokhov + +commit adead816acb768fb9c4a91942c93f464894902f9 +Author: VMware, Inc <> +Date: Tue Sep 17 20:42:40 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 06b51461bb1a2e01282d0244ff0f47b8d5ae8bea +Author: VMware, Inc <> +Date: Tue Sep 17 20:42:24 2013 -0700 + + Allow for future use of AF_UNSPEC in AsyncSocket library + + Create a socketFamily switch in AsyncSocket_Connect and + AsyncSocket_ConnectWebSocket for future IPv6 integration. + + Allow for future use of AF_UNSPEC when a connection does not care if it is + AF_INET or AF_INET6. Since AsyncSocket does not fully support AF_INET6 yet and + our AF_INET6 test bed is not yet completed, hard code all callers to AF_INET. + + Signed-off-by: Dmitry Torokhov + +commit b81233bd0375e5358a55b387e638e9f569a0cc53 +Author: VMware, Inc <> +Date: Tue Sep 17 20:42:16 2013 -0700 + + Provide a kill-switch for using vsocket in RpcChannel. + + Adding "void RpcChannel_SetBackdoorOnly(void)" API to allow to disable vsocket + if needed. + + Signed-off-by: Dmitry Torokhov + +commit c634402c98c2eb419d111797c39e4907aa35a8eb +Author: VMware, Inc <> +Date: Tue Sep 17 20:42:05 2013 -0700 + + Update AsyncSocketResolveAddr to allow AF_UNSPEC and AF_INET6 ai_family. + + AsyncSocketResolveAddr currently only accepts searches for AF_INET. Update it to + search for AF_INET6 or both with AF_UNSPEC. Since we no longer need to return + sockaddr_in for AsyncSocket_SendTo, only populate sockaddr. Also add a + convenient IP string generation after resolve so all callers do not need to do + the same operation tp log the IP string with port number. + + Signed-off-by: Dmitry Torokhov + +commit 9644250ed9110aa38d5a8f467499b3d9678f7a05 +Author: VMware, Inc <> +Date: Tue Sep 17 20:41:58 2013 -0700 + + VMCI/VSOCK: Bump version 9.5 => 9.6 for next release + + We shipped 2013 with 9.5, so the next release will have 9.6. + + Signed-off-by: Dmitry Torokhov + +commit 6d6386468f1189621245bc99d0b4a55b4253a97b +Author: VMware, Inc <> +Date: Tue Sep 17 20:41:38 2013 -0700 + + Remove AsyncSocket_SendTo + + Nobody is using it anymore. + + Signed-off-by: Dmitry Torokhov + +commit bf72ff33d02e9c1b0d6d2d3ab0a9b13c7a2747a9 +Author: VMware, Inc <> +Date: Tue Sep 17 20:41:16 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 5eadb43a7d115dfb9e93875b0308d6f88c2c330f +Author: VMware, Inc <> +Date: Tue Sep 17 20:41:27 2013 -0700 + + desktopEvents: Leave libICE rug firmly under libSM. + + While the libICE spec's section on error handling suggests applications + close libICE connections in response to I/O errors, libSM (which + sits atop libICE) continues to refer to such deceased libICE + connections, and doing so during shutdown leads to an app crash. + (libSM should've registered an I/O error handler of its own which would + run before the application's, but it doesn't. Oh well.) + + To work around this, we'll detach the ICE connection from our + application event loop but leave its handle alone. + + Signed-off-by: Dmitry Torokhov + +commit c9200b341b7612be273c4402a3381e507766e526 +Author: VMware, Inc <> +Date: Tue Sep 17 20:41:07 2013 -0700 + + Remove ASSERT_OR_IN_PANIC() from public/vm_assert.h + + Signed-off-by: Dmitry Torokhov + +commit c297a757b88435ca43bfe0dcf71b97c5d8a3e41a +Author: VMware, Inc <> +Date: Tue Sep 17 20:40:51 2013 -0700 + + Get rid of ASSERT_LENGTH. + + It was used way back in ancient times in the binary translator + but today no more uses remain. So let us remove this global + + Signed-off-by: Dmitry Torokhov + +commit b102cb180bc724f3656a7d3a27af954b2ebe7e20 +Author: VMware, Inc <> +Date: Tue Sep 17 20:40:45 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit c093dcb7a99a32aaf76fad143ff4a276f8d4bc22 +Author: VMware, Inc <> +Date: Tue Sep 17 20:40:38 2013 -0700 + + Get rid of ASSERT_ALWAYS_AVAILABLE + + Signed-off-by: Dmitry Torokhov + +commit 163a622e1fc4c4a68849a09448ee2aae662713ae +Author: VMware, Inc <> +Date: Tue Sep 17 20:40:17 2013 -0700 + + Fix AsyncSocket reference leak when using IVmdbPoll + + A reference is taken when an AsyncSocket callback is registered in + IVmdbPoll to protect the AsyncSocket from being freed while the callback + has been scheduled to run. That reference is released when the callback + is unregistered if the callback is not going to run, or from the + callback itself if it is already scheduled. The current code does not + correctly handle the case when the callback unregister itself, as it + needs to explicitly release the reference in that case. This change + also adds a Bool to AsyncSocket so we can distinguish between send + callback that is registered as a timer callback so that we know which + type of callback to remove, which is necessary to keep the reference + count correct. + + Signed-off-by: Dmitry Torokhov + +commit 1b62c3e36a56980733f7aaacb1c6b741f5c8670d +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:53 2013 -0700 + + Report correct OS name for ESXi guests + + Prior to this change, vi client would say that the Guest OS was + "Other (32 bit)" whenever Tools were running in an ESXi guest. + Now, the Guest OS is reported as "VMware ESXi 5.x." + + Note that Tools do not run in ESXi 4.x guests. + + Signed-off-by: Dmitry Torokhov + +commit a9635c0923caeef61b51afc5580b51ccb65fd7f5 +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:48 2013 -0700 + + Implement VMware Tools for ESXi 6.0 guests. + + This change provides limited VMware Tools support for ESXi 6.0 + guests. The powerOps and guestInfo plugins are supported. + Only IPv4 addresses are reported, since those are the only + ones we can get through the vmkuser library. + + VMware Tools for ESXi 6.0 are packed as two VIBs on a single + ISO image. One VIB contains the glib libraries that are + missing from the standard ESX distribution, and the other + VIB contains the tools themselves. + + Signed-off-by: Dmitry Torokhov + +commit 3a9f2297a82b9c109e894b5f8ea17753e68830ac +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:34 2013 -0700 + + Harden HostinfoOSData against $PATH attacks. + + We are doing a popen("lsb_release... ") when attempting to + determine host details in hostinfoPosix.c. Using popen means that + $PATH is walked when looking for the lsb_release binary, and that + may give an attacker the ability to run a malicious version of + lsb_release. + + This change does two things, + + a) Hard code the path to lsb_release. I've searched around + the web and I believe the path is always "/usr/bin/lsb_release" + so let's not leave this up to chance. + + b) Stop running HostinfoGetCmdOutput with elevated privileges. Drop + to non-root when possible. If someone sneaks in a new call to + HostinfoGetCmdOutput and doesn't use a full path, then we will + hopefully avoid a firedrill. I'm only applying this to Linux + because the Fusion build barfed when I tried to compile with + without the vmx86_linux. + + I think either (a) or (b) would be enough but I'm doing both, + because each individually is correct. Also note that in the blog + post by Tavis Ormandy calls out doing (a) as not enough, + http://blog.cmpxchg8b.com/2013/08/security-debianisms.html + His example uses a bash feature that allows functions to be + exported. I haven't been able to get that to work on my Ubuntu + machine. + + To test I'm manually run Linux WS and Fusion and verified that + the logs look correct. + + Signed-off-by: Dmitry Torokhov + +commit 3869012deb7658b9aab10ab028d71b32b89a2a85 +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:28 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit cb790dbad75717d0ffb99bc268ee9ed6214c93ba +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:21 2013 -0700 + + Fix nested logging for VmxLogger with vsocket channel. + + Signed-off-by: Dmitry Torokhov + +commit 155eb8d6615c947b71167fabe44b2fbca70a1e39 +Author: VMware, Inc <> +Date: Tue Sep 17 20:39:10 2013 -0700 + + HGFS: Clean up HGFS server unpack file name V3 arguments + + The HGFS server unpack file name argument for V3 packets generates coverity + warnings as it stands. It is also just plain dubious in its usage using the + out argument even when not initialized in the failure case. + + Signed-off-by: Dmitry Torokhov + +commit 63b4fa8d551de8e90101b6de4646d8573f764329 +Author: VMware, Inc <> +Date: Tue Sep 17 20:38:49 2013 -0700 + + Internal branch sync. Included in this change: + + . Support Linux Quiescing for vSphere Replication + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit ac4e72c01eec5565d3ac8d0c84cb4072d9e3e08e +Author: VMware, Inc <> +Date: Tue Sep 17 20:38:24 2013 -0700 + + Change glib logging in RpcChannel to use Debug/Warning/Panic. + + Change glib logging in RpcChannel to use Debug/Warning/Panic so RpcChannel + logging can be controlled by different logging stubs in different + applications(rpctool/vgauth/toolsd etc). + + Signed-off-by: Dmitry Torokhov + +commit 4335f533c88d45fc05fb31b040d42eb0e3db3274 +Author: VMware, Inc <> +Date: Tue Sep 17 20:37:35 2013 -0700 + + Add a new SetDisplayScaling RPC to the list of capabilities. + + Signed-off-by: Dmitry Torokhov + +commit 5ccfbb3cc3da0f026ed8628dbdb07bc187c3bc16 +Author: VMware, Inc <> +Date: Tue Sep 17 20:36:27 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 4a527c999422eaba9795b18e89b69fbeefda8583 +Author: VMware, Inc <> +Date: Tue Sep 17 20:36:04 2013 -0700 + + HGFS: Make Linux client compile on kernels 3.11 + + HgfsReaddir has been replaced with HgfsIterate for the newer releases + of the kernel 3.11 and newer. + + Signed-off-by: Dmitry Torokhov + +commit 2946894f1783f7a735d2e3d3770853b9b29f95ea +Author: VMware, Inc <> +Date: Tue Sep 17 20:35:50 2013 -0700 + + HGFS: Partial fix for corruption when using different file handles to the same file + + File is corrupted while our customer using two threads to read or write a + file via Linux HGFS client. This is because the read handle interferes with + the writes by causing a revalidation of the inode's file attributes. These + were mishandled wrt to flushing out the cached pages. If the new attributes + were different for modification time or file size then the pages in the cache + were invalidated. This causes pages of valid data to be thrown away and the + writes lost. Therefore resulting in a file with gaps of blocks of zero bytes + where writes were not sent to the HGFS server. + + This is fixed by replicating what NFS does in this regard, which is only invalidate + the cache if the HGFS server returned file size only differs from the cached + inode value and only then if the new size is greater. + + Cleaned up the write begin and end which was initially causing problems due + to very buggy code. Have now based this on simplicity from fs/libfs.c and + the simple_write_begin/simple_write_end which shows what the minimal settings + should do handling writes to pages and partial page writes. + These can be viewed under you favorite linux source cross-reference website. + + Signed-off-by: Dmitry Torokhov + +commit 1a3eb34dd0ad5aa3e51d586cf1fcf310c1f4350e +Author: VMware, Inc <> +Date: Tue Sep 17 20:35:40 2013 -0700 + + Fix AssertOnCompileFailed for GCC 4.8 (kernel 3.10+) + + GCC 4.8 now includes -Wunused-local-typedefs as part of -Wall. This + causes it to spew a gazillion warnings when compiling our modules on + 3.10+ kernels. Because it's a typedef we can't use the (void) cast + trick, so we need to use attributes. This change introduces + UNUSED_TYPE to vm_basic_types.h and uses it where appropriate to make + the compiler happy when building our modules. + + Signed-off-by: Dmitry Torokhov + +commit 1dd5464914032fe986710bddaa2359c70a0e2c82 +Author: VMware, Inc <> +Date: Tue Sep 17 20:35:32 2013 -0700 + + Change FileIO_AtomicUpdate to not close files prior to rename on Posix. + + Windows rename fails if the target files are open. Posix does not + have that restriction. + + Signed-off-by: Dmitry Torokhov + +commit 23f95ad9ba8896d1b3a2215ceaf336a0d776d449 +Author: VMware, Inc <> +Date: Tue Sep 17 20:35:16 2013 -0700 + + VMCI: make guest driver work with virtual IOMMU + + Right now we use vmalloc()/alloc_page() for our guest queuepair pages + (and bitmap page) and then do a virt_to_phys() before passing them down + to the device. That's not going to work if DMA remapping is enabled, + since the IOMMU has no idea about the mappings. Switch to + pci_alloc_consistent() instead. We still allocate each page + individually, since there's no guarantee that we'll get a contiguous + block of physical for an entire queuepair (especially since we allow up + to 128 MiB!). + + Also made split between guest and host in the kernelIf struct much + clearer. Now it's obvious which fields are which. + + Finally, drop the PINNED flag from Linux. That was only ever used by + vVol-Filter, and that's been moved over vPageChannel, which doesn't use + queuepairs but has custom rings. + + Once this is in I'll port it to upstream. I considered doing upstream + only, but that would mean pre-3.9 guests would be unable to use + IOMMU support. We should really freeze the in-house driver after + this... + + Signed-off-by: Dmitry Torokhov + +commit c6f49a9aa54be295fb2a8537a0924a8c806cbb19 +Author: VMware, Inc <> +Date: Tue Sep 17 20:35:10 2013 -0700 + + Internal branch sync. Included in this change: + + . turn on vgauth for authn checks + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 1722668cba1cad69bc537ec836f479d1c05e8cc7 +Author: VMware, Inc <> +Date: Tue Sep 17 20:34:44 2013 -0700 + + HGFS: Linux client logging improvements + + Add more logging for tracing file IO calls. + + Signed-off-by: Dmitry Torokhov + +commit c0a9de0c3cc97503bb65a53bb391343232160cc0 +Author: VMware, Inc <> +Date: Tue Sep 17 20:34:33 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 074d772ec4b0f2afcba169c2b6da3ed5a2baeb2f +Author: VMware, Inc <> +Date: Tue Sep 17 20:34:28 2013 -0700 + + Bump up tools version to 9.6.0 for WS 10 RTM. + + Signed-off-by: Dmitry Torokhov + +commit d8fe065a8fb1e13ebb2ed980b8460d2d6c4c2ce9 +Author: VMware, Inc <> +Date: Tue Sep 17 20:34:19 2013 -0700 + + HGFS: Clean up and improve Linux client logging + + Enhancing existing log statements to be useful, moving open flags utility function + into the utility file as in the future it should be used by open and create + entry points. + + Signed-off-by: Dmitry Torokhov + +commit c1bebef1add802f897e3fc120afb66833343359e +Author: VMware, Inc <> +Date: Tue Sep 17 20:34:03 2013 -0700 + + HGFS: Improve Linux client logging + + Minor improvements to improve the logging of messages during debugging. + Remove the less than helpful messages that are extremely chatty. + + Signed-off-by: Dmitry Torokhov + +commit 6b07756ed5974aaed6dec4fc14ae52fe031ae00d +Author: VMware, Inc <> +Date: Tue Sep 17 20:33:46 2013 -0700 + + Fix stringxx to call Unicode_Free() instead of free() + + Signed-off-by: Dmitry Torokhov + +commit 61276a6bde5fa8931c9f4ae142611a296b0cf0c0 +Author: VMware, Inc <> +Date: Tue Sep 17 20:33:35 2013 -0700 + + Housecleaning: VMIROM is dead + + VMI was gone a long time ago. There are a few remnants + still present. + - includeCheck has a VMIROM macro that can go, plus all + locations it was copy-n-pasted into + - vmcore/public/paravirtualInterface.h was totally unreferenced. + + Signed-off-by: Dmitry Torokhov + +commit 119645bbb27989ddae45926a8918bc31d9ae34d2 +Author: VMware, Inc <> +Date: Tue Sep 17 20:33:20 2013 -0700 + + VIX: add opcode for RemoveAliasByCert + + Trying to be tricky and sharing an opcode doesn't work when it comes to + tools-side disabling. So add an opcode for it and plumb it through. + + Signed-off-by: Dmitry Torokhov + +commit 1ed1ec7e22d20401b388ebb08e09ac2b74326c45 +Author: VMware, Inc <> +Date: Tue Sep 17 20:33:01 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 339f41660410a6928c6c657f35b20d8623989fdd +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:57 2013 -0700 + + HGFS: Fix Linux client inode 512B block count + + The Linux HGFS client miscalculated the number of 512 byte blocks to set + in the inode for the file size. It was incorrectly using the HGFS + hardcoded block size instead of 512, which was 1024. This causes the + block count to be half the correct number and so du on a file reports + the incorrect size. fstat also retrieves this block count in the stat + structure so it is likely more applications will break. + + Signed-off-by: Dmitry Torokhov + +commit edffc5fad3c601e1ee3e391532fbc623f8b19519 +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:52 2013 -0700 + + Change GuestLIB SDK to use new RpcChannel API. + + Change GuestLIB SDK to use new RpcChannel API. + 1) Change RpcOut_* calls to RpcChanneel_* calls. + 2) guestlib SDK now has extra dependency on GLIB and vmtoolslib as + secure guestRPC brings a lot new dependencies (rpcin, asyncsocket, ssl, + datamap, hashmap etc). + 3) ship new glib and vmtoolslib for linux and windows packages. + 4) merge logging functions (Debug(), Warning()) in vmtools and guestlib + into one to avoid having same function names defined in two libs. + 5) update build in open vm tools. + 6) app monitor needs to do similar thing, which will be handled by HA + team. + + Signed-off-by: Dmitry Torokhov + +commit e55039cb8452777c2024ce3a13cd3439f36fd554 +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:40 2013 -0700 + + HGFS: Fix Linux client symlinks + + The kernel buffer holding the symlink name was being freed incorrectly + when it was used by the VFS layer. This resulted in corruption and + invalid names being used when trying to lookup the symlink's target. + + The HgfsFollowlink should not be calling vfs_follow_link but calling + nd_set_link to save the link target name that HGFS allocated. To deal + with the release of the name, HgfsPutlink has now been added which the + VFS layer will call as needed and this function retrieves the name from + the name structure using nd_get_link and releases the buffer. Then for + completeness calls nd_set_link with NULL to clear it from the name + structure. The VFS layer internally calls vfs_follow_link after the + HgfsFollowlink call passing the link target name from the name object + that HGFS stored. Hence, why HGFS should not call it directly. + + Signed-off-by: Dmitry Torokhov + +commit 0d5581ae35aaca0a1e645d8ffccaae77c0e39d4a +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:28 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 81536c78e78200c58825b65cb5d188704b70c15f +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:18 2013 -0700 + + HGFS: Fix a Linux client memory corruption + + When doing partial page writes the Linux HGFS client would trash the + initial part of the page leading up to the start of the write and also + trash the remaining part of the page after the written segment of the + page. + + This trashing of the initial part of the page was incorrect and + overwrites earlier partial page writes to that page. This was also + incorrect as the arguments for the offsets into the page were + miscalculated. + + Signed-off-by: Dmitry Torokhov + +commit a4f7f191d0cb1d260f1b13e2545340109be4631d +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:13 2013 -0700 + + Add 4 new guestRPC commands for namespace manager. + + Signed-off-by: Dmitry Torokhov + +commit 79b0afe51c9fe9002ad1613ad8eb1437ef5eafd0 +Author: VMware, Inc <> +Date: Tue Sep 17 20:32:06 2013 -0700 + + Internal branch sync. Included in this change: + + . Fix FileIO_CloseAndUnlink() to handle unlink failures. + . Add Debuan 7,1 to the list of known OSes + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 159e1ec4d24ca2e3b41f13c5f0976a1ecd1fb8b8 +Author: VMware, Inc <> +Date: Tue Sep 17 20:31:40 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 518fab531f95c6a31f15f3fb7ae8a43d0eab4064 +Author: VMware, Inc <> +Date: Tue Sep 17 20:31:31 2013 -0700 + + Fix parsing logic in guestInfo to parse vlan configured NICs + + The regular expression used to parse routes /proc/net/route and + /proc/net/ipv6_route fail when the device names contain "." eg: eth0.80 + which is how the interface names appear when we have VLANs configured. + This fix modifies the regex to handle this case by parsing until a + whitespace character is encountered. + + Signed-off-by: Dmitry Torokhov + +commit b086090409081a4efdad46f6fba27df1b94f916a +Author: VMware, Inc <> +Date: Tue Sep 17 20:31:22 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit e6117c29424490908f1abbbe135cbdaef66258af +Author: VMware, Inc <> +Date: Tue Sep 17 20:31:10 2013 -0700 + + HGFS: Improve the Linux kernel client logging + + Add more logging to make tracking requests and their respective arguments + to aid debugging. + + Signed-off-by: Dmitry Torokhov + +commit a302d14e247c3acd0ce83fa5455f9e759730778c +Author: VMware, Inc <> +Date: Tue Sep 17 20:30:58 2013 -0700 + + Use g_debug instead of g_warning in RpcChannel_Error + + With esx5.1GA Tools, when there are more two Terminal Sessions + connect to a Windows VM, each TS sould have one vmtoolsd running + but actually only max two vmtoolsd run. The Windowds Application + Event log fills up with the warning messages of + "[vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send." + repeatly until close some TS' to have max two TS connected. Some + customers had vmtoolsd crashed but some didn't. This message is from + RpcChannel_Error. After replace g_warning() by g_debug(), the problem + is resolved. This is a workaround for esx5.1x. + + Signed-off-by: Dmitry Torokhov + +commit 566b7aa41af9f0c40b2c53f8a19f1e718c8bb3d5 +Author: VMware, Inc <> +Date: Tue Sep 17 20:30:52 2013 -0700 + + Re-enable vsocket guestrpc in tools. + + 1) Fix some assertion for reconnect. + 2) Call VMCISock_GetAFValueFd so we do not hold vsock usage all the time. + 2) Cut off the dependency of SIGUSR1 with dndcp plugin. + 3) Change function name vmware_unblock_vmware_user to send_vmware_user_sigusr1. + + Signed-off-by: Dmitry Torokhov + +commit c1a77415dc90d322b8ffddd93c2f820bfab76a09 +Author: VMware, Inc <> +Date: Tue Sep 17 20:30:43 2013 -0700 + + Avoid logging non-fatal messages without logging system initialization. + + Logs that come before logging system intialization spam the + console output. Therefore, we make the logging a no-op for + non-fatal messages until logging system has been initialized. + Usually, we initialize the logging system when process starts up, + so we will swallow only those non-fatal log messages that are + generated during very early stages of process initialization. + + Signed-off-by: Dmitry Torokhov + +commit 1c9c43caa766bfd6222ee994e9d97f0fefeeedf9 +Author: VMware, Inc <> +Date: Tue Sep 17 20:30:26 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 88c5964db6aaf5437872c1f553b27c07453dd12f +Author: VMware, Inc <> +Date: Tue Sep 17 20:30:00 2013 -0700 + + HGFS: clean up of server Send packet part II + + Now remove the two unused reply and reply size arguments + that are in the HgfsPacket object from the server internal send + function. + + Signed-off-by: Dmitry Torokhov + +commit cdfb73d3f965ceb791a4ba18d044ad90f29bf645 +Author: VMware, Inc <> +Date: Tue Sep 17 20:29:52 2013 -0700 + + Fix lspci command in vm-support. + + Change + runcmd "lspci -t -v -nn -F /tmp/lspci1.$$.txt" "/tmp/lspci2.$$.txt" + to + runcmd "lspci -t -v -nn -F ${OUTPUT_DIR}/tmp/lspci1.$$.txt" "/tmp/lspci2.$$.txt" + because previous command: + runcmd "lspci -M -vvv -nn -xxxx" "/tmp/lspci1.$$.txt" + would remove /tmp/lspci1.$$.txt in the last step. + + Signed-off-by: Dmitry Torokhov + +commit 8e8095e66632b9a29c89add36ec469d00a8ba6bf +Author: VMware, Inc <> +Date: Tue Sep 17 20:29:44 2013 -0700 + + HGFS: Clean up server send packet callback + + While cleaning up the usage of the HGFS packet abstraction it meant that + the arguments to the HGFS server packet send callback could be cleaned up. + The arguments for the packet buffer and size are now unused as this too + arguments are extracted from the HGFS packet object. + Therefore, remove the unused arguments from the send callback. + + Signed-off-by: Dmitry Torokhov + +commit f51b4f5725fa0df44c200e1c33e17d28c07ea7e5 +Author: VMware, Inc <> +Date: Tue Sep 17 20:29:34 2013 -0700 + + nternal branch sync. Included in this change: + + . Tools,DND,X11: Constrain detection window to desktop work area + . dndcpx11: Adjust style to match Hosted UI guidelines + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 1e7a9a273f62a53d0c9046499cf24b421aa2528b +Author: VMware, Inc <> +Date: Tue Sep 17 20:29:02 2013 -0700 + + Bump up the tools version to 9.4.0 for RTM. + + Its time to bump up the tools version from 9.3.3 to 9.4.0 + for RTM. Added new macros and new version for tools in + bora/public/vm_tools_version.h file. + + Signed-off-by: Dmitry Torokhov + +commit 05f41deaeb8e129915cb501b6a1ce18b46f1c902 +Author: VMware, Inc <> +Date: Tue Sep 17 20:28:39 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit d7debe58f9ebeffc21193c56286ca36266d05142 +Author: VMware, Inc <> +Date: Tue Sep 17 20:28:22 2013 -0700 + + Internal branch sync. Included in this change: + + . Untangle Util_Backtrace and friends so they don't pull in lib/file + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 9f3ea592f1651fc43c715bf2c74499bf63b47ab7 +Author: VMware, Inc <> +Date: Tue Sep 17 20:27:51 2013 -0700 + + HGFS: Server packet abstraction part XI + + Deal with the broken reply packet part of the abstraction. + + Fix the get reply packet function call to separate out the reply data + size passed in and the reply packet buffer size which is returned. + + Add the reply data size field in the HgfsPacket object so that the reply + data size and reply buffer size can be separated out and not overloaded. + This allows the transport channel send routines to extract the reply + details from the packet object and not need the buffer and size + arguments. The send function channel callback API will be cleaned up in + a separate change. + + The get reply function for the packet now sets the meta packet data size + too when it is used for the reply packet. This is used by the VMCI + channel which now only maps and copies the correct amount of reply data + into the guest VM shared memory. + + The reply packet size is randomly overwritten from the total packet size + available for the reply to hold the amount of written data in the reply. + This however, does not have any effect, since, the reply data size is + passed to the send function which then knows how much data to send, and + for VMCI, the meta part of the packet is used to transfer data to the + guest shared memory so the reply part is essentially unused. This is now + deleted. + + Signed-off-by: Dmitry Torokhov + +commit 8fcfef8b4b65a34d9d24686ee9d378b724d56744 +Author: VMware, Inc <> +Date: Tue Sep 17 20:27:44 2013 -0700 + + MPN to MPN 64 conversion for Hosted. + + This change is supporting a 64bit MPN for hosted products. + + Assumptions taken: + + 1. Kindly note that currently we do not have systems supporting 64bit + memory. So hosted vmmon 64 bit MPN is a container to store whatever + monitor passes to it. The underlying assumption is that the higher + 32bits will be zero. + + 2. Physmem tracker still does page walk using 32 bit values and we have + put checks to make sure that MPN64 is just a container with actually 32 + bit values. This was a design decision taken after talking to kevinc and + jpool. + + 3. The CrossPage code is still 32 bit and I typecast MPN64 to accept 32 + bit values for the crosspage code. + + 4. Vmkernel already has another definition of MPN64 and I have retained + their definition for vmkernel specific code. + + typedef uint8 * MPN64; + typedef uint64 MPN64; + + 5. Additional changes were required in bora-vmsoft vmballoon module + which earlier used MPN and called functions expecting MPN64 as an input. + I have however *NOT* changed the PageHandle code of Vmballoon. I have + typecasted to MPN64 where common MacOS page handling functions which + require MPN64 are used. + + Signed-off-by: Dmitry Torokhov + +commit 946a1fed90796096501f5650ca0344f2223d8140 +Author: VMware, Inc <> +Date: Tue Sep 17 20:27:32 2013 -0700 + + Disable vsocket connection temporarily to work around a bug. + + Signed-off-by: Dmitry Torokhov + +commit 66f441a5673d90fc18c084afeb02a8e8e703a555 +Author: VMware, Inc <> +Date: Tue Sep 17 20:27:19 2013 -0700 + + Pass RPCI channel info to guestrpc command hanlders. + + Since now we have secure guestRpc, some commands like namespace manager + needs to handle vsocket/backdoor connections differently. main changes + are in guest_rpc.c, guest_rpc.h, and namespaceMgr.c. Changes in other + files just function sinature changes. + + Signed-off-by: Dmitry Torokhov + +commit 659dde93cfc12789309b42278892667e75914ca4 +Author: VMware, Inc <> +Date: Tue Sep 17 20:27:07 2013 -0700 + + Tools/DnD X11: Logging improvements and cosmetic touchups. + + ===== Logging ===== + + A large chunk of the Tools DND code included function call tracing via + log entries at the debug level. However, it had some problems, such as + generating a lot of noise in all buildtypes. (Remember that Tools only + has 3-4 log levels: debug, info, warning, and error.) There was also a + problem with inconsistency w/r/t logging when a function went out of + scope. + + To address this, I whipped up a dummy tracing object and shove it in + bora-vmsoft/lib/public. By including tracer.hh, one just inserts + TRACE_CALL(); at the beginning of a function to log entry/exit. + Additionally, it works only in developer builds; it's a ifdef'd out + everywhere else. + + Another thing I did was centralize logging of GuestCopyPasteMgr's + session ID and state updates. We now long old/new values upon update. + + More of the DND code has been fixed to log to the dndcp GLib log domain, + making it easier for folks to isolate dndcp logs. (This explains the + switch from Debug to g_debug.) + + ===== Readability ==== + + There was a list of some 10+ sigc signals that, due to indentation and + such, was kinda hard to read & easily skim. I replaced this with a + macro which reduces each signal hookup to one line. + + Signed-off-by: Dmitry Torokhov + +commit 3ef9ccaea708f123f020fe592cb3883ad54034ab +Author: VMware, Inc <> +Date: Tue Sep 17 20:26:35 2013 -0700 + + Fix send retry on vsocket channel. + + Signed-off-by: Dmitry Torokhov + +commit cbfdc1a390497f46bc15d1bff0dd91f9775a3780 +Author: VMware, Inc <> +Date: Tue Sep 17 20:26:30 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 26c693664f4424ce0cf090b9c85df210c8e47467 +Author: VMware, Inc <> +Date: Tue Sep 17 20:26:17 2013 -0700 + + Switch utf::string from g_utf8_validate to Unicode_IsBufferValid. + + In the version of glib we currently use g_utf8_validate rejects strings + containing the non-characters U+FFFE and U+FFFF. This was marked as a + bug and resolved (see https://bugzilla.gnome.org/show_bug.cgi?id=694669) + but until that is released we need a workaround. Our internal UTF-8 + validation routine accepts these characters as valid so use that + instead. + + Signed-off-by: Dmitry Torokhov + +commit eb245cb3633d0f4078ea61c8f8ece54bacc4d855 +Author: VMware, Inc <> +Date: Tue Sep 17 20:26:09 2013 -0700 + + HGFS: Clean up of server packet send + + Make packet the send function local to the only file where it is used. + + Signed-off-by: Dmitry Torokhov + +commit 3d814b1c8ea9b6c5249c064e47326f37026ff2d6 +Author: VMware, Inc <> +Date: Tue Sep 17 20:25:21 2013 -0700 + + Fix VMHSUtilFileMove and clarify comments of File_Replace + + VMHSUtilFileMove has been broken since 2008 and no one has noticed, + so I would be happy to remove the entire mv command from VMHS if + no one would miss it. + + Signed-off-by: Dmitry Torokhov + +commit 48a12d8ff6d89e2e06f094cdf0c34e29fe338cbc +Author: VMware, Inc <> +Date: Tue Sep 17 20:25:16 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 811ceb8315512c3146c9f30b926e86538f7734d3 +Author: VMware, Inc <> +Date: Tue Sep 17 20:25:06 2013 -0700 + + Change the lspci parameters to avoid crash dangerous and offer more readable information. + + Currently our WS `vm-support` runs: + lspci -H1 -M + lspci -H1 -M -vn + The -H parameter is dangerous. In better case it will crash your server, + in worse case it will corrupt your data. + So change them to: + runcmd "lspci -M -vvv -nn -xxxx" "/tmp/lspci1.$$.txt" + runcmd "lspci -t -v -nn -F /tmp/lspci1.$$.txt" "/tmp/lspci2.$$.txt" + runcmd "lspci -vvv -nn" "/tmp/lspci3.$$.txt" + + Signed-off-by: Dmitry Torokhov + +commit c2676c087a208e8bca090c741ef34d6ff1a8cc6b +Author: VMware, Inc <> +Date: Tue Sep 17 20:24:59 2013 -0700 + + Replace some RpcOut_* API using new RpcChannel API. + + Signed-off-by: Dmitry Torokhov + +commit 0bc8730194cd723c32010053a93a580eb336e54c +Author: VMware, Inc <> +Date: Tue Sep 17 20:24:08 2013 -0700 + + HGFS: Server packet abstraction part IX + + Adding in the new fields to indicate the size of the valid data, not the + size of the buffer. Previously, the two were combined which meant that + the buffer size was ultimately used instead making the data copies very + inefficient. + + Another transitional change to get this stuff moved over to handle the + total pack size and valid data sizes separately. Currently, VMCI has to + use the total packet sizes only and so maps in 16 pages and copies all + the data back and forth because it can't tell how much is actually + valid. When I switch the VMCI transport header to support V2 it will + have the correct data size and packet ID - asynchronous will then work + too. + + Signed-off-by: Dmitry Torokhov + +commit 54baff91bb4ee3f1d4bd31e23b1f79ed513a9c81 +Author: VMware, Inc <> +Date: Tue Sep 17 20:23:19 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 7f20a2f72a0a2314a448fc38a6d76623d0744ce7 +Author: VMware, Inc <> +Date: Tue Sep 17 20:22:43 2013 -0700 + + Linux kernel modules: remove pre 2.6 support from makefiles + + Since pre 2.6.9 support was moved off to legacy branch we do not need + it here. + + Signed-off-by: Dmitry Torokhov + +commit fd70a7c37fa26eedfa6760606ead6c4bc43a56f6 +Author: VMware, Inc <> +Date: Tue Sep 17 20:22:25 2013 -0700 + + Changed a warning log message to debug message. + + If a tools service is running inside a non-VMware environment, + we should not be filling the system logs with our warning messages. + + Signed-off-by: Dmitry Torokhov + +commit 2b1a8355548e3d82ad1f3a311dad1c3c8f731c4a +Author: VMware, Inc <> +Date: Tue Sep 17 20:22:09 2013 -0700 + + Mac OS Tools: Make system-wide services launchd-compliant + + Since day 1, the way we have started the tools services has been: at + boot, launchd executed the process "services.sh --start", which: + 1) Loaded kexts. + 2) Started the long-lived vmsvc as a daemon. + 3) Exited. + + According to http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html , + launchd sends it a SIGTERM. See "SIGTERM". + + This change fixes the above two issues, by turning things upside down: + since vmsvc is already a long-lived process, let's: + o Have launchd start vmsvc directly, without daemonizing it, just like + launchd already does with the vmusr process. + o Modify vmsvc so that the first thing it does is load the kexts. + + I kept the "services.sh --stop" interface (I just re-implemented it + differently), because it is useful to testers, but more importantly + because it is called from two places: + The tools preinstall package script (possibly in a tools package older + than this change). + The tools uninstallation script. + + Signed-off-by: Dmitry Torokhov + +commit 4111a70f4527aca6442162e0481cd39abeaa3efe +Author: VMware, Inc <> +Date: Tue Sep 17 20:21:40 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit d6873aa9d43c6b807057fcd165f2a8547b5ed5a2 +Author: VMware, Inc <> +Date: Tue Sep 17 20:21:32 2013 -0700 + + Ignore SIGPIPE for tools. + + Otherwise tools exits upon socket write error. Found this in guest + rabbitmq proxy testing. + + Signed-off-by: Dmitry Torokhov + +commit 6f8769f85cf842590867c6ca021cc7d148a59962 +Author: VMware, Inc <> +Date: Tue Sep 17 20:20:35 2013 -0700 + + Reactivate guestRpc polling reduction code on the guest side. + + Reactivate guestRpc polling reduction code on the guest side. The code + was disabled completely due to an issue that has been fixed. + + Signed-off-by: Dmitry Torokhov + +commit 52cac5493686e9f6da1bc9f67c13e2f656af83a3 +Author: VMware, Inc <> +Date: Tue Sep 17 20:21:26 2013 -0700 + + Fix a segfault in RpcChannel_SendOutRaw. + + Fix a segfault due to null pointer reference in debug code. + + Signed-off-by: Dmitry Torokhov + +commit 38756b5b32ca5c8c3b1a17bfc2216c59c6bcf7dc +Author: VMware, Inc <> +Date: Tue Sep 17 20:20:27 2013 -0700 + + Use __thread on Linux (and ESX) in vthreadBase.c. + + This change makes use of __thread on Linux for storing the vthread + base pointer and the thread ID. We still also store the value with + pthreads_setspecific so that we have consistent behavior on thread + destruction (using the pthreads destructor). But this allows the + VThread_CurID path to skip loading the pthread key, skip checking if + the key is initialized, and skip the call into pthread_getspecific. + + (With VThread_CurID taking its own fast path, it's not clear there's + much benefit at all from optimizing the path for the base pointer, but + I did so for consistency's sake.) + + I tried using my USB bandwidth test to measure the performance impact + of this on a Linux host. Unfortunately I found the test to be much + more noisy under Linux. The results claimed 1.6% faster overall, but + I have almost no faith in that number. + + Still, having inspected the new code and looked at the contents of + pthread_getspecific, I think it's safe to claim that this should be + better overall even if its difficult to quantify how much. And though + it makes the code slightly more crufty, such ugliness is confined to + two functions. + + Signed-off-by: Dmitry Torokhov + +commit e996a35e60280a8dd73bb78f9a9ddde06fec7b77 +Author: VMware, Inc <> +Date: Tue Sep 17 20:20:14 2013 -0700 + + Internal branch sync. Included in this change: + + . dnd plugin: various cleanups + . asyncsocket: Fix for race conditions with sync operations on a 2nd thread + + Signed-off-by: Dmitry Torokhov + +commit c7fbb99626b9ee8e20cc8e12691805d013826fbd +Author: VMware, Inc <> +Date: Tue Sep 17 20:20:02 2013 -0700 + + Remove some whitespace from x86cpuid.h. + + Sometimes when we make preprocessor tables we have to blow past 80 + columns. But in x86cpuid.h we had a table with plenty of internal + whitespace which was 81 columns long. No reason to have to suffer + with that. + + Signed-off-by: Dmitry Torokhov + +commit bb80b3337a94be4668be732967ca453ca1b97359 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:54 2013 -0700 + + HGFS: Server packet abstraction part IX + + The HGFS server sets the packet's ID field as the HGFS protocol request + ID. This should not occur and it overloads that the packet ID which + should be private to the transport channel which has nothing to do with + the HGFS request ID. The HGFS request ID has it's own field in the HGFS + header used by the request and reply. + + Remove the HGFS server modifying the packet ID. This is currently safe, + as the clients do not receive any asynchronous replies from any HGFS + server where the packet ID in the reply is used. + + Signed-off-by: Dmitry Torokhov + +commit 4f860433a9a51fd978f51ed6c9fa1db167909419 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:48 2013 -0700 + + VMCI: Remove VM2VM + + We're never going to ship it, so let's yank it out. This isn't a + straight backout for the following reasons: + + o Some of the files have diverged so far that backout fails. + o Petr added some nice log messages in his original change that we + want to retain. + + So this was mostly manual. I did do a side-by-side with the pre-VM2VM + version and it looks good. + + Note that our 128-bit QP tag code will re-appear in vm_atomic.h at + some point. + + Signed-off-by: Dmitry Torokhov + +commit ed57ff3cc7d3725cd6ef6ba482608108faa587c6 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:40 2013 -0700 + + Tools: prepare for gcc upgrade + + Had a few spare cycles, so tried compiling Tools with gcc-4.4.3. + This change fixes all compilation errors. (It does NOT do the + compiler upgrade, hence the minimal testing.) + + All changes are mechanical / should be correct at compile-time. + + appUtilFileTypes.h: hash_map was never a standard, use the + standardized (std::tr1) unordered_map. Which removes ifdefs too. + most other files: character strings are "const" in C++. + + Signed-off-by: Dmitry Torokhov + +commit 7f89ef424c41687763e8a976337fea1a43ed299b +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:34 2013 -0700 + + Add Clamped_UAdd64 + + Signed-off-by: Dmitry Torokhov + +commit 0910f4ac428e00cad83893f6fbe68e928666466e +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:27 2013 -0700 + + Flip the kill-switch on VM2VM VMCI + + VM2VM VMCI made a reappearance in 5.5 because vHadoop was planning to + use it, but it was eventually rejected. We left the code in so as not + to disturb stability, and simply disabled it in the UI. But let's + make doubly sure by flipping the kill-switch, so that our customers + don't accidentally enable it and then complain about it being removed + from 5.1, coming back in 5.5 and then disappearing again. + + Signed-off-by: Dmitry Torokhov + +commit 3aea23905d5c28cc4e68011fe2e47f1354c66a4e +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:21 2013 -0700 + + Bump up tools version to 9.7.0. + + Signed-off-by: Dmitry Torokhov + +commit 036172f0cb580ca370a94324f6a465bcb71f2076 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:13 2013 -0700 + + Fix a spurious warning. + + /dbc/pa-dbc1121/rrugina/rr-vmcore-dbc0/bora/public/vm_basic_defs.h:315:5: + warning: "VMKERNEL" is not defined + + Signed-off-by: Dmitry Torokhov + +commit 7e6615de5c2f12ff5b1bb7b6ac47c50312fd1d15 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:06 2013 -0700 + + HGFS: Clean up server packet abstraction part VIII + + Simply make the pointer checks more consistent. + + Signed-off-by: Dmitry Torokhov + +commit 0add24c598aa8c863917eda4da97c14f10380671 +Author: VMware, Inc <> +Date: Tue Sep 17 20:19:00 2013 -0700 + + HGFS: Clean up server packet abstraction part VI + + This cleans up some of the inflexibility and inconsistencies in the use + of the mappings of the packet buffers for the meta data (Hgfs header and + commmand arguments) and the data component. + + This splits out hanlding the iov mappings into two smaller utility + functions (map and unmap) since the code is replicated in multiple + places. + + The copy from and too an allocated buffer into and from an iov array is + split out from the map and unmap functionality and also a second routine + is created to copy from the iov array to a buffer which was previously + missing. + + To achieve this I have also added a mapped iov count for the meta and + data iov components of the HgfsPacket object. This helps track the state + of when mappings are available and not. Previously, this was coded by + assumption of what the GetBuf call did. + + In follow up changes the data will have a total buffer size and a data + size for each of the meta and data components. This will allow for + optimal movement of data between buffer and iov array. + + Signed-off-by: Dmitry Torokhov + +commit fb4b3833080ba2ebd1dbafc8334f0cb10e181197 +Author: VMware, Inc <> +Date: Tue Sep 17 20:18:47 2013 -0700 + + Avoid a memory dereference when getting the current thread ID. + + As part of some recent benchmarking and ensuing discussions a couple + of overheads in VThread_CurID have been identified. + + (1) VThread_CurID ultimately gets a pointer to a per thread + structure that contains various bits of state including the + thread ID. After getting that pointer it must read the thread + ID out of memory. This could be avoided if the thread local + value we stored was the thread ID itself. + + (2) Before calling into the host's API for thread local storage, + vthreadBase.c must get the host key, check if it is initialized + and initialize it if necessary. Then once it gets the thread + local value from the host API it must check if that has been + initialized. These checks could be avoided if we forced clients + to initialize the thread before calling functions like + VThread_CurID. + + (3) On some (all?) Linux pthread implementations pthread_getspecific + itself can be heavyweight. Both Windows and Linux offer + alternatives to make thread local storage cheaper. (OS X on the + other hand provides a very fast implementation of + pthread_getspecific: pretty much one instruction plus the + function call overhead.) + + The first two overheads came up in my profiling of USB workloads on OS + X while Kevin raised the third issue in the following discussions. + + This change attempts to eliminate the first overhead, but to do so in + a way that helps set up the code for attacking the remaining two. In + particular it introduces a second thread local variable to store the + thread ID. For the time I left the thread ID in the other structure + as well and verify that they stay in sync. We could get rid of it, + but it's low cost and I suspect (though I have no proof) that it could + be useful in debugging. + + As part of this I've rearranged some of the initialization code both + for the TLS keys as well as for initializing the TLS data. This is + useful because I wanted both pieces of state to get set together (and + mutated together -- yes our threads change IDs during their life). + And, with respect to the pthread keys, it's important to make sure the + base key gets allocated before the thread ID key. This ensures it + gets destroyed first which allows us to keep an ASSERT to make sure + that the two thread IDs stay in sync. + + This does run into one wrinkle because of the lazy thread + initialization. The default value for uninitialized state is NULL + which, inconveniently, is a valid vthread ID. So instead of actually + storing the thread ID, we store the thread ID incremented by one. + This means the default/uninitialized value will show up as -1. We can + avoid this after addressing (2) from above, but in the meantime + trading a memory read for an ALU operation is still a nice win. + + Signed-off-by: Dmitry Torokhov + +commit 447758846b1a1caa09c2aa0dad5757897ad79bc0 +Author: VMware, Inc <> +Date: Tue Sep 17 20:18:23 2013 -0700 + + Internal branch sync. Included in this change: + + . lib/file - add File_MakeSafeTempDir() + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 0758f4374dedac711fd674ec6f0c4ebc346cdb60 +Author: VMware, Inc <> +Date: Tue Sep 17 20:17:55 2013 -0700 + + Internationalize disk shrink progress string + + Disk shrink is a long running operation with progress reporting. The + "progress" string is visible to users and therefore needs to be + internationalized. + + Signed-off-by: Dmitry Torokhov + +commit d0acf1b782efc1477ae216979a6984531f13ce52 +Author: VMware, Inc <> +Date: Tue Sep 17 20:17:44 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit ffb568be68fae5f318b09fdf4b60da84a180f20e +Author: VMware, Inc <> +Date: Tue Sep 17 20:17:19 2013 -0700 + + HGFS: Clean up server packet abstraction part VII + + Consolidate the HgfsPacket bool fields into a flags field. + Make the names of the bool fields more accurate too in some cases. + + Signed-off-by: Dmitry Torokhov + +commit 7230cb3017b18946be3e056d47a3a5e3293b8f09 +Author: VMware, Inc <> +Date: Tue Sep 17 20:17:02 2013 -0700 + + HGFS: Clean up server transport session usage + + The transport session is only ever used in the common HGFS server code. + The scope should be constrained to that file and beyond that treated as + an opaque type. + + Make some of the transport session functions static to the common HGFS + server file and remove the declarations from the common header file. + + Signed-off-by: Dmitry Torokhov + +commit 227a637742a06ce2155ed14a60d2d31ce772bc90 +Author: VMware, Inc <> +Date: Tue Sep 17 20:16:56 2013 -0700 + + Remove fake pthreads + + A while ago, we decided to always compile with pthreads; optimizing for + single-threaded programs no longer makes sense. + + Which means vthreadBase.c can get cleaned up. (Notice that this + implements the "best thing to do" comment on lines 195-6). + + Signed-off-by: Dmitry Torokhov + +commit 039bc01a6547c7306ac9c62c8f62ecd055443e9d +Author: VMware, Inc <> +Date: Tue Sep 17 20:16:49 2013 -0700 + + HGFS: Clean up server packet abstraction part V + + Clean up the packet utility routines to only pass the arguments that are + required. This means we only need to use the HGFS server channel + callbacks and not the whole HGFS server transport session object. + + Signed-off-by: Dmitry Torokhov + +commit df7a9a235364cd9c2f28c72ef1c54f857d0894b9 +Author: VMware, Inc <> +Date: Tue Sep 17 20:16:10 2013 -0700 + + HGFS: Fix build on Linux 3.10-rc1 + + The kernel changes broke the asynchronous read and write HGFS + client code which picks out the dentry from within the kiocb struct. + Include the header file directly now for newer kernel versions. + + Signed-off-by: Dmitry Torokhov + +commit 8e5da80487fa58c637bfe01426383164754283db +Author: VMware, Inc <> +Date: Tue Sep 17 20:15:46 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit b7ef7d7bc15c8c9a5336f77f96ac4d28dc4c2f68 +Author: VMware, Inc <> +Date: Tue Sep 17 20:15:38 2013 -0700 + + HGFS: Make server use of const more consistent + + In particular we see const void * and void const * intermixed and so + now make the server code consisten in its use and stick with the + const void * format. + + Signed-off-by: Dmitry Torokhov + +commit e8c800081d0339e10641e216e78ad9b47e4d5afa +Author: VMware, Inc <> +Date: Tue Sep 17 20:15:31 2013 -0700 + + HGFS: Clean up server packet abstraction part IV + + Complete some tidy up of the input params created from the HgfsPacket. + This can be contained to only the HgfsServer code and not required to be + exposed beyond that. So this removes the one usage from the parameter + pack and unpack code which was in the unpack write request. + + As I was modifying up the HGFS server write request I correct a couple of + const char * to const void * for the write data. + + I removed a HSPU_PutPacket declaration as the function did not exist. + + Signed-off-by: Dmitry Torokhov + +commit 61bd632f8cac230d9fb06bda67ebd0bfa33b13ff +Author: VMware, Inc <> +Date: Tue Sep 17 20:15:12 2013 -0700 + + HGFS: Fix server check for minimum sizes of session requests + + The HGFS server check for the minimum protocol request sizes for create + and destroy session was incorrect. The full request including the reserved + fields must be sent by the clients. Currently they all do that, including any + shipping versions. + + Signed-off-by: Dmitry Torokhov + +commit 5dc550ca73d22d7d3bca6a095c2193b0f98184bd +Author: VMware, Inc <> +Date: Tue Sep 17 20:15:05 2013 -0700 + + HGFS: Clean up server packet abstraction part III + + Now the HGFS server packet abstraction has moved from an invalid + const char * pointer for the input parameters set from the HgfsPacket + abstraction we make the pack functions correct too. + This fixes the packet header which can be of two different types to be + a const void * now and not the incorrect const char *. + + Signed-off-by: Dmitry Torokhov + +commit 202788ac7df7a74b4f243dd3a6856b0547f7167d +Author: VMware, Inc <> +Date: Tue Sep 17 20:14:59 2013 -0700 + + HGFS: Clean up HGFS server packet abstraction part II + + Clean up the input params object which reuses the packet abstraction + field names which are generic because they are opaque outside of the HGFS + server. Since the input params are wholly contained within the HGFS server + and have specific meaning in the HGFS server context, we give the fields + the HGFS meaningful names. + + Signed-off-by: Dmitry Torokhov + +commit 147847abf45b67bc20483d1a8a83bff3f039bcfa +Author: VMware, Inc <> +Date: Tue Sep 17 20:14:46 2013 -0700 + + HGFS: Clean up server packet abstraction part I + + The HGFS packet object passed between the transport channel and the HGFS + server is in need of some clean up so that it can be made much more efficient. + This just closes out some unnecessary public functions and makes them static. + + Signed-off-by: Dmitry Torokhov + +commit 65d11e664ca3e3905f2afe102efa52a6122753d4 +Author: VMware, Inc <> +Date: Tue Sep 17 20:14:19 2013 -0700 + + HGFS: Fix the server to close sessions being invalidated + + When the HGFS server running in the tools is left with any sessions + open due to the clients not terminating them cleanly they will be marked + inactive. The HGFS server callback to invalidate them will periodically + be called and after a brief period will terminate those sessions. + These sessions are not closed first, thus triggering the assert in the + session exit function which checks the session's state. + + Fix is to close the inactive sessions being terminated in the HGFS + server invalidate callback. + + Signed-off-by: Dmitry Torokhov + +commit 0c899a265608805ce9962f85e3eb8636ec135b9c +Author: VMware, Inc <> +Date: Tue Sep 17 20:14:08 2013 -0700 + + Internal branch sync. Included in this change: + + . Solaris vmxnet3: log over-fragmented condition only when retry fails + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 4d268b0fff1d7075fc3e17a5c34d194e1809a5da +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:54 2013 -0700 + + Replace BackdoorChannel_New with RpcChannel_New. + + Signed-off-by: Dmitry Torokhov + +commit f05250e1c8fe0fe64c5497507fa7a7790f41b496 +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:42 2013 -0700 + + Fix for not starting RpcIn during fallback on backdoor channel. + + Signed-off-by: Dmitry Torokhov + +commit 6068b80208fe0e7b11bd506524cea5e2d73022cb +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:35 2013 -0700 + + Bump up the tools version to 9.3.3 for RC 1. + + Signed-off-by: Dmitry Torokhov + +commit e6b0b955c2e4e6fc6a53bd1cb32f74bb70ab582c +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:28 2013 -0700 + + HGFS: Fix Linux client to work with Perforce versioning + + The problem is that perforce client uses rename operation upon a temp + file which has read-only attributes. The operation then fails with + permission denied. + + The fix removes the read only attribute and retries the rename operation + again as per the delete operation. This occurs on Windows HGFS servers + as the target of the rename operation to be replaced has the read only + attribute set. The prevents a rename even if they want to overwrite the + target if it exists. So removing the read only flag is required. + + Signed-off-by: Dmitry Torokhov + +commit b34fff0c862b0ba8c6f93fc96a335d3a8e243f9c +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:16 2013 -0700 + + Internal branch sync. Included in this change: + + . Scrub sensitive data in VIX before freeing it + . Fix memory leak in VMCISock_GetAFValueFd() + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 35453dc666791c5fa87dbcc442839f0491e31d17 +Author: VMware, Inc <> +Date: Tue Sep 17 20:13:02 2013 -0700 + + Secure GuestRPC channels + + Use VMCI/Vsocket instead of backdoor for GuestRPC RPCI channels. For + privileged channels, the guest side can bind port to less than 1024, VMX + can then verify the binding and enforce privileged commands can only be + ran by privileged users. + + Signed-off-by: Dmitry Torokhov + +commit 653df5dffb2ea5f9249dcb097a75f707bb578415 +Author: VMware, Inc <> +Date: Tue Sep 17 20:12:44 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 737ced1b4fab413f56ac4aa1532191de87a552d8 +Author: VMware, Inc <> +Date: Tue Sep 17 20:12:08 2013 -0700 + + Internal branch sync. Included in this change: + + . Properly handle timezone in TimeUtil_SecondsSinceEpoch() + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 1e9f5c94d0bcc807ac552b19bd5c9a60d96f301a +Author: VMware, Inc <> +Date: Tue Sep 17 20:11:56 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 4f174540292f0f158543cc0b315cdcaee72e875c +Author: VMware, Inc <> +Date: Tue Sep 17 20:11:40 2013 -0700 + + Plumb in a new VIX error code + + Signed-off-by: Dmitry Torokhov + +commit 065f236104ab12a89cd4b2e73597aeba203e0e0b +Author: VMware, Inc <> +Date: Tue Sep 17 20:11:25 2013 -0700 + + HGFS: Clean up the VMCI transport request and reply headers part I + + This is the first part of cleaning up the HGFS VMCI transport request and + reply headers. This deals with the reply header only which is almost identical + to the client request VMCI header but not quite - frustratingly. + It really is not ideal to use a reply header that is different from + the request header and has fields that require corresponding information from + the request header which are missing. Consequently, the request header is + going to be ramped up to a version 2 which includes all the information for both + request and reply and be extensible. + + Signed-off-by: Dmitry Torokhov + +commit 8df8396102ebfdcd71cffaa2d05bee4f286f86f3 +Author: VMware, Inc <> +Date: Tue Sep 17 20:11:08 2013 -0700 + + VMCI/VSOCK: Cleanup some files + + Remove extra whitespace, replace tabs with spaces, fix indentation. + Also updated the copyright for any file that I touched. + + Signed-off-by: Dmitry Torokhov + +commit c6b8484ee1dd7b53846b5cad4f0d7575b6501517 +Author: VMware, Inc <> +Date: Tue Sep 17 20:10:58 2013 -0700 + + Add compiler barriers to Atomic_MFence + + The MFENCE instruction ensures that all loads and stores that + preceed it are "globally visible" before any load or store that + follow it. However, we don't have a compiler barrier in + Atomic_MFence and so the compiler can move code and defeat this. + + While this bug has probably been around for quite a while, it + only came up recently now that the AtomicEpilogue() is compiled + out. That contains a compiler memory barrier, and while it's + not technically sufficient (need barrier before the MFENCE too), + it was apparently enough to discourage the code motion in + practice. + + Signed-off-by: Dmitry Torokhov + +commit a29d9d534464b563bedda7b16c1c4863c15ccf00 +Author: VMware, Inc <> +Date: Tue Sep 17 20:10:54 2013 -0700 + + HGFS: Fix notification cleanup session tear down + + Previously, when a transport session was disconnected any notifications + for the HGFS session were then removed if notification module was enabled. + + However, this is grossly inadequate, as an HGFS session can come and go driven by + a client's protocol requests. The notifications are per HGFS session which is + completely independent from the transport session. The only reason the transport + session comes into play is whether it has the transport characteristics to support + the bidirectional nature of the notification feature. + When an HGFS session is destroyed whether it is from a tranport connection + session disconnect or a destroy HGFS session protocol request any folder + the outstanding notifications for the session should be removed. + Since that currently does not happen, e.g. when an HGFS session is destroyed via the + protocol requests from a client and goes on to create a new one, during + a Windows VM reboot, then when host updates do occur on an HGFS share the + notifications will be generated that hold pointers to invalid sessions. + This causes the VMX to crash. + + The fix is simply to move the notification teardown for a session is at the session + teardown function, from the transport session disconnect. + + Signed-off-by: Dmitry Torokhov + +commit 6a8d296cc68cf6687f9cb8084669aa585ec8da0a +Author: VMware, Inc <> +Date: Tue Sep 17 20:10:12 2013 -0700 + + Internal branch sync. Included in this change: + + . File locking: tolerate another race in FileUnlockIntrinsic + . Add util function for getting the epoch from a TimeUtil_Date + . Add LRO defines for VMXNET3 + . changes in shared code that don't affect open-vm-tools functionality + + Signed-off-by: Dmitry Torokhov + +commit 203ba46d6469894f2e92af3eb2c4edc03f01be09 +Author: VMware, Inc <> +Date: Tue Sep 17 20:09:38 2013 -0700 + + Changes in shared code that don't affect open-vm-tools functionality. + + Signed-off-by: Dmitry Torokhov + +commit 6a1997ee3179db62f8998f847291cfbaf19bf7c3 +Author: VMware, Inc <> +Date: Tue Sep 17 20:09:31 2013 -0700 + + HGFS: Fix Posix server from blocking on pipes + + The HGFS protocol function to get attributes of a file or folder does + a Posix open without the O_NONBLOCK flag. This can cause the open to block + if there isn't anyone on the other end of the pipe. + + Fix is to use the same flags we use for the protocol open to ensure the + correct basic flags are used. Also, if the share is not allowed to follow + symlinks we get this flag set correctly too now. + + Signed-off-by: Dmitry Torokhov + +commit ef2a0f5a022dac45b0e70007a23bce9b0b2a1741 +Author: VMware, Inc <> +Date: Tue Sep 17 20:09:08 2013 -0700 + + HGFS: Improve VMCI transport headers part I + + Begin to consolidate the client to server and server to client VMCI transport + headers to be just one common header for both. + Currently, there are two one for each direction and they are almost + identical. Also the header for the client to the server does not + have all information that is required for asynchronous packet sending + and replies. Hence the motivation for improving this. + + The packet headers are poorly defined as they do not have any reserved + fields for extending the current version and they are inconsistent with + the packet types with each direction. + + This initial change pulls out the version and packet type into a header + node that will be common to the version one and newer versions of the + transport header. + + This involves modifying the server and client sides. The version 1 transport + header will remain binary compatible with this change, it just moves the + first two fields into a common substructure. + + Broke out the transport header to return the information from multiple + versions of the header. + Moved the validate datagram function call to the main receive message callback. + Removed the transport header check from this function too, as it is not + useful to have it there. It will be done by each of the specific header version + handling routines. + + Signed-off-by: Dmitry Torokhov + +commit ee7f312e45adeec460f83b3de1ec0c44f88f6e82 +Author: VMware, Inc <> +Date: Wed Apr 17 14:42:21 2013 -0700 + + Updating open-vm-tools version for release 2013.04.16-1098359. + + Signed-off-by: Dmitry Torokhov 2013.04.16 Dmitry Torokhov This release tag contains commits up to the following id: 867ea989d5e6889abcac77b4c7dae7db2651df58