Merge ~paelzer/ubuntu/+source/open-vm-tools:lp-1813944-backport-10.3.5-bionic into ubuntu/+source/open-vm-tools:ubuntu/bionic-devel
- Git
- lp:~paelzer/ubuntu/+source/open-vm-tools
- lp-1813944-backport-10.3.5-bionic
- Merge into ubuntu/bionic-devel
Proposed by
Christian Ehrhardt
Status: | Merged | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Christian Ehrhardt | ||||||||||||||||
Approved revision: | 516e4d2681fb0eba010e6141b03cb90d8537b404 | ||||||||||||||||
Merge reported by: | Christian Ehrhardt | ||||||||||||||||
Merged at revision: | 516e4d2681fb0eba010e6141b03cb90d8537b404 | ||||||||||||||||
Proposed branch: | ~paelzer/ubuntu/+source/open-vm-tools:lp-1813944-backport-10.3.5-bionic | ||||||||||||||||
Merge into: | ubuntu/+source/open-vm-tools:ubuntu/bionic-devel | ||||||||||||||||
Diff against target: |
8267 lines (+4679/-322) (has conflicts) 53 files modified
ReleaseNotes.md (+105/-5) debian/changelog (+97/-0) debian/control (+3/-3) debian/desktop.conf (+2/-0) debian/open-vm-tools.postinst (+1/-1) debian/open-vm-tools.service (+4/-0) debian/open-vm-tools.vgauth.service (+1/-0) debian/patches/debian/enable_vmhgfs-fuse_by_default (+3/-0) debian/patches/series (+4/-1) debian/patches/stable-10.3.5-quiesced-snapshot (+631/-0) debian/rules (+4/-0) dev/null (+0/-181) open-vm-tools/ChangeLog (+2890/-0) open-vm-tools/configure.ac (+7/-3) open-vm-tools/lib/file/file.c (+14/-10) open-vm-tools/lib/glibUtils/fileLogger.c (+17/-2) open-vm-tools/lib/hgfsServer/hgfsServer.c (+2/-2) open-vm-tools/lib/hgfsServer/hgfsServerLinux.c (+5/-5) open-vm-tools/lib/include/buildNumber.h (+14/-0) open-vm-tools/lib/include/conf.h (+26/-0) open-vm-tools/lib/include/err.h (+18/-0) open-vm-tools/lib/include/ioplGet.h (+2/-2) open-vm-tools/lib/include/posix.h (+2/-8) open-vm-tools/lib/include/rpcin.h (+10/-3) open-vm-tools/lib/include/unicodeBase.h (+5/-0) open-vm-tools/lib/include/vm_product.h (+3/-0) open-vm-tools/lib/include/vm_product_versions.h (+12/-2) open-vm-tools/lib/include/vm_tools_version.h (+13/-0) open-vm-tools/lib/include/vmware/tools/guestrpc.h (+12/-1) open-vm-tools/lib/misc/vthreadBase.c (+8/-1) open-vm-tools/lib/nicInfo/nicInfoPosix.c (+18/-0) open-vm-tools/lib/rpcChannel/rpcChannel.c (+126/-5) open-vm-tools/lib/rpcIn/rpcin.c (+55/-11) open-vm-tools/lib/sslDirect/sslDirect.c (+82/-15) open-vm-tools/libDeployPkg/linuxDeployment.c (+43/-19) open-vm-tools/libDeployPkg/linuxDeploymentUtilities.c (+2/-7) open-vm-tools/libDeployPkg/mspackWrapper.c (+2/-1) open-vm-tools/modules/freebsd/vmxnet/Makefile (+3/-0) open-vm-tools/services/plugins/dndcp/pointer.cpp (+25/-3) open-vm-tools/services/plugins/guestInfo/guestInfoServer.c (+60/-14) open-vm-tools/services/plugins/guestInfo/perfMonLinux.c (+30/-0) open-vm-tools/services/plugins/hgfsServer/hgfsPlugin.c (+10/-0) open-vm-tools/services/plugins/vix/vixTools.c (+70/-4) open-vm-tools/services/plugins/vmbackup/stateMachine.c (+3/-2) open-vm-tools/services/plugins/vmbackup/syncDriverOps.c (+23/-0) open-vm-tools/services/plugins/vmbackup/syncManifest.c (+40/-2) open-vm-tools/services/plugins/vmbackup/syncManifest.h (+5/-1) open-vm-tools/services/plugins/vmbackup/vmBackupInt.h (+3/-0) open-vm-tools/services/vmtoolsd/mainLoop.c (+68/-1) open-vm-tools/services/vmtoolsd/toolsCoreInt.h (+4/-1) open-vm-tools/services/vmtoolsd/toolsRpc.c (+87/-1) open-vm-tools/vgauth/lib/impersonate.c (+3/-3) open-vm-tools/vmhgfs-fuse/cache.c (+2/-2) Conflict in ReleaseNotes.md Conflict in debian/changelog Conflict in debian/patches/debian/enable_vmhgfs-fuse_by_default Conflict in debian/patches/series Conflict in open-vm-tools/ChangeLog Conflict in open-vm-tools/configure.ac Conflict in open-vm-tools/lib/include/buildNumber.h Conflict in open-vm-tools/lib/include/err.h Conflict in open-vm-tools/lib/include/unicodeBase.h Conflict in open-vm-tools/lib/include/vm_product_versions.h Conflict in open-vm-tools/lib/include/vm_tools_version.h Conflict in open-vm-tools/lib/rpcChannel/rpcChannel.c Conflict in open-vm-tools/libDeployPkg/linuxDeployment.c Conflict in open-vm-tools/modules/freebsd/vmxnet/Makefile Conflict in open-vm-tools/services/plugins/guestInfo/guestInfoServer.c Conflict in open-vm-tools/services/plugins/guestInfo/perfMonLinux.c Conflict in open-vm-tools/services/plugins/hgfsServer/hgfsPlugin.c |
||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andreas Hasenack | Approve | ||
Canonical Server | Pending | ||
Canonical Server packageset reviewers | Pending | ||
Review via email: mp+362461@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt (paelzer) wrote : | # |
Revision history for this message
Andreas Hasenack (ahasenack) wrote : | # |
+1
I verified that the existing fixes in the current cosmic package are applied here as well, either from debian, or from upstream directly, and the only change from the disco package is the changelog.
review:
Approve
Revision history for this message
Andreas Hasenack (ahasenack) wrote : | # |
Sorry, my earlier comment was meant for the cosmic MP at https:/
Revision history for this message
Andreas Hasenack (ahasenack) wrote : | # |
For this bionic MP:
- the only difference to the cosmic MP is the changelog, so the same content is there. +1
review:
Approve
Revision history for this message
Christian Ehrhardt (paelzer) wrote : | # |
Pushed the rebase to 2:10.3.5-6 as discussed on the associated bugs.
This will close bug 1814832 along all others that the backport already intended to fix.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/ReleaseNotes.md b/ReleaseNotes.md |
2 | index 72160df..dbf1a1b 100644 |
3 | --- a/ReleaseNotes.md |
4 | +++ b/ReleaseNotes.md |
5 | @@ -1,9 +1,18 @@ |
6 | +<<<<<<< ReleaseNotes.md |
7 | open-vm-tools 10.3.0 Release Notes |
8 | ================================== |
9 | |
10 | **Updated on: 12 JUL 2018** |
11 | |
12 | open-vm-tools | 12 JUL 2018 | Build 8931395 |
13 | +======= |
14 | +open-vm-tools 10.3.5 Release Notes |
15 | +================================= |
16 | + |
17 | +**Updated on: 01 Nov 2018** |
18 | + |
19 | +open-vm-tools | 01 NOV 2018 | Build 10430147 |
20 | +>>>>>>> ReleaseNotes.md |
21 | |
22 | Check for additions and updates to these release notes. |
23 | |
24 | @@ -15,15 +24,21 @@ The release notes cover the following topics: |
25 | * [What's New](#whatsnew) |
26 | * [Before You Begin](#beforeyoubegin) |
27 | * [Internationalization](#i18n) |
28 | -* [Compatibility Notes](#compatibility) |
29 | +* [End of Feature Support Notice](#endoffeaturesupport) |
30 | +* [Guest Operating System Customization Support](#guestop) |
31 | +* [Interoperability Matrix](#interop) |
32 | * [Resolved Issues](#resolvedissues) |
33 | * [Known Issues](#knownissues) |
34 | |
35 | What's New |
36 | ---------- |
37 | |
38 | +<<<<<<< ReleaseNotes.md |
39 | * Starting with 10.3.0, open-vm-tools builds with xmlsec1 by default (instead of building with xml-security). To revert to the old behavior and build with xml-security, use the option |
40 | '--enable-xmlsecurity' for the ./configure command. |
41 | +======= |
42 | +* **Resolved Issues: **There are some issues that are resolved in this release of open-vm-tools which are documented in the [Resolved Issues](#resolvedissues) section of this release notes. |
43 | +>>>>>>> ReleaseNotes.md |
44 | |
45 | Before You Begin |
46 | ---------------- |
47 | @@ -39,7 +54,11 @@ General guidelines: While upgrading ESXi hosts to ESXi 5.5 Update 3b or ESXi 6.0 |
48 | Internationalization |
49 | -------------------- |
50 | |
51 | +<<<<<<< ReleaseNotes.md |
52 | open-vm-tools 10.3.0 is available in the following languages: |
53 | +======= |
54 | +open-vm-tools 10.3.5 is available in the following languages: |
55 | +>>>>>>> ReleaseNotes.md |
56 | |
57 | * English |
58 | * French |
59 | @@ -51,19 +70,32 @@ open-vm-tools 10.3.0 is available in the following languages: |
60 | * Simplified Chinese |
61 | * Traditional Chinese |
62 | |
63 | -Compatibility Notes |
64 | -------------------- |
65 | +End of Feature Support Notice |
66 | +----------------------------- |
67 | |
68 | +<<<<<<< ReleaseNotes.md |
69 | * As of tools release 10.2.0, FreeBSD guests are supported only by open-vm-tools; support for the VM Tools binary package supplied directly by VMware has been discontinued for FreeBSD. Binary packages for open-vm-tools 10.1.0 and later are available from FreeBSD package repositories. |
70 | +======= |
71 | +* Support for Common Agent Framework (CAF) will be removed in the next major release of open-vm-tools. |
72 | +* open-vm-tools 10.3.5 freezes feature support for tar tools and OSPs |
73 | + The tar tools (linux.iso) and OSPs shipped with open-vm-tools 10.3.5 release will continue to be supported. However, releases after open-vm-tools 10.3.5 will only include critical and security fixes and no new feature support in these types of open-vm-tools (tar tools and OSP's). It is recommended that customers use open-vm-tools for those operating systems that support open-vm-tools. For more information on different types of open-vm-tools, see [https://blogs.vmware.com/vsphere/2016/02/understanding-the-three-types-of-vm-tools.html](https://blogs.vmware.com/vsphere/2016/02/understanding-the-three-types-of-vm-tools.html) |
74 | +>>>>>>> ReleaseNotes.md |
75 | |
76 | -### Guest Operating System Customization Support |
77 | +Guest Operating System Customization Support |
78 | +-------------------------------------------- |
79 | |
80 | The [Guest OS Customization Support Matrix](http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf) provides details about the guest operating systems supported for customization. |
81 | |
82 | |
83 | +Interoperability Matrix |
84 | +----------------------- |
85 | + |
86 | +The [VMware Product Interoperability Matrix](http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php) provides details about the compatibility of current and earlier versions of VMware Products. |
87 | + |
88 | Resolved Issues |
89 | --------------- |
90 | |
91 | +<<<<<<< ReleaseNotes.md |
92 | * **The open-vm-tools process might take a long time and consume 100% CPU of a core in a Linux OS with many IPv6 routes** |
93 | |
94 | Prior to open-vm-tools 10.3.0, gathering network adapter information in a Linux guest OS with many IPv6 routes was a time-consuming process with 100% use of the CPU of a core. The exported data contained only a maximum of 100 routes. IPv4 routes took precedence over IPv6, leading to data loss in reporting IPv6 routes. If there were more than 100 IPv4 routes, IPv6 routes were not reported. |
95 | @@ -75,9 +107,25 @@ Resolved Issues |
96 | max-ipv6-routes=0 |
97 | |
98 | Note: If they are not manually set, or an invalid value (over 100 or less than 0) is set, 'max-ipv4-routes' and 'max-ipv6-routes' are set to 100 by default. They can be set to 0 to disable the data collection. |
99 | +======= |
100 | +* **While running a quiesced snapshot of a Linux guest on the vSphere hosts earlier than version 6.7, open-vm-tools logs warning messages.** |
101 | + |
102 | + open-vm-tools logs warning messages like the following: |
103 | + |
104 | + \[<date> <time>\] \[ warning\] \[vmbackup\] Failed to send vmbackup event: vmbackup.eventSet req.genericManifest 0 /etc/vmware-tools/quiesce\_manifest.xml, result: Error processing event. |
105 | + |
106 | + \[<date> <time>\] \[ warning\] \[vmbackup\] Error trying to send VMBACKUP\_EVENT\_GENERIC\_MANIFEST |
107 | + |
108 | + The warning messages are logged by default or if vmsvc.level is set to warning or higher in the tools.conf file. Note that this is purely a logging issue and that quiesced snapshot still works even when these messages appear. |
109 | + |
110 | + This issue is fixed in this release. The warning message has been reworded for clarity and is no longer logged on every quiesced snapshot, but instead only on the first quiesced snapshot after a power on or vMotion. |
111 | |
112 | - This issue is resolved in this release. |
113 | +* **CreateTemporaryFileInGuest/CreateTemporaryDirectoryInGuest returns a file path that does not exist.** |
114 | +>>>>>>> ReleaseNotes.md |
115 | |
116 | + When guest authentication user name is set to <domain>\\<user> and the user's profile directory does not exist in the guest file system, Win32 LoadUserProfile() creates a temporary user profile directory "C:\\Users\\TEMP" when the guest operation starts. After the guest operation completes, Win32 UnloadUserProfile() deletes this directory and the temporary file in the said directory. |
117 | + |
118 | +<<<<<<< ReleaseNotes.md |
119 | * **Installation of the libvmtools package might fail the installation of VMware Tools** |
120 | |
121 | When the package "libvmtools0" is installed in SUSE Linux 12 and open-vm-tools is not installed, the VMware Tools installer fails. This is done to prevent an incomplete installation. Users have to uninstall both open-vm-tools and libvmtools0 packages to install VMware Tools. |
122 | @@ -88,20 +136,72 @@ Known Issues |
123 | * **Drag and Drop functionality fails to work in Ubuntu** |
124 | |
125 | Drag and Drop functionality fails to work in Ubuntu 16.04.4 32-bit virtual machines installed using easy install. Also, failure of copy and paste functionality is observed in the same system. |
126 | +======= |
127 | + This issue is fixed in this release. CreateTemporaryFileInGuest/CreateTemporaryDirectoryInGuest now returns "C:\\Windows\\TEMP\\xxxxxx". |
128 | + |
129 | +* **Excessive spikes of the Memory/Workload percentage metric, in a vRealize Operations cluster.** |
130 | + |
131 | + Guest statistics "Guest | Page in rate per second" provided by open-vm-tools is not properly handling 32-bit unsigned integer overflow on 32-bit Linux guests. |
132 | + |
133 | + This issue is fixed in this release. |
134 | + |
135 | +* **open-vm-tools Service running as vmusr crashes on Linux systems which are not running on the VMware platform.** |
136 | + |
137 | + When a user logs in to the Linux desktop UI of a Linux OS that packages open-vm-tools and is not running on the VMware platform, "/usr/bin/vmtoolsd -n vmusr" process generates a coredump. |
138 | + |
139 | + This issue is fixed in this release. |
140 | + |
141 | + |
142 | +FreeBSD Drivers |
143 | +--------------- |
144 | + |
145 | +* **vmxnet and vmxnet3 drivers have been removed from open-vm-tools for FreeBSD** |
146 | + |
147 | + The vmxnet (version 1) network driver is not supported by any currently |
148 | + supported VMware virtualization platform and has been removed for |
149 | + FreeBSD from the open-vm-tools source. |
150 | + |
151 | + FreeBSD has their own vmxnet3 network driver based on community source |
152 | + and has never made use of the vmxnet3 source code or drivers from |
153 | + VMware. The unneeded FreeBSD vmxnet3 source has been removed from open-vm-tools. |
154 | + |
155 | + |
156 | +Known Issues |
157 | +------------ |
158 | + |
159 | +* **Drag functionality fails to work in Ubuntu.** |
160 | + |
161 | + Drag functionality fails to work in Ubuntu 16.04.4 32-bit virtual machine installed using easy install. Also, failure of copy and paste functionality is observed in the same system. |
162 | +>>>>>>> ReleaseNotes.md |
163 | |
164 | Workaround: |
165 | |
166 | * Add the modprobe.blacklist=vmwgfx linux kernel boot option. |
167 | * To gain access to larger resolutions, remove svga.guestBackedPrimaryAware = "TRUE" option from the VMX file. |
168 | |
169 | +<<<<<<< ReleaseNotes.md |
170 | * **Shared Folders mount is unavailable on Linux VM** |
171 | |
172 | If the **Shared Folders** feature is enabled on a Linux VM while it is powered off, shared folders mount is not available upon restart. |
173 | |
174 | Workaround: If the VM is powered on, disable and enable the **Shared Folders** feature from the interface. |
175 | +======= |
176 | +* **Shared Folders mount is unavailable on Linux VM.** |
177 | + |
178 | + If the **Shared Folders** feature is enabled on a Linux VM while it is powered off, shared folders mount is not available on restart. |
179 | + |
180 | + Workaround: |
181 | + |
182 | + If the VM is powered on, disable and enable the **Shared Folders** feature from the interface. |
183 | +>>>>>>> ReleaseNotes.md |
184 | |
185 | For resolving the issue permanently, edit **/etc/fstab** and add an entry to mount the Shared Folders automatically on boot. |
186 | |
187 | For example, add the line: |
188 | |
189 | +<<<<<<< ReleaseNotes.md |
190 | vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other 0 0 |
191 | +======= |
192 | + vmhgfs-fuse /mnt/hgfs fuse defaults,allow\_other 0 0 |
193 | + |
194 | +>>>>>>> ReleaseNotes.md |
195 | diff --git a/debian/changelog b/debian/changelog |
196 | index e1d083a..f5ea760 100644 |
197 | --- a/debian/changelog |
198 | +++ b/debian/changelog |
199 | @@ -1,3 +1,4 @@ |
200 | +<<<<<<< debian/changelog |
201 | open-vm-tools (2:10.3.0-0ubuntu1~18.04.3) bionic; urgency=medium |
202 | |
203 | * d/p/lp-1793219-fix-stats-overflow.patch: fix potential overflow of 32 bit |
204 | @@ -31,6 +32,102 @@ open-vm-tools (2:10.3.0-0ubuntu1~18.04.1) bionic; urgency=medium |
205 | added upstream) |
206 | |
207 | -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Wed, 01 Aug 2018 08:16:10 +0200 |
208 | +======= |
209 | +open-vm-tools (2:10.3.5-6~ubuntu0.18.04.1) bionic; urgency=medium |
210 | + |
211 | + * Backport recent open-vm-tools (LP: #1813944) |
212 | + - also adresses handling of quiesced snapshot failures (LP: #1814832) |
213 | + |
214 | + -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 12 Feb 2019 09:55:41 +0100 |
215 | + |
216 | +open-vm-tools (2:10.3.5-6) unstable; urgency=medium |
217 | + |
218 | + * [43ec618] Correct and/or improve handling of certain quiesced |
219 | + snapshot failures. |
220 | + Thanks to Oliver Kurth (Closes: #921470) |
221 | + |
222 | + -- Bernd Zeimetz <bzed@debian.org> Mon, 11 Feb 2019 14:58:28 +0100 |
223 | + |
224 | +open-vm-tools (2:10.3.5-5) unstable; urgency=medium |
225 | + |
226 | + * [54cce3e] Start vmtoolsd after apparmor.service. |
227 | + Github issue #17 |
228 | + |
229 | + -- Bernd Zeimetz <bzed@debian.org> Thu, 31 Jan 2019 13:13:06 +0100 |
230 | + |
231 | +open-vm-tools (2:10.3.5-4) unstable; urgency=medium |
232 | + |
233 | + [ Alf Gaida ] |
234 | + * [e13792d] udevadm trigger should not fail (Closes: #917642) |
235 | + |
236 | + -- Bernd Zeimetz <bzed@debian.org> Sat, 29 Dec 2018 23:00:37 +0100 |
237 | + |
238 | +open-vm-tools (2:10.3.5-3) unstable; urgency=medium |
239 | + |
240 | + [ Christian Ehrhardt ] |
241 | + * [d3d4703] Start vgauth before vmtoolsd. |
242 | + VGAuthService needs to be ready when vmtoolsd runs. Certain cases - e.g. |
243 | + Site Recovery Manager failover - will need vgauth to be up. |
244 | + Therefore add an After=vgauth.service dependency to open-vm-tools.service |
245 | + To have vgauth be able start early - and not pull cloud-init back late - it |
246 | + is also required to drop default dependencies which according to VMware is |
247 | + fine to do so. |
248 | + (LP: #1804287) |
249 | + |
250 | + -- Bernd Zeimetz <bzed@debian.org> Fri, 14 Dec 2018 09:55:04 +0100 |
251 | + |
252 | +open-vm-tools (2:10.3.5-2) unstable; urgency=medium |
253 | + |
254 | + [ Raphaël Hertzog ] |
255 | + * [db2a364] Ensure vmwgfx module is loaded before start of vmtoolsd. |
256 | + This avoids a failure to start the resolutionKMS plugin and it's |
257 | + achieved through a drop-in snippet extending open-vm-tools.service |
258 | + adding an ExecStartPre directive loading the module prior to |
259 | + the start of the service. (Closes: #915031) |
260 | + |
261 | + [ Christian Ehrhardt ] |
262 | + * [e6e0ab8] d/rules: fix dangling symlink of vmware-user. |
263 | + Back in 2:9.4.0-1280544-6 vmware-user* was moved to the |
264 | + open-vm-tools-desktop package and some follow on fixes moved bits that |
265 | + were forgotten like the man page. |
266 | + (LP: #1807441) |
267 | + There still is a symlink in /usr/bin/vmware-user that is forgotten in |
268 | + the base package and broken unless open-vm-tools-desktop is installed. |
269 | + Change d/rules to move the symlink as well. |
270 | + Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> |
271 | + * [13d22e5] Breaks and Replaces for moving vmware-user. |
272 | + Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> |
273 | + * [d56826a] Bump breaks and replaces to next version to be released. |
274 | + Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> |
275 | + |
276 | + [ Bernd Zeimetz ] |
277 | + * [e4697c7] Fix race condition between open-vm-tools and systemd-tmpfiles-setup. |
278 | + Thanks to Jean-Louis Dupond (Closes: #914910) |
279 | + |
280 | + -- Bernd Zeimetz <bzed@debian.org> Tue, 11 Dec 2018 20:40:48 +0100 |
281 | + |
282 | +open-vm-tools (2:10.3.5-1) unstable; urgency=medium |
283 | + |
284 | + * [7061cb7] Update upstream source from tag 'upstream/10.3.5' |
285 | + Update to upstream version '10.3.5' |
286 | + with Debian dir 9315f58cab8ba1356c1e4aa77d714257dc0651f2 |
287 | + |
288 | + -- Bernd Zeimetz <bzed@debian.org> Fri, 09 Nov 2018 11:32:15 +0100 |
289 | + |
290 | +open-vm-tools (2:10.3.0-1) unstable; urgency=medium |
291 | + |
292 | + * [16acbc3] Remove PrivateTmp=yes. |
293 | + Thanks to Christian Ehrhardt (Closes: #905170) |
294 | + * [72aabb2] Add RequiresMountsFor=/tmp. |
295 | + Thanks to Christopher Odenbach (Closes: #900566) |
296 | + * [96bf0c5] Update upstream source from tag 'upstream/10.3.0' |
297 | + Update to upstream version '10.3.0' |
298 | + with Debian dir ace0137b2d17e039ddac188fdcd15f882119925a |
299 | + * [e5a9b82] Re-add .travis.yml |
300 | + * [83e043f] Refreshing patches |
301 | + |
302 | + -- Bernd Zeimetz <bzed@debian.org> Tue, 07 Aug 2018 23:41:00 +0200 |
303 | +>>>>>>> debian/changelog |
304 | |
305 | open-vm-tools (2:10.2.5-1) unstable; urgency=medium |
306 | |
307 | diff --git a/debian/control b/debian/control |
308 | index 15b060b..97cbecc 100644 |
309 | --- a/debian/control |
310 | +++ b/debian/control |
311 | @@ -23,7 +23,7 @@ Architecture: amd64 i386 |
312 | Depends: ${misc:Depends}, ${shlibs:Depends}, pciutils, iproute2 |
313 | Recommends: ethtool, zerofree, fuse, lsb-release |
314 | Suggests: open-vm-tools-desktop, cloud-init |
315 | -Breaks: open-vm-tools-desktop (<< 2:10.0.7-3227872-2~) |
316 | +Breaks: open-vm-tools-desktop (<< 2:10.3.5-2~) |
317 | Replaces: open-vm-tools-desktop (<< 2:10.0.7-3227872-2~) |
318 | Description: Open VMware Tools for virtual machines hosted on VMware (CLI) |
319 | The Open Virtual Machine Tools (open-vm-tools) project is an open source |
320 | @@ -38,8 +38,8 @@ Architecture: amd64 i386 |
321 | Depends: ${misc:Depends}, ${shlibs:Depends}, |
322 | open-vm-tools (= ${binary:Version}), |
323 | fuse |
324 | -Breaks: open-vm-tools (<< 2:10.0.0~) |
325 | -Replaces: open-vm-tools (<< 2:10.0.0~) |
326 | +Breaks: open-vm-tools (<< 2:10.3.5-2~) |
327 | +Replaces: open-vm-tools (<< 2:10.3.5-2~) |
328 | Recommends: |
329 | xauth, xserver-xorg-input-vmmouse, |
330 | xserver-xorg-video-vmware |
331 | diff --git a/debian/desktop.conf b/debian/desktop.conf |
332 | new file mode 100644 |
333 | index 0000000..6456fd7 |
334 | --- /dev/null |
335 | +++ b/debian/desktop.conf |
336 | @@ -0,0 +1,2 @@ |
337 | +[Service] |
338 | +ExecStartPre=-/sbin/modprobe vmwgfx |
339 | diff --git a/debian/open-vm-tools.postinst b/debian/open-vm-tools.postinst |
340 | index 3f2db5e..f181ab2 100644 |
341 | --- a/debian/open-vm-tools.postinst |
342 | +++ b/debian/open-vm-tools.postinst |
343 | @@ -5,7 +5,7 @@ set -e |
344 | case "${1}" in |
345 | configure) |
346 | if which udevadm 1>/dev/null; then |
347 | - udevadm trigger |
348 | + udevadm trigger || true |
349 | fi |
350 | ;; |
351 | |
352 | diff --git a/debian/open-vm-tools.service b/debian/open-vm-tools.service |
353 | index a988f08..2aa29f8 100644 |
354 | --- a/debian/open-vm-tools.service |
355 | +++ b/debian/open-vm-tools.service |
356 | @@ -4,6 +4,10 @@ Documentation=http://open-vm-tools.sourceforge.net/about.php |
357 | ConditionVirtualization=vmware |
358 | DefaultDependencies=no |
359 | Before=cloud-init-local.service |
360 | +After=vgauth.service |
361 | +After=apparmor.service |
362 | +RequiresMountsFor=/tmp |
363 | +After=systemd-remount-fs.service systemd-tmpfiles-setup.service |
364 | |
365 | [Service] |
366 | ExecStart=/usr/bin/vmtoolsd |
367 | diff --git a/debian/open-vm-tools.vgauth.service b/debian/open-vm-tools.vgauth.service |
368 | index 94f7c89..af538a6 100644 |
369 | --- a/debian/open-vm-tools.vgauth.service |
370 | +++ b/debian/open-vm-tools.vgauth.service |
371 | @@ -2,6 +2,7 @@ |
372 | Description=Authentication service for virtual machines hosted on VMware |
373 | Documentation=http://github.com/vmware/open-vm-tools |
374 | ConditionVirtualization=vmware |
375 | +DefaultDependencies=no |
376 | PartOf=open-vm-tools.service |
377 | |
378 | [Service] |
379 | diff --git a/debian/patches/debian/enable_vmhgfs-fuse_by_default b/debian/patches/debian/enable_vmhgfs-fuse_by_default |
380 | index ab0c3fd..d5aef26 100644 |
381 | --- a/debian/patches/debian/enable_vmhgfs-fuse_by_default |
382 | +++ b/debian/patches/debian/enable_vmhgfs-fuse_by_default |
383 | @@ -1,3 +1,4 @@ |
384 | +<<<<<<< debian/patches/debian/enable_vmhgfs-fuse_by_default |
385 | --- a/open-vm-tools/vmhgfs-fuse/config.c |
386 | +++ b/open-vm-tools/vmhgfs-fuse/config.c |
387 | @@ -349,11 +349,13 @@ SysCompatCheck(char *prog_name) // IN |
388 | @@ -14,3 +15,5 @@ |
389 | |
390 | if (!SysCompatIsRegisteredFuse()) { |
391 | /* Check if FUSE is installed but not loaded yet. */ |
392 | +======= |
393 | +>>>>>>> debian/patches/debian/enable_vmhgfs-fuse_by_default |
394 | diff --git a/debian/patches/series b/debian/patches/series |
395 | index 12cba39..b00be19 100644 |
396 | --- a/debian/patches/series |
397 | +++ b/debian/patches/series |
398 | @@ -1,6 +1,9 @@ |
399 | debian/pam-use-common-auth-account |
400 | debian/max_nic_count |
401 | -debian/enable_vmhgfs-fuse_by_default |
402 | debian/scsi-udev-rule |
403 | +<<<<<<< debian/patches/series |
404 | ubuntu/lp-1791220-Disable-hgfsServer-not-VMware.patch |
405 | lp-1793219-fix-stats-overflow.patch |
406 | +======= |
407 | +stable-10.3.5-quiesced-snapshot |
408 | +>>>>>>> debian/patches/series |
409 | diff --git a/debian/patches/stable-10.3.5-quiesced-snapshot b/debian/patches/stable-10.3.5-quiesced-snapshot |
410 | new file mode 100644 |
411 | index 0000000..93d1670 |
412 | --- /dev/null |
413 | +++ b/debian/patches/stable-10.3.5-quiesced-snapshot |
414 | @@ -0,0 +1,631 @@ |
415 | +--- a/open-vm-tools/services/plugins/vmbackup/stateMachine.c |
416 | ++++ b/open-vm-tools/services/plugins/vmbackup/stateMachine.c |
417 | +@@ -201,17 +201,19 @@ VmBackupPrivSendMsg(gchar *msg, |
418 | + * Sends a command to the VMX asking it to update VMDB about a new backup event. |
419 | + * This will restart the keep-alive timer. |
420 | + * |
421 | ++ * As the name implies, does not abort the quiesce operation on failure. |
422 | ++ * |
423 | + * @param[in] event The event to set. |
424 | + * @param[in] code Error code. |
425 | +- * @param[in] dest Error description. |
426 | ++ * @param[in] desc Error description. |
427 | + * |
428 | + * @return TRUE on success. |
429 | + */ |
430 | + |
431 | + Bool |
432 | +-VmBackup_SendEvent(const char *event, |
433 | +- const uint32 code, |
434 | +- const char *desc) |
435 | ++VmBackup_SendEventNoAbort(const char *event, |
436 | ++ const uint32 code, |
437 | ++ const char *desc) |
438 | + { |
439 | + Bool success; |
440 | + char *result = NULL; |
441 | +@@ -224,6 +226,7 @@ VmBackup_SendEvent(const char *event, |
442 | + if (gBackupState->keepAlive != NULL) { |
443 | + g_source_destroy(gBackupState->keepAlive); |
444 | + g_source_unref(gBackupState->keepAlive); |
445 | ++ gBackupState->keepAlive = NULL; |
446 | + } |
447 | + |
448 | + msg = g_strdup_printf(VMBACKUP_PROTOCOL_EVENT_SET" %s %u %s", |
449 | +@@ -267,19 +270,52 @@ VmBackup_SendEvent(const char *event, |
450 | + &result, &resultLen); |
451 | + #endif |
452 | + |
453 | +- if (!success) { |
454 | ++ if (success) { |
455 | ++ ASSERT(gBackupState->keepAlive == NULL); |
456 | ++ gBackupState->keepAlive = |
457 | ++ g_timeout_source_new(VMBACKUP_KEEP_ALIVE_PERIOD / 2); |
458 | ++ VMTOOLSAPP_ATTACH_SOURCE(gBackupState->ctx, |
459 | ++ gBackupState->keepAlive, |
460 | ++ VmBackupKeepAliveCallback, |
461 | ++ NULL, |
462 | ++ NULL); |
463 | ++ } else { |
464 | + g_warning("Failed to send vmbackup event: %s, result: %s.\n", |
465 | + msg, result); |
466 | + } |
467 | + vm_free(result); |
468 | + g_free(msg); |
469 | + |
470 | +- gBackupState->keepAlive = g_timeout_source_new(VMBACKUP_KEEP_ALIVE_PERIOD / 2); |
471 | +- VMTOOLSAPP_ATTACH_SOURCE(gBackupState->ctx, |
472 | +- gBackupState->keepAlive, |
473 | +- VmBackupKeepAliveCallback, |
474 | +- NULL, |
475 | +- NULL); |
476 | ++ return success; |
477 | ++} |
478 | ++ |
479 | ++ |
480 | ++/** |
481 | ++ * Sends a command to the VMX asking it to update VMDB about a new backup event. |
482 | ++ * This will restart the keep-alive timer. |
483 | ++ * |
484 | ++ * Aborts the quiesce operation on RPC failure. |
485 | ++ * |
486 | ++ * @param[in] event The event to set. |
487 | ++ * @param[in] code Error code. |
488 | ++ * @param[in] desc Error description. |
489 | ++ * |
490 | ++ * @return TRUE on success. |
491 | ++ */ |
492 | ++ |
493 | ++Bool |
494 | ++VmBackup_SendEvent(const char *event, |
495 | ++ const uint32 code, |
496 | ++ const char *desc) |
497 | ++{ |
498 | ++ Bool success = VmBackup_SendEventNoAbort(event, code, desc); |
499 | ++ |
500 | ++ if (!success && gBackupState->rpcState != VMBACKUP_RPC_STATE_IGNORE) { |
501 | ++ g_debug("Changing rpcState from %d to %d\n", |
502 | ++ gBackupState->rpcState, VMBACKUP_RPC_STATE_ERROR); |
503 | ++ gBackupState->rpcState = VMBACKUP_RPC_STATE_ERROR; |
504 | ++ } |
505 | ++ |
506 | + return success; |
507 | + } |
508 | + |
509 | +@@ -440,6 +476,12 @@ VmBackupDoAbort(void) |
510 | + { |
511 | + g_debug("*** %s\n", __FUNCTION__); |
512 | + ASSERT(gBackupState != NULL); |
513 | ++ |
514 | ++ /* |
515 | ++ * Once we abort the operation, we don't care about RPC state. |
516 | ++ */ |
517 | ++ gBackupState->rpcState = VMBACKUP_RPC_STATE_IGNORE; |
518 | ++ |
519 | + if (gBackupState->machineState != VMBACKUP_MSTATE_SCRIPT_ERROR && |
520 | + gBackupState->machineState != VMBACKUP_MSTATE_SYNC_ERROR) { |
521 | + const char *eventMsg = "Quiesce aborted."; |
522 | +@@ -453,12 +495,13 @@ VmBackupDoAbort(void) |
523 | + g_static_mutex_unlock(&gBackupState->opLock); |
524 | + |
525 | + #ifdef __linux__ |
526 | +- /* Thaw the guest if already quiesced */ |
527 | ++ /* If quiescing has been completed, then undo it. */ |
528 | + if (gBackupState->machineState == VMBACKUP_MSTATE_SYNC_FREEZE) { |
529 | +- g_debug("Guest already quiesced, thawing for abort\n"); |
530 | +- if (!gBackupState->provider->snapshotDone(gBackupState, |
531 | ++ g_debug("Aborting with file system already quiesced, undo quiescing " |
532 | ++ "operation.\n"); |
533 | ++ if (!gBackupState->provider->undo(gBackupState, |
534 | + gBackupState->provider->clientData)) { |
535 | +- g_debug("Thaw during abort failed\n"); |
536 | ++ g_debug("Quiescing undo failed.\n"); |
537 | + eventMsg = "Quiesce could not be aborted."; |
538 | + } |
539 | + } |
540 | +@@ -622,6 +665,17 @@ VmBackupAsyncCallback(void *clientData) |
541 | + if (opPending) { |
542 | + goto exit; |
543 | + } |
544 | ++ |
545 | ++ /* |
546 | ++ * VMX state might have changed when we were processing |
547 | ++ * currentOp. This is usually detected by failures in |
548 | ++ * sending backup event to the host. |
549 | ++ */ |
550 | ++ if (gBackupState->rpcState == VMBACKUP_RPC_STATE_ERROR) { |
551 | ++ g_warning("Aborting backup operation due to RPC errors."); |
552 | ++ VmBackupDoAbort(); |
553 | ++ goto exit; |
554 | ++ } |
555 | + } |
556 | + |
557 | + switch (gBackupState->machineState) { |
558 | +@@ -957,6 +1011,7 @@ VmBackupStartCommon(RpcInData *data, |
559 | + gBackupState->enableNullDriver = VMBACKUP_CONFIG_GET_BOOL(ctx->config, |
560 | + "enableNullDriver", |
561 | + TRUE); |
562 | ++ gBackupState->rpcState = VMBACKUP_RPC_STATE_NORMAL; |
563 | + |
564 | + g_debug("Using quiesceApps = %d, quiesceFS = %d, allowHWProvider = %d," |
565 | + " execScripts = %d, scriptArg = %s, timeout = %u," |
566 | +@@ -1333,7 +1388,7 @@ VmBackupDumpState(gpointer src, |
567 | + |
568 | + |
569 | + /** |
570 | +- * Reset callback. |
571 | ++ * Reset callback. Currently does nothing. |
572 | + * |
573 | + * @param[in] src The source object. Unused. |
574 | + * @param[in] ctx Unused. |
575 | +@@ -1345,7 +1400,7 @@ VmBackupReset(gpointer src, |
576 | + ToolsAppCtx *ctx, |
577 | + gpointer data) |
578 | + { |
579 | +- VmBackup_SyncDriverReset(); |
580 | ++ |
581 | + } |
582 | + |
583 | + |
584 | +--- a/open-vm-tools/services/plugins/vmbackup/syncDriverOps.c |
585 | ++++ b/open-vm-tools/services/plugins/vmbackup/syncDriverOps.c |
586 | +@@ -35,16 +35,53 @@ |
587 | + #include <process.h> |
588 | + #endif |
589 | + |
590 | ++/* |
591 | ++ * Define an enumeration type VmBackupOpType and a corresponding array |
592 | ++ * VmBackupOpName whose entries provide the printable names of the |
593 | ++ * enumeration ids in VmBackupOpType. |
594 | ++ * |
595 | ++ * VmBackupOpType and VmBackupOpName are each defined as an invocation |
596 | ++ * of a macro VMBACKUP_OPLIST. VMBACKUP_OPLIST specifies a list of |
597 | ++ * enumeration ids using a macro VMBACKUP_OP that must be defined before |
598 | ++ * invoking VMBACKUP_OPLIST. VMBACKUP_OP takes a single argument, which |
599 | ++ * should be an enumeration id, and is defined to generate from the id |
600 | ++ * either the id itself or a string to be used as its printable name. The |
601 | ++ * result is that an invocation of VMBACKUP_OPLIST generates either the |
602 | ++ * list of enumeration ids or the list of their printable names. |
603 | ++ */ |
604 | ++#define VMBACKUP_OPLIST \ |
605 | ++ VMBACKUP_OP(OP_FREEZE), \ |
606 | ++ VMBACKUP_OP(OP_THAW), \ |
607 | ++ VMBACKUP_OP(OP_UNDO), |
608 | ++ |
609 | ++#define VMBACKUP_OPID(id) id |
610 | ++#define VMBACKUP_OPNAME(id) #id |
611 | ++ |
612 | ++#undef VMBACKUP_OP |
613 | ++#define VMBACKUP_OP(id) VMBACKUP_OPID(id) |
614 | ++ |
615 | ++typedef enum { |
616 | ++ VMBACKUP_OPLIST |
617 | ++} VmBackupOpType; |
618 | ++ |
619 | ++#undef VMBACKUP_OP |
620 | ++#define VMBACKUP_OP(id) VMBACKUP_OPNAME(id) |
621 | ++ |
622 | ++static const char *VmBackupOpName[] = { |
623 | ++ VMBACKUP_OPLIST |
624 | ++}; |
625 | ++ |
626 | ++#undef VMBACKUP_OP |
627 | ++ |
628 | + typedef struct VmBackupDriverOp { |
629 | + VmBackupOp callbacks; |
630 | + const char *volumes; |
631 | +- Bool freeze; |
632 | ++ VmBackupOpType opType; |
633 | + Bool canceled; |
634 | + SyncDriverHandle *syncHandle; |
635 | + SyncManifest *manifest; |
636 | + } VmBackupDriverOp; |
637 | + |
638 | +- |
639 | + /* |
640 | + *----------------------------------------------------------------------------- |
641 | + * |
642 | +@@ -97,7 +134,7 @@ VmBackupDriverOpQuery(VmBackupOp *_op) / |
643 | + VmBackupDriverOp *op = (VmBackupDriverOp *) _op; |
644 | + VmBackupOpStatus ret; |
645 | + |
646 | +- if (op->freeze) { |
647 | ++ if (op->opType == OP_FREEZE) { |
648 | + SyncDriverStatus st = SyncDriver_QueryStatus(*op->syncHandle, 0); |
649 | + |
650 | + g_debug("SyncDriver status: %d\n", st); |
651 | +@@ -208,7 +245,7 @@ VmBackupDriverOpCancel(VmBackupOp *_op) |
652 | + |
653 | + static VmBackupDriverOp * |
654 | + VmBackupNewDriverOp(VmBackupState *state, // IN |
655 | +- Bool freeze, // IN |
656 | ++ VmBackupOpType opType, // IN |
657 | + SyncDriverHandle *handle, // IN |
658 | + const char *volumes, // IN |
659 | + Bool useNullDriverPrefs) // IN |
660 | +@@ -216,8 +253,9 @@ VmBackupNewDriverOp(VmBackupState *state |
661 | + Bool success; |
662 | + VmBackupDriverOp *op = NULL; |
663 | + |
664 | +- g_return_val_if_fail((handle == NULL || *handle == SYNCDRIVER_INVALID_HANDLE) || |
665 | +- !freeze, |
666 | ++ g_return_val_if_fail((handle == NULL || |
667 | ++ *handle == SYNCDRIVER_INVALID_HANDLE) || |
668 | ++ opType != OP_FREEZE, |
669 | + NULL); |
670 | + |
671 | + op = Util_SafeMalloc(sizeof *op); |
672 | +@@ -226,24 +264,32 @@ VmBackupNewDriverOp(VmBackupState *state |
673 | + op->callbacks.queryFn = VmBackupDriverOpQuery; |
674 | + op->callbacks.cancelFn = VmBackupDriverOpCancel; |
675 | + op->callbacks.releaseFn = VmBackupDriverOpRelease; |
676 | +- op->freeze = freeze; |
677 | ++ op->opType = opType; |
678 | + op->volumes = volumes; |
679 | + |
680 | + op->syncHandle = g_new0(SyncDriverHandle, 1); |
681 | + *op->syncHandle = (handle != NULL) ? *handle : SYNCDRIVER_INVALID_HANDLE; |
682 | + |
683 | +- if (freeze) { |
684 | +- success = SyncDriver_Freeze(op->volumes, |
685 | +- useNullDriverPrefs ? |
686 | +- state->enableNullDriver : FALSE, |
687 | +- op->syncHandle, |
688 | +- state->excludedFileSystems); |
689 | +- } else { |
690 | +- op->manifest = SyncNewManifest(state, *op->syncHandle); |
691 | +- success = VmBackupDriverThaw(op->syncHandle); |
692 | ++ switch (opType) { |
693 | ++ case OP_FREEZE: |
694 | ++ success = SyncDriver_Freeze(op->volumes, |
695 | ++ useNullDriverPrefs ? |
696 | ++ state->enableNullDriver : FALSE, |
697 | ++ op->syncHandle, |
698 | ++ state->excludedFileSystems); |
699 | ++ break; |
700 | ++ case OP_THAW: |
701 | ++ op->manifest = SyncNewManifest(state, *op->syncHandle); |
702 | ++ success = VmBackupDriverThaw(op->syncHandle); |
703 | ++ break; |
704 | ++ default: |
705 | ++ ASSERT(opType == OP_UNDO); |
706 | ++ success = VmBackupDriverThaw(op->syncHandle); |
707 | ++ break; |
708 | + } |
709 | + if (!success) { |
710 | +- g_warning("Error %s filesystems.", freeze ? "freezing" : "thawing"); |
711 | ++ g_warning("Error trying to perform %s on filesystems.", |
712 | ++ VmBackupOpName[opType]); |
713 | + g_free(op->syncHandle); |
714 | + SyncManifestRelease(op->manifest); |
715 | + free(op); |
716 | +@@ -329,7 +375,7 @@ VmBackupSyncDriverStart(VmBackupState *s |
717 | + VmBackupDriverOp *op; |
718 | + |
719 | + g_debug("*** %s\n", __FUNCTION__); |
720 | +- op = VmBackupNewDriverOp(state, TRUE, NULL, state->volumes, TRUE); |
721 | ++ op = VmBackupNewDriverOp(state, OP_FREEZE, NULL, state->volumes, TRUE); |
722 | + |
723 | + if (op != NULL) { |
724 | + state->clientData = op->syncHandle; |
725 | +@@ -366,7 +412,7 @@ VmBackupSyncDriverOnlyStart(VmBackupStat |
726 | + VmBackupDriverOp *op; |
727 | + |
728 | + g_debug("*** %s\n", __FUNCTION__); |
729 | +- op = VmBackupNewDriverOp(state, TRUE, NULL, state->volumes, FALSE); |
730 | ++ op = VmBackupNewDriverOp(state, OP_FREEZE, NULL, state->volumes, FALSE); |
731 | + |
732 | + if (op != NULL) { |
733 | + state->clientData = op->syncHandle; |
734 | +@@ -404,7 +450,7 @@ VmBackupSyncDriverStart(ToolsAppCtx *ctx |
735 | + VmBackupState *state = (VmBackupState*) clientData; |
736 | + |
737 | + g_debug("*** %s\n", __FUNCTION__); |
738 | +- op = VmBackupNewDriverOp(state, TRUE, NULL, state->volumes, TRUE); |
739 | ++ op = VmBackupNewDriverOp(state, OP_FREEZE, NULL, state->volumes, TRUE); |
740 | + |
741 | + if (op != NULL) { |
742 | + state->clientData = op->syncHandle; |
743 | +@@ -442,7 +488,7 @@ VmBackupSyncDriverOnlyStart(ToolsAppCtx |
744 | + VmBackupState *state = (VmBackupState*) clientData; |
745 | + |
746 | + g_debug("*** %s\n", __FUNCTION__); |
747 | +- op = VmBackupNewDriverOp(state, TRUE, NULL, state->volumes, FALSE); |
748 | ++ op = VmBackupNewDriverOp(state, OP_FREEZE, NULL, state->volumes, FALSE); |
749 | + |
750 | + if (op != NULL) { |
751 | + state->clientData = op->syncHandle; |
752 | +@@ -480,7 +526,7 @@ VmBackupSyncDriverSnapshotDone(VmBackupS |
753 | + |
754 | + g_debug("*** %s\n", __FUNCTION__); |
755 | + |
756 | +- op = VmBackupNewDriverOp(state, FALSE, state->clientData, NULL, TRUE); |
757 | ++ op = VmBackupNewDriverOp(state, OP_THAW, state->clientData, NULL, TRUE); |
758 | + g_free(state->clientData); |
759 | + state->clientData = NULL; |
760 | + |
761 | +@@ -513,7 +559,40 @@ VmBackupSyncDriverOnlySnapshotDone(VmBac |
762 | + |
763 | + g_debug("*** %s\n", __FUNCTION__); |
764 | + |
765 | +- op = VmBackupNewDriverOp(state, FALSE, state->clientData, NULL, FALSE); |
766 | ++ op = VmBackupNewDriverOp(state, OP_THAW, state->clientData, NULL, FALSE); |
767 | ++ g_free(state->clientData); |
768 | ++ state->clientData = NULL; |
769 | ++ |
770 | ++ return VmBackup_SetCurrentOp(state, (VmBackupOp *) op, NULL, __FUNCTION__); |
771 | ++} |
772 | ++ |
773 | ++ |
774 | ++#if defined(__linux__) |
775 | ++/* |
776 | ++ *----------------------------------------------------------------------------- |
777 | ++ * |
778 | ++ * VmBackupSyncDriverUndo -- |
779 | ++ * |
780 | ++ * Undo a completed quiescing operation. |
781 | ++ * |
782 | ++ * Result |
783 | ++ * TRUE, unless an error occurs. |
784 | ++ * |
785 | ++ * Side effects: |
786 | ++ * None. |
787 | ++ * |
788 | ++ *----------------------------------------------------------------------------- |
789 | ++ */ |
790 | ++ |
791 | ++static Bool |
792 | ++VmBackupSyncDriverUndo(VmBackupState *state, |
793 | ++ void *clientData) |
794 | ++{ |
795 | ++ VmBackupDriverOp *op; |
796 | ++ |
797 | ++ g_debug("*** %s\n", __FUNCTION__); |
798 | ++ |
799 | ++ op = VmBackupNewDriverOp(state, OP_UNDO, state->clientData, NULL, TRUE); |
800 | + g_free(state->clientData); |
801 | + state->clientData = NULL; |
802 | + |
803 | +@@ -524,6 +603,39 @@ VmBackupSyncDriverOnlySnapshotDone(VmBac |
804 | + /* |
805 | + *----------------------------------------------------------------------------- |
806 | + * |
807 | ++ * VmBackupSyncDriverOnlyUndo -- |
808 | ++ * |
809 | ++ * Undo a completed quiescing operation. |
810 | ++ * |
811 | ++ * Result |
812 | ++ * TRUE, unless an error occurs. |
813 | ++ * |
814 | ++ * Side effects: |
815 | ++ * None. |
816 | ++ * |
817 | ++ *----------------------------------------------------------------------------- |
818 | ++ */ |
819 | ++ |
820 | ++static Bool |
821 | ++VmBackupSyncDriverOnlyUndo(VmBackupState *state, |
822 | ++ void *clientData) |
823 | ++{ |
824 | ++ VmBackupDriverOp *op; |
825 | ++ |
826 | ++ g_debug("*** %s\n", __FUNCTION__); |
827 | ++ |
828 | ++ op = VmBackupNewDriverOp(state, OP_UNDO, state->clientData, NULL, FALSE); |
829 | ++ g_free(state->clientData); |
830 | ++ state->clientData = NULL; |
831 | ++ |
832 | ++ return VmBackup_SetCurrentOp(state, (VmBackupOp *) op, NULL, __FUNCTION__); |
833 | ++} |
834 | ++#endif |
835 | ++ |
836 | ++ |
837 | ++/* |
838 | ++ *----------------------------------------------------------------------------- |
839 | ++ * |
840 | + * VmBackupSyncDriverRelease -- |
841 | + * |
842 | + * Frees the given pointer. |
843 | +@@ -579,10 +691,17 @@ VmBackup_NewSyncDriverProviderInternal(B |
844 | + if (useNullDriverPrefs) { |
845 | + provider->start = VmBackupSyncDriverStart; |
846 | + provider->snapshotDone = VmBackupSyncDriverSnapshotDone; |
847 | ++#if defined(__linux__) |
848 | ++ provider->undo = VmBackupSyncDriverUndo; |
849 | ++#endif |
850 | + } else { |
851 | + provider->start = VmBackupSyncDriverOnlyStart; |
852 | + provider->snapshotDone = VmBackupSyncDriverOnlySnapshotDone; |
853 | ++#if defined(__linux__) |
854 | ++ provider->undo = VmBackupSyncDriverOnlyUndo; |
855 | ++#endif |
856 | + } |
857 | ++ |
858 | + provider->release = VmBackupSyncDriverRelease; |
859 | + provider->clientData = NULL; |
860 | + |
861 | +@@ -642,26 +761,3 @@ VmBackup_NewSyncDriverOnlyProvider(void) |
862 | + } |
863 | + |
864 | + #endif |
865 | +- |
866 | +- |
867 | +-/* |
868 | +- *----------------------------------------------------------------------------- |
869 | +- * |
870 | +- * VmBackup_SyncDriverReset -- |
871 | +- * |
872 | +- * Reset function |
873 | +- * |
874 | +- * Results: |
875 | +- * None. |
876 | +- * |
877 | +- * Side effects: |
878 | +- * Whatever are the side effects of what it calls. |
879 | +- * |
880 | +- *----------------------------------------------------------------------------- |
881 | +- */ |
882 | +- |
883 | +-void |
884 | +-VmBackup_SyncDriverReset(void) |
885 | +-{ |
886 | +- SyncManifestReset(); |
887 | +-} |
888 | +--- a/open-vm-tools/services/plugins/vmbackup/syncManifest.c |
889 | ++++ b/open-vm-tools/services/plugins/vmbackup/syncManifest.c |
890 | +@@ -1,5 +1,5 @@ |
891 | + /********************************************************* |
892 | +- * Copyright (C) 2017-2018 VMware, Inc. All rights reserved. |
893 | ++ * Copyright (C) 2017-2019 VMware, Inc. All rights reserved. |
894 | + * |
895 | + * This program is free software; you can redistribute it and/or modify it |
896 | + * under the terms of the GNU Lesser General Public License as published |
897 | +@@ -27,6 +27,7 @@ |
898 | + #include "syncDriver.h" |
899 | + #include "syncManifest.h" |
900 | + #include "vm_tools_version.h" |
901 | ++#include "vmware/tools/log.h" |
902 | + |
903 | + #include <unistd.h> |
904 | + #include <stdio.h> |
905 | +@@ -49,12 +50,6 @@ static const char syncManifestFmt[] = { |
906 | + */ |
907 | + static const char syncManifestSwitch[] = "enableXmlManifest"; |
908 | + |
909 | +-/* |
910 | +- * If TRUE, indicates that VMTools should try to generate the backup |
911 | +- * manifest and send it to VMX; if FALSE, it won't try to do so. |
912 | +- */ |
913 | +-static Bool gSyncManifestTrySend = TRUE; |
914 | +- |
915 | + |
916 | + /* |
917 | + *----------------------------------------------------------------------------- |
918 | +@@ -95,12 +90,6 @@ SyncNewManifest(VmBackupState *state, |
919 | + return NULL; |
920 | + } |
921 | + |
922 | +- if (!gSyncManifestTrySend) { |
923 | +- g_debug("No backup manifest generated since previous" |
924 | +- " attempt to send one to host failed.\n"); |
925 | +- return NULL; |
926 | +- } |
927 | +- |
928 | + manifest = g_new0(SyncManifest, 1); |
929 | + manifest->path = g_strdup_printf("%s/%s", state->configDir, |
930 | + syncManifestName); |
931 | +@@ -173,37 +162,14 @@ SyncManifestSend(SyncManifest *manifest) |
932 | + return FALSE; |
933 | + } |
934 | + |
935 | +- if (!VmBackup_SendEvent(VMBACKUP_EVENT_GENERIC_MANIFEST, |
936 | +- VMBACKUP_SUCCESS, manifest->path)) { |
937 | +- g_warning("Host doesn't appear to support backup manifests " |
938 | +- "for Linux guests.\n"); |
939 | +- gSyncManifestTrySend = FALSE; |
940 | ++ if (!VmBackup_SendEventNoAbort(VMBACKUP_EVENT_GENERIC_MANIFEST, |
941 | ++ VMBACKUP_SUCCESS, manifest->path)) { |
942 | ++ /* VmBackup_SendEventNoAbort logs the error */ |
943 | ++ g_info("Non-fatal error occurred while sending %s, continuing " |
944 | ++ "with the operation", VMBACKUP_EVENT_GENERIC_MANIFEST); |
945 | + return FALSE; |
946 | + } |
947 | + |
948 | + g_debug("Backup manifest was sent successfully.\n"); |
949 | + return TRUE; |
950 | + } |
951 | +- |
952 | +- |
953 | +-/* |
954 | +- *----------------------------------------------------------------------------- |
955 | +- * |
956 | +- * SyncManifestReset -- |
957 | +- * |
958 | +- * Reset SyncManifest global state |
959 | +- * |
960 | +- * Results: |
961 | +- * None |
962 | +- * |
963 | +- * Side effects: |
964 | +- * None |
965 | +- * |
966 | +- *----------------------------------------------------------------------------- |
967 | +- */ |
968 | +- |
969 | +-void |
970 | +-SyncManifestReset(void) |
971 | +-{ |
972 | +- gSyncManifestTrySend = TRUE; |
973 | +-} |
974 | +--- a/open-vm-tools/services/plugins/vmbackup/syncManifest.h |
975 | ++++ b/open-vm-tools/services/plugins/vmbackup/syncManifest.h |
976 | +@@ -1,5 +1,5 @@ |
977 | + /********************************************************* |
978 | +- * Copyright (C) 2017-2018 VMware, Inc. All rights reserved. |
979 | ++ * Copyright (C) 2017-2019 VMware, Inc. All rights reserved. |
980 | + * |
981 | + * This program is free software; you can redistribute it and/or modify it |
982 | + * under the terms of the GNU Lesser General Public License as published |
983 | +@@ -45,9 +45,6 @@ SyncManifestSend(SyncManifest *manifest) |
984 | + void |
985 | + SyncManifestRelease(SyncManifest *manifest); |
986 | + |
987 | +-void |
988 | +-SyncManifestReset(void); |
989 | +- |
990 | + #else /* !defined(__linux__) */ |
991 | + |
992 | + typedef void SyncManifest; |
993 | +@@ -55,7 +52,6 @@ typedef void SyncManifest; |
994 | + #define SyncNewManifest(s, h) (NULL) |
995 | + #define SyncManifestSend(m) (TRUE) |
996 | + #define SyncManifestRelease(m) ASSERT(m == NULL) |
997 | +-#define SyncManifestReset() |
998 | + |
999 | + #endif /* defined(__linux__) */ |
1000 | + |
1001 | +--- a/open-vm-tools/services/plugins/vmbackup/vmBackupInt.h |
1002 | ++++ b/open-vm-tools/services/plugins/vmbackup/vmBackupInt.h |
1003 | +@@ -72,6 +72,12 @@ typedef enum { |
1004 | + VMBACKUP_MSTATE_SYNC_ERROR |
1005 | + } VmBackupMState; |
1006 | + |
1007 | ++typedef enum { |
1008 | ++ VMBACKUP_RPC_STATE_NORMAL, |
1009 | ++ VMBACKUP_RPC_STATE_ERROR, |
1010 | ++ VMBACKUP_RPC_STATE_IGNORE |
1011 | ++} VmBackupRpcState; |
1012 | ++ |
1013 | + /** |
1014 | + * This is a "base struct" for asynchronous operations monitored by the |
1015 | + * state machine. Each implementation should provide these three functions |
1016 | +@@ -138,6 +144,7 @@ typedef struct VmBackupState { |
1017 | + Bool vssBootableSystemState; |
1018 | + Bool vssPartialFileSupport; |
1019 | + Bool vssUseDefault; |
1020 | ++ VmBackupRpcState rpcState; |
1021 | + } VmBackupState; |
1022 | + |
1023 | + typedef Bool (*VmBackupCallback)(VmBackupState *); |
1024 | +@@ -156,6 +163,7 @@ typedef struct VmBackupSyncProvider { |
1025 | + VmBackupProviderCallback start; |
1026 | + #else |
1027 | + ToolsCorePoolCb start; |
1028 | ++ VmBackupProviderCallback undo; |
1029 | + #endif |
1030 | + VmBackupProviderCallback snapshotDone; |
1031 | + void (*release)(struct VmBackupSyncProvider *); |
1032 | +@@ -295,8 +303,11 @@ VmBackup_SendEvent(const char *event, |
1033 | + const uint32 code, |
1034 | + const char *desc); |
1035 | + |
1036 | +-void |
1037 | +-VmBackup_SyncDriverReset(void); |
1038 | ++ |
1039 | ++Bool |
1040 | ++VmBackup_SendEventNoAbort(const char *event, |
1041 | ++ const uint32 code, |
1042 | ++ const char *desc); |
1043 | + |
1044 | + #endif /* _VMBACKUPINT_H_*/ |
1045 | + |
1046 | diff --git a/debian/rules b/debian/rules |
1047 | index 2789360..5062e63 100755 |
1048 | --- a/debian/rules |
1049 | +++ b/debian/rules |
1050 | @@ -62,10 +62,14 @@ override_dh_auto_install: |
1051 | |
1052 | mkdir -p debian/open-vm-tools-desktop/usr/bin |
1053 | mv debian/open-vm-tools/usr/bin/vmware-user-suid-wrapper debian/open-vm-tools-desktop/usr/bin |
1054 | + mv debian/open-vm-tools/usr/bin/vmware-user debian/open-vm-tools-desktop/usr/bin |
1055 | |
1056 | mkdir -p debian/open-vm-tools-desktop/etc/xdg/autostart |
1057 | mv debian/open-vm-tools/etc/xdg/autostart/vmware-user.desktop debian/open-vm-tools-desktop/etc/xdg/autostart |
1058 | rm -rf debian/open-vm-tools/etc/xdg |
1059 | + |
1060 | + mkdir -p debian/open-vm-tools-desktop/lib/systemd/system/open-vm-tools.service.d |
1061 | + cp debian/desktop.conf debian/open-vm-tools-desktop/lib/systemd/system/open-vm-tools.service.d/ |
1062 | |
1063 | override_dh_builddeb: |
1064 | dh_builddeb -- -Zxz |
1065 | diff --git a/open-vm-tools/ChangeLog b/open-vm-tools/ChangeLog |
1066 | index 9fbd129..e7a4593 100644 |
1067 | --- a/open-vm-tools/ChangeLog |
1068 | +++ b/open-vm-tools/ChangeLog |
1069 | @@ -1,3 +1,4 @@ |
1070 | +<<<<<<< open-vm-tools/ChangeLog |
1071 | commit a30d7aaa4d10fbce4b7d262487fffaf1dc32d949 |
1072 | Author: Oliver Kurth <okurth@vmware.com> |
1073 | Date: Fri Jul 6 14:31:55 2018 -0700 |
1074 | @@ -1461,6 +1462,2793 @@ Date: Tue Feb 6 16:32:40 2018 -0800 |
1075 | commit 035765d487f8ab9b2222ad239b278e4725aa5a22 |
1076 | Author: Oliver Kurth <okurth@vmware.com> |
1077 | Date: Tue Feb 6 16:32:39 2018 -0800 |
1078 | +======= |
1079 | +commit 583fc02dbee4ba88a20c67a0f5e5a9b023b551ea |
1080 | +Author: Oliver Kurth <okurth@vmware.com> |
1081 | +Date: Tue Nov 6 17:14:40 2018 -0800 |
1082 | + |
1083 | + bump version and build number |
1084 | + |
1085 | +commit d51ec15038c43472e9bc48de7081b0954a122f97 |
1086 | +Author: Oliver Kurth <okurth@vmware.com> |
1087 | +Date: Tue Nov 6 17:13:04 2018 -0800 |
1088 | + |
1089 | + sync deploypkg files |
1090 | + |
1091 | +commit b4b07f53c71a83beed8fdc11f2dfeeb43aa20fda |
1092 | +Author: Oliver Kurth <okurth@vmware.com> |
1093 | +Date: Fri Oct 5 13:55:27 2018 -0700 |
1094 | + |
1095 | + Use bitwise AND operation while fetching current IOPL. |
1096 | + |
1097 | + Iopl_Get() was using logical AND operation which could result |
1098 | + in wrong IOPL value. We should be using bitwise AND instead. |
1099 | + |
1100 | +commit 87593b29e5c337141be65e4430fb95a4f1741afb |
1101 | +Author: Oliver Kurth <okurth@vmware.com> |
1102 | +Date: Fri Oct 5 13:55:27 2018 -0700 |
1103 | + |
1104 | + Optional override for short and long OS names sent from Tools |
1105 | + |
1106 | + Added support for customers to override the returned long and short OS |
1107 | + names through the tools config file. If the setting is present, then names |
1108 | + gathered by hostinfo will be ignored. The user is responsible for setting |
1109 | + the appropriate names. |
1110 | + |
1111 | + The override will be ignored if the short-name setting is not present in |
1112 | + tools.conf. |
1113 | + |
1114 | + An empty string will be sent for the long OS name if only the short-name |
1115 | + setting is present. |
1116 | + |
1117 | + Appropriate warning msg will be generated in both cases. |
1118 | + |
1119 | + Example of the conf setting: |
1120 | + |
1121 | + [guestosinfo] |
1122 | + short-name = centos6-64 |
1123 | + long-name = some long name |
1124 | + |
1125 | +commit b08cd0da457263f80e84ca95348c2a97cb7e22a5 |
1126 | +Author: Oliver Kurth <okurth@vmware.com> |
1127 | +Date: Mon Sep 17 16:41:19 2018 -0700 |
1128 | + |
1129 | + Hgfs Server Linux: fix the share permissions on a file rename or delete |
1130 | + |
1131 | + Coverity found that the argumeents to obtain the share permissions |
1132 | + on a file rename were swapped. Even though they are tested together |
1133 | + in an if statement which is not an issue, it could be in the future. |
1134 | + |
1135 | + Reverse arguments so the share read and write permissions are correct. |
1136 | + |
1137 | +commit bdde701699212ca7fb118f3a49a9bbc7fb06df68 |
1138 | +Author: Oliver Kurth <okurth@vmware.com> |
1139 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1140 | + |
1141 | + Hgfs FUSE Client: fix missing pthread_mutex_unlock call |
1142 | + |
1143 | + Fix missing pthread_mutex_unlock call in HgfsSetAttrCache when |
1144 | + updating the cached attributes on a file and a memory allocation |
1145 | + fails. |
1146 | + |
1147 | +commit 01376aca4d4bee5efed9b4b2597d141722a7feb5 |
1148 | +Author: Oliver Kurth <okurth@vmware.com> |
1149 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1150 | + |
1151 | + Bump up the SYSIMAGE_VERSION for VMware Tools 10.3.5 |
1152 | + |
1153 | +commit 7fc13e2b58dc91627d4ff78fd532b77898adf2d2 |
1154 | +Author: Oliver Kurth <okurth@vmware.com> |
1155 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1156 | + |
1157 | + Update the copyright year for OVT bundled files modified since 10.3.2 |
1158 | + |
1159 | +commit c7a186e204cdff46b5e02bcb5208ef8979eaf261 |
1160 | +Author: Oliver Kurth <okurth@vmware.com> |
1161 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1162 | + |
1163 | + Handle Linux kernel /proc FS uint32 type stat overflow when calculating |
1164 | + tools rate stats. |
1165 | + |
1166 | + On both 32-bit and 64-bit Linux, tools always parses Linux kernel /proc |
1167 | + FS stats as uint64 values. For rate stats, current - previous can handle |
1168 | + uint64 type stat overflow, but not uint32 type. |
1169 | + |
1170 | +commit 064d0a3458991f0c34a397664b6b5cd8cc00e5b3 |
1171 | +Author: Oliver Kurth <okurth@vmware.com> |
1172 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1173 | + |
1174 | + nicinfo: skip loopback devices |
1175 | + |
1176 | + When libdnet isn't used, loopback devices were reported. This change |
1177 | + skips these interfaces. Also skip interfaces that are down. |
1178 | + |
1179 | + The interface was visible with vim-cmd, but not in the VC or |
1180 | + ESX UI. It did not contain any IP addresses. |
1181 | + |
1182 | +commit 8979f11f78ef7fdbb51afa298896e06b4d874e5b |
1183 | +Author: Oliver Kurth <okurth@vmware.com> |
1184 | +Date: Mon Sep 17 16:41:18 2018 -0700 |
1185 | + |
1186 | + Allow only a single instance of vmusr when multiple users are logged into a VM |
1187 | + |
1188 | + When a vmusr process gets the "channel conflict" error while attempting |
1189 | + to open the toolbox-dnd channel, a channel reset is triggered. That |
1190 | + reset results in the channel being restarted and a subsequent conflict |
1191 | + and reset occurs - every second until the channel becomes available. |
1192 | + |
1193 | + For *nix guests: |
1194 | + The fix is making use of the repetitive channel resets where the only |
1195 | + RpcIn message received is a "reset" to catch this channel "permanently" |
1196 | + unavailable state. If other RpcIn messages are received, a channel |
1197 | + is considered to be working and the cumulative error count is cleared.. |
1198 | + |
1199 | + lib/rpcin/rpcin.c: |
1200 | + - struct RpcIn: Added error status boolean and callback function to |
1201 | + notify the dependent layer that a channel error has been |
1202 | + resolved. |
1203 | + - RpcInLoop(): If a non "reset" message is received, clear any channel |
1204 | + error status. This will also notify the dependent layer |
1205 | + that the channel is functioning. |
1206 | + - RpcIn_start(): Added additional argument for new callback; NULL if |
1207 | + not needed. |
1208 | + |
1209 | + lib/rpcChannel/rpcChannel.c: |
1210 | + - struct rpcChannelInt: |
1211 | + - Renamed "rpcErrorCount" to "rpcResetErrorCount" since it is actually |
1212 | + a count of the consecutive channel reset failures and not a count |
1213 | + of RpcChannel errors. |
1214 | + - Added counter "rpcFailureCount" for the cumulative channel errors. |
1215 | + - Added "rpcFailureCb" for optional callback to notify the app of a |
1216 | + "permanent" channel failure. |
1217 | + - New function RpcChannelClearError() for RpcIn to notify when the |
1218 | + channel is working; to clear the rpcFailureCount . |
1219 | + - RpcChannel_Setup() - added two arguments for (1) an optional function |
1220 | + to be called when there is a channel failure |
1221 | + and (2) a failure count threshold. |
1222 | + These optional values are stored in the |
1223 | + RpcChannel structure being created. |
1224 | + - RpcChannelError(): Added logic to notify the calling app if the error |
1225 | + threshold has been reached and notify the app if a |
1226 | + callback was provided. A zero threshold signifies |
1227 | + the single vmusr limit should not be enforced. |
1228 | + (fix disable switch). |
1229 | + |
1230 | + services/vmtoolsd/mainLoop.c: |
1231 | + - New function ToolsCore_GetVmusrLimit() to retrieve the channel error |
1232 | + threshold default or over-ride from tools.conf. |
1233 | + |
1234 | + services/vmtoolsd/toolsRpc.c: |
1235 | + - Added ToolsCoreAppChannelFail(): Callback for "permanent" channel |
1236 | + connection failure. A warning is logged based on whether another |
1237 | + "vmtoolsd -n vmusr" is running or not and the process is terminated. |
1238 | + On Mac OS, the process is terminated with exit(1) as an indication |
1239 | + to launchd that the vmusr process should not automatically be |
1240 | + restarted. |
1241 | + |
1242 | + The current implementation uses the error callback only for the vmusr |
1243 | + server on Linux (*nix). |
1244 | + The default channel error limit is 5 (approx. 5 second), but is user |
1245 | + configurable in tools.conf. |
1246 | + |
1247 | + [vmusr] |
1248 | + maxChannelAttempts = n # where allowed n = 0, 3-15 |
1249 | + |
1250 | + When "maxChannelAttempts = 0" is used, the restriction to a single |
1251 | + running vmusr process is not enforced. The existing behavior is |
1252 | + restored with all the accompanying VMX log spew. This is essentially |
1253 | + a user configurable feature disablement switch. |
1254 | + |
1255 | +commit 0c34a86b232a9904941f825ce8b16320cadaace1 |
1256 | +Author: Oliver Kurth <okurth@vmware.com> |
1257 | +Date: Mon Sep 17 16:41:17 2018 -0700 |
1258 | + |
1259 | + Changes to common header files not directly applicable to open-vm-tools |
1260 | + |
1261 | + VGAuth Windows: fix file properties product version and file version |
1262 | + |
1263 | + Product name of the VGAuth binaries are set to VMware Workstation and |
1264 | + the Product version set to experimental (e.x.p). |
1265 | + |
1266 | + Experimental version has the e.x.p build number in the Product Version |
1267 | + field of each of the shipped binaries. Now that we are WHQL signing a DLL too |
1268 | + for security it does make sense for the feature to use an official version. |
1269 | + |
1270 | + This changes the Product name and version fields from |
1271 | + Product name -> VMware Workstation |
1272 | + Product version -> e.x.p build-4013326 |
1273 | + |
1274 | + to |
1275 | + Product name -> VMware Guest Authentication |
1276 | + Product version -> 1.0.0 build-4013326 |
1277 | + |
1278 | +commit 5f5a7f4a0984ee35ce79d736426a5335c91da332 |
1279 | +Author: Oliver Kurth <okurth@vmware.com> |
1280 | +Date: Fri Sep 7 15:53:28 2018 -0700 |
1281 | + |
1282 | + Remove vmxnet and vmxnet3 drivers from FreeBSD builds and open-vm-tools |
1283 | + |
1284 | + The vmxnet (version 1) network driver is not supported by any currently |
1285 | + supported VMware virtualization platform. Removing the FreeBSD |
1286 | + specific vmxnet source and deleting the vmxnet.ko driver build from |
1287 | + the tools and the open-vm-tools builds. |
1288 | + |
1289 | + FreeBSD has their own vmxnet3 network driver based on community source |
1290 | + and has never made use of the vmxnet3 source code or drivers from |
1291 | + VMware. Removing the unneeded FreeBSD vmxnet3 source and builds |
1292 | + |
1293 | +commit 1a413064fee53ac3e334e96c546886e60724d07a |
1294 | +Author: Oliver Kurth <okurth@vmware.com> |
1295 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1296 | + |
1297 | + Update SSL configuration with more secure settings. |
1298 | + |
1299 | + Due to SSL issues in the past, The preference is to have default |
1300 | + settings to be more secure than compatible. This change mainly |
1301 | + inherits the default settings from ssl.c. |
1302 | + |
1303 | +commit 450aca9f244b5e56bcef130df1a06137fd1f07e0 |
1304 | +Author: Oliver Kurth <okurth@vmware.com> |
1305 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1306 | + |
1307 | + Add virbr* interfaces on RHEL to the default exclude-nics. |
1308 | + |
1309 | +commit 5a6e8bc0ef8af2eedbbc4dc1973cb7fe18afa939 |
1310 | +Author: Oliver Kurth <okurth@vmware.com> |
1311 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1312 | + |
1313 | + Fix a gcc-8 compiler warning in lib/misc/vthreadBase.c |
1314 | + |
1315 | + gcc-8 generates a stringop-truncation warning when it's possible |
1316 | + for strncpy to exclude the trailing nul. The code was fine, we never |
1317 | + touch the last byte in the buffer and it's a static, but explicitly |
1318 | + set a nul at the end of the buffer so gcc sees it. |
1319 | + |
1320 | + This is needed for open-vm-tools to build on Suse Tumbleweed. |
1321 | + |
1322 | +commit 5200ba3a770463e5c6a9e9d7e7a6a949857332ec |
1323 | +Author: Oliver Kurth <okurth@vmware.com> |
1324 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1325 | + |
1326 | + Return proper vix error code when guest op VIX_COMMAND_DELETE_GUEST_DIRECTORY_EX fails. |
1327 | + |
1328 | +commit 8ffda7dbae4b916b28e3f903554bc37db1d5f974 |
1329 | +Author: Oliver Kurth <okurth@vmware.com> |
1330 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1331 | + |
1332 | + Make Tools logfiles readable only by owner and root |
1333 | + |
1334 | +commit b0e2fab2787fbc511d240c4ce0f52a74b55152fe |
1335 | +Author: Oliver Kurth <okurth@vmware.com> |
1336 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1337 | + |
1338 | + Reduce quiesced snapshot warning messages when running on older hosts. |
1339 | + |
1340 | + vSphere 6.7 added a new interface on the host side that allows tools |
1341 | + to send a "generic" backup manifest during a quiesced snapshot on |
1342 | + Linux guests. VMTools 10.2.0 or later will try to send the manifest |
1343 | + file and if the host is unable to field it, then VMTools logs this |
1344 | + information and continues with the quiesced snapshot in the older |
1345 | + fashion. This change reduces the logging that is done in this case. |
1346 | + |
1347 | +commit a4b4c338f1202d161e8cad2eb7cf78d44f2fd302 |
1348 | +Author: Oliver Kurth <okurth@vmware.com> |
1349 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1350 | + |
1351 | + Common source file change not directly applicable to open-vm-tools |
1352 | + |
1353 | + Verify existence of the returned path, retry the guest OP |
1354 | + CreateTemporaryFileInGuest/CreateTemporaryDirectoryInGuest using system |
1355 | + temp folder if the path disappears. |
1356 | + |
1357 | +commit b6c450d123141a752bd4805263b7d476f5b1f26b |
1358 | +Author: Oliver Kurth <okurth@vmware.com> |
1359 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1360 | + |
1361 | + Fix coverity complaint; not a real bug |
1362 | + |
1363 | +commit 23bd37544bb9ae4069002d73cb1c1b40e221d36a |
1364 | +Author: Oliver Kurth <okurth@vmware.com> |
1365 | +Date: Fri Sep 7 15:53:27 2018 -0700 |
1366 | + |
1367 | + Common source file change not directly applicable to open-vm-tools. |
1368 | + |
1369 | +commit c2dd430ea5c8c9309700d25548513469dae68c9b |
1370 | +Author: Oliver Kurth <okurth@vmware.com> |
1371 | +Date: Fri Sep 7 15:53:26 2018 -0700 |
1372 | + |
1373 | + Disable hgfsServer plugin when not running in a VMware VM. |
1374 | + |
1375 | + VmCheck_GetVersion() accesses Backdoor in an unsafe manner |
1376 | + which is not expected to work on non-VMware environments |
1377 | + including physical machines. So, we need to make sure that |
1378 | + VmCheck_GetVersion() is called only when we are running in |
1379 | + a VMware VM. |
1380 | + |
1381 | +commit 31a60ab3529a8dad8d602a524d194013d90abeec |
1382 | +Author: Oliver Kurth <okurth@vmware.com> |
1383 | +Date: Fri Sep 7 15:53:26 2018 -0700 |
1384 | + |
1385 | + Expose more guest stats for vROPS to report the exact physical memory |
1386 | + stats as the guest OS UI does. |
1387 | + |
1388 | + Windows: |
1389 | + guest.mem.modifiedPages (Win32_PerfRawData_PerfOS_Memory#ModifiedPageListBytes) |
1390 | + guest.mem.standby.core (Win32_PerfRawData_PerfOS_Memory#StandbyCacheCoreBytes) |
1391 | + guest.mem.standby.normal (Win32_PerfRawData_PerfOS_Memory#StandbyCacheNormalPriorityBytes) |
1392 | + guest.mem.standby.reserve (Win32_PerfRawData_PerfOS_Memory#StandbyCacheReserveBytes) |
1393 | + |
1394 | + Linux: |
1395 | + guest.mem.total (/proc/meminfo#MemTotal) |
1396 | + guest.mem.buffers (/proc/meminfo#Buffers) |
1397 | + guest.mem.cached (/proc/meminfo#Cached) |
1398 | + guest.mem.slabReclaim (/proc/meminfo#SReclaimable) |
1399 | + guest.mem.available (/proc/meminfo#MemAvailable since Linux 3.14, emulated by VMTools for kernels 2.6.27+) |
1400 | + |
1401 | +commit 0b01aefe3ee960c6035863bcf4fd7e2ff654b99b |
1402 | +Author: Oliver Kurth <okurth@vmware.com> |
1403 | +Date: Fri Sep 7 15:53:26 2018 -0700 |
1404 | + |
1405 | + Update the tools version to 10.3.5 |
1406 | + |
1407 | + Set the tools version in vm_tools_version.h to be |
1408 | + TOOLS_VERSION_JACKHAMMER_UPDATE1 = 10.3.5. |
1409 | + |
1410 | +commit 2147df6aabe639fc5ff423ed791a8e7f02bf8d0a |
1411 | +Author: Oliver Kurth <okurth@vmware.com> |
1412 | +Date: Fri Jul 13 11:54:23 2018 -0700 |
1413 | + |
1414 | + prepare for 10.3.0 release |
1415 | +commit a30d7aaa4d10fbce4b7d262487fffaf1dc32d949 |
1416 | +Author: Oliver Kurth <okurth@vmware.com> |
1417 | +Date: Fri Jul 6 14:31:55 2018 -0700 |
1418 | + |
1419 | + Common source file change, not directly applicable to open-vm-tools. |
1420 | + |
1421 | + Enforce monotonic behavior for the value returned by times() on Mac. |
1422 | + |
1423 | +commit 12e5559e4dcf3968dd45131077b68364578f3bef |
1424 | +Author: Oliver Kurth <okurth@vmware.com> |
1425 | +Date: Fri Jul 6 14:31:55 2018 -0700 |
1426 | + |
1427 | + Update the Tools-10.3.0 OSL. |
1428 | + |
1429 | + Update the Tools-10.3.0 open source license files. |
1430 | + |
1431 | +commit c80bb3fc7960bc78a6d39c89b6952218a401b0cf |
1432 | +Author: Oliver Kurth <okurth@vmware.com> |
1433 | +Date: Fri Jul 6 14:31:55 2018 -0700 |
1434 | + |
1435 | + [tools-plugin] Potential solution for reported desktopEvent crash |
1436 | + |
1437 | + On several distros like RHEL, CentOS and Fedora, plugin desktopEvents.so |
1438 | + crashes have been reported. However, neither development or QE can |
1439 | + reproduce this issue in local environments. |
1440 | + |
1441 | + The XFetchName document states that it may generate BadWindow error. That |
1442 | + means that the value for a Window argument does not name a defined Window. |
1443 | + X FAQ also suggests handling badwindow error after finding it. Since |
1444 | + the window does not exist when XFetchName is run on it, the name is not |
1445 | + needed. Suppress this error to avoid a crash. |
1446 | + |
1447 | + After grabbing the X server, use XSetErrorHandler to temporarily define |
1448 | + a local error handler to intercept and cleanly handle any BadWindow |
1449 | + errors. XSetErrorHandler returns the current error handler, so it is |
1450 | + straightforward to reinstate GDK's original handler. |
1451 | + |
1452 | +commit 6172812c021469704c51817693c6c8f6bf226509 |
1453 | +Author: Oliver Kurth <okurth@vmware.com> |
1454 | +Date: Fri Jul 6 14:31:55 2018 -0700 |
1455 | + |
1456 | + Remove the new guest metrics feature switch, permanently enabling the |
1457 | + collection of new guest metrics for vROps.. |
1458 | + |
1459 | +commit 6e6285ec690a13ff8ba894ee463a5aa0fd034269 |
1460 | +Author: Oliver Kurth <okurth@vmware.com> |
1461 | +Date: Tue Jun 19 11:07:46 2018 -0700 |
1462 | + |
1463 | + Previous change to configure.ac and vmtools.m4 caused a regression |
1464 | + |
1465 | + Backing out of 10.3.0. |
1466 | + |
1467 | +commit 699cda01fab8b1ad8a1e912d650aa92f7ffdf0e6 |
1468 | +Author: Oliver Kurth <okurth@vmware.com> |
1469 | +Date: Tue Jun 19 11:07:46 2018 -0700 |
1470 | + |
1471 | + [OVT] Update copyright year to 2018 for few files. |
1472 | + |
1473 | + Updated the copyright year to 2018 for few files changed in the last |
1474 | + few days. |
1475 | + |
1476 | +commit cecbaf6b16f5fd1ecbfe4419310352353b047ba2 |
1477 | +Author: Oliver Kurth <okurth@vmware.com> |
1478 | +Date: Tue Jun 19 11:07:46 2018 -0700 |
1479 | + |
1480 | + open-vm-tools: use AC_CHECK_TOOL for pkg-config |
1481 | + |
1482 | + AC_CHECK_TOOL honors the --host setting to configure, and searches |
1483 | + for tools with the cross compile prefix thus allowing for cross |
1484 | + compile specific tools. |
1485 | + |
1486 | + Fixes issue #26 in github. |
1487 | + |
1488 | +commit f2c8d02161569c96ac452f9d1063756d133562ba |
1489 | +Author: Oliver Kurth <okurth@vmware.com> |
1490 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1491 | + |
1492 | + open-vm-tools: build dndcp with thread libs |
1493 | + |
1494 | + Recent changes in the dndcp plugin made it necessary to make sure that |
1495 | + it links against pthread libs. |
1496 | + |
1497 | +commit 99df5712ba7b8910c3db138c64aab6957f31c914 |
1498 | +Author: Oliver Kurth <okurth@vmware.com> |
1499 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1500 | + |
1501 | + Clipboard content on the host gets loaded to tmp on Linux guest with a right click on Guest |
1502 | + |
1503 | + Root Cause: |
1504 | + Dndcp plugin creates a sub thread to monitor if there is other application |
1505 | + access the specific file. The root cause for this bug is the main thread |
1506 | + doesn't update its field before wakeup the sub thread, this cause the sub |
1507 | + thread get a wrong value. |
1508 | + |
1509 | + Solution: |
1510 | + Main thread should update the field before wakeup the sub thread. |
1511 | + |
1512 | +commit 99af79200f91c246580197b5698995fba4dc47af |
1513 | +Author: Oliver Kurth <okurth@vmware.com> |
1514 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1515 | + |
1516 | + open-vm-tools: build for FreeBSD fails in fakeMouseWayland |
1517 | + |
1518 | + Root Cause: |
1519 | + In the file fakeMouseWayland.cpp, several Linux related header files |
1520 | + are included: |
1521 | + <linux/input.h> |
1522 | + <linux/ioctl.h> |
1523 | + <linux/uinput.h> |
1524 | + |
1525 | + These header files do not exist for FreeBSD and Solaris. |
1526 | + |
1527 | + Solution: |
1528 | + Lib fakeMouse is not needed by FreeBSD and Solaris, so update the makefile |
1529 | + to build the fakemouse related code only on Linux. |
1530 | + |
1531 | +commit 104cab14e08b93a2525992e09f0d13ff26d52d9d |
1532 | +Author: Oliver Kurth <okurth@vmware.com> |
1533 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1534 | + |
1535 | + Use "/var/run" or "/run" instead of "/tmp" in Linux guest for imc package copy |
1536 | + |
1537 | + 1. check if /var/run is a directory in VM |
1538 | + 2. if Yes, use /var/run/XXXXXX |
1539 | + 3. check if /run is a directory in VM |
1540 | + 4. if Yes, use /run/XXXXXX |
1541 | + 5. if both No, use /tmp/XXXXXX as before |
1542 | + |
1543 | +commit 8f93d803066032a738b9d9a6990e32ed17b589e1 |
1544 | +Author: Oliver Kurth <okurth@vmware.com> |
1545 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1546 | + |
1547 | + Build open-vm-tools with xmlsec1 by default. |
1548 | + |
1549 | + Build open-vm-tools with xmlsec1 by default, rather than with |
1550 | + xml-security-c as is done currently. This requires modifications |
1551 | + to configure.ac to change the default for use_xmlsec1, plus |
1552 | + modifications to bora-vmsoft/install/Source/tools-pkg.make to |
1553 | + initialize flags for xmlsec1 and xml2 now needed by the OVT build |
1554 | + that is done during tools builds. |
1555 | + |
1556 | + Another change that surfaced during this was that the symbol that |
1557 | + configure checks for the xmlsec library was wrong. It should be |
1558 | + xmlSecCheckVersionExt rather than xmlSecCheckVersion. The latter |
1559 | + is a header-defined macro but not a library symbol. |
1560 | + |
1561 | +commit 7313fdc5b2b14ac83340b2e59752b934494c2ae9 |
1562 | +Author: Oliver Kurth <okurth@vmware.com> |
1563 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1564 | + |
1565 | + [Wayland Copy & Paste] Part2: Uses VMBlock notification mechanism for Copy & Paste |
1566 | + |
1567 | + This patch is part of the new feature for Workstation 15: \[P0\] Wayland |
1568 | + support in Linux guest - Copy & Paste. |
1569 | + |
1570 | + In the first patch, the notification mechanism is added to the VMBlock module. |
1571 | + In this patch, the notification mechanism is used, |
1572 | + |
1573 | +commit c04b9987786901f544c4df04f7701b48ac8f6475 |
1574 | +Author: Oliver Kurth <okurth@vmware.com> |
1575 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1576 | + |
1577 | + [Wayland Copy & Paste] Part1: Add notification mechanism to the VMBlock module |
1578 | + |
1579 | + This patch is part of the new feature for Workstation 15: [P0] Wayland support |
1580 | + in Linux guest - Copy & Paste. |
1581 | + |
1582 | + In the implementation of current VMTools, there is a restriction, in the first |
1583 | + second after grab into the guest, the CopyPasteUIX11::LocalGetFileRequestCB, |
1584 | + which is a callback from a file paste request from another guest application |
1585 | + and begins copying the files from host to guest and return the file list, |
1586 | + will return none directly. |
1587 | + |
1588 | + The Wayland file explorer will request the content in the clipboard after the |
1589 | + user clicks on the file explorer, and the request will get nothing since the |
1590 | + restriction in the VMTools, so the following ‘Paste’ operation will fail. |
1591 | + |
1592 | + Solution: |
1593 | + This solution is only used for the Linux guest with Wayland. The behavior |
1594 | + for Linux guest with X11 will not change. |
1595 | + |
1596 | + The restriction, the CopyPasteUIX11::LocalGetFileRequestCB returns directly |
1597 | + in the first second after grab into the guest, will be removed. |
1598 | + |
1599 | + And, the notification mechanism will be added into the VM block file system. |
1600 | + This mechanism is similar with the inotify module. |
1601 | + |
1602 | + Take the VMBlock Fuse File System as an example, currently, the mount point contains below contents: |
1603 | + |
1604 | + * /blockdir/ |
1605 | + |
1606 | + * /dev |
1607 | + |
1608 | + /blockdir/ contains the symlinks to the contents of the target directory. |
1609 | + |
1610 | + /dev is the control file for VMBlock Fuse File System. |
1611 | + |
1612 | + 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. |
1613 | + |
1614 | + This patch only focus on the notification mechanism. |
1615 | + |
1616 | +commit 6c0b2130e7ee103ece06eb674c5f5dfea66c26f1 |
1617 | +Author: Oliver Kurth <okurth@vmware.com> |
1618 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1619 | + |
1620 | + FreeBSD: clang compiler related changes to configure.ac |
1621 | + |
1622 | + On FreeBSD, the unwind.h header is available in the libunwind |
1623 | + package (/usr/ports/devel/libunwind) which may or may not be installed |
1624 | + on a system. The libunwind functions to determine the call-chain in a |
1625 | + program are defined only if " __GNU_SOURCE" is defined to enable "all" |
1626 | + GCC extensions. Avoid the unwind.h header if seen on FreeBSD. |
1627 | + |
1628 | + The "clang" compiler will issue warnings if the address of a member |
1629 | + of a packed structure is taken. Since warnings are errors with -Wall, |
1630 | + add --Wno-address-of-packed-member to CFLAGS when compiling with |
1631 | + "clang". |
1632 | + |
1633 | +commit bba52bfa5b29c8860f18200022db5b8b250d326b |
1634 | +Author: Oliver Kurth <okurth@vmware.com> |
1635 | +Date: Tue Jun 19 11:07:45 2018 -0700 |
1636 | + |
1637 | + open-vm-tools: build with tirpc |
1638 | + |
1639 | + Newer distros (Fedora, OpenSuSE Tumblweed) no longer ship rpcgen with glibc, |
1640 | + so we need to build with libtirpc (see |
1641 | + https://bugzilla.redhat.com/show_bug.cgi?id=1531540 and |
1642 | + https://bugzilla.suse.com/show_bug.cgi?id=1089181). |
1643 | + With this change, configure will check for the presence of libtirpc and |
1644 | + if found, sets flags to build with it. configure will also exit with an |
1645 | + error if rpcgen is not found. |
1646 | + |
1647 | +commit 5c0b9496db96af9ea5e4b3b1321f0612a3f62d99 |
1648 | +Author: Oliver Kurth <okurth@vmware.com> |
1649 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1650 | + |
1651 | + Changes to build CAF with VS 2015; not applicable to open-vm-tools. |
1652 | + |
1653 | +commit 3961588fcce58090c249f4a65ad8cc109efecc5c |
1654 | +Author: Oliver Kurth <okurth@vmware.com> |
1655 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1656 | + |
1657 | + Log full version of Tools in vmware.log. |
1658 | + |
1659 | + Currently, only the Tools build number is logged in vmware.log. |
1660 | + It will be very handy to have the full version logged in |
1661 | + there and avoid the need to manually lookup the build. |
1662 | + |
1663 | +commit bf494fd02a77a4f34ff420c03c0c5a19e43218d3 |
1664 | +Author: Oliver Kurth <okurth@vmware.com> |
1665 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1666 | + |
1667 | + Tools 10.3.0 L10n drop2 |
1668 | + |
1669 | + This is to integrate the final L10n drop for VMware Tools 10.3. |
1670 | + |
1671 | +commit 065f09b94e09f1127901db29e73cc9b9f36df4fc |
1672 | +Author: Oliver Kurth <okurth@vmware.com> |
1673 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1674 | + |
1675 | + Add two switches for max IPv4/6 routes to gather |
1676 | + |
1677 | + Gathering nic info in a Linux guest OS which is configured with large |
1678 | + number(60000+) of ipv6 routes could result in vmtoolsd process taking a |
1679 | + long time and rock solid 100% CPU of a core. Though tools only exports |
1680 | + at most NICINFO_MAX_ROUTES(100) routes, it tries to read all the contents |
1681 | + of /proc/net/ipv6_route which costs too much time because: |
1682 | + 1. IPv6 route table is not efficient natively compared to ipv4 due to |
1683 | + its implementation. |
1684 | + 2. The g_io library can aggravate the performance. |
1685 | + |
1686 | + On the other hand, when gathering routes, IPv4 comes first, and IPv6 second. |
1687 | + And the routes reported to VMX has an overall limitation of serializing |
1688 | + (NICINFO_MAX_ROUTES). If there's more than NICINFO_MAX_ROUTES IPv4 routes |
1689 | + in system, no IPv6 will get reported. |
1690 | + |
1691 | + Added two switches "max-ipv4-routes" and "max-ipv6-routes" |
1692 | + (NICINFO_MAX_ROUTES by default) in tools.conf and let SlashProcNet_GetRoute*() |
1693 | + only read the first max ipv4/6 routes lines of /proc/net/[ipv6_]route to avoid |
1694 | + performance problem. Users can disable ipv4/ipv6 routes gathering |
1695 | + separately if they want ipv6 or ipv4 only. |
1696 | + |
1697 | +commit bf86c612a8ffe1d20b98c20b76f0c34840a7a2a3 |
1698 | +Author: Oliver Kurth <okurth@vmware.com> |
1699 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1700 | + |
1701 | + Not checking symbols when building open-vm-tools |
1702 | + |
1703 | + Using a hard-coded mangled name is not a good idea because C++ does not |
1704 | + have any standard for name mangling. Remove these mangled names introduced |
1705 | + in an earlier fix. |
1706 | + |
1707 | +commit d36ed6e5b4784a36cb93f50e05d6a49b5d76b86e |
1708 | +Author: Oliver Kurth <okurth@vmware.com> |
1709 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1710 | + |
1711 | + [OVT] Update copyright year to 2018 for files modified since 10.2.5 GA |
1712 | + |
1713 | +commit 8086ead225faf3a051952773c0b98b2c751b1e84 |
1714 | +Author: Oliver Kurth <okurth@vmware.com> |
1715 | +Date: Tue Jun 19 11:07:44 2018 -0700 |
1716 | + |
1717 | + Hgfs Win Client: fix bad illegal character escaping; not applicable to open-vm-tools. |
1718 | + |
1719 | +commit 7efc7b70a57cf734012a069fabab19e96f8cf16d |
1720 | +Author: Oliver Kurth <okurth@vmware.com> |
1721 | +Date: Tue Jun 19 11:07:43 2018 -0700 |
1722 | + |
1723 | + Add the JACKHAMMER code name to the 10.3.0 release version defines. |
1724 | + |
1725 | + Adding the code name JACKHAMMER to the 10.3.x series version notation |
1726 | + for the public source release and use by future 10.3.x patches or |
1727 | + updates. |
1728 | + |
1729 | +commit d71381445f6c3b986e263435006428a44be0451a |
1730 | +Author: Oliver Kurth <okurth@vmware.com> |
1731 | +Date: Tue Jun 19 11:07:43 2018 -0700 |
1732 | + |
1733 | + Hgfs Server Plugin: only handle the shared folders client in hosted products |
1734 | + |
1735 | + Only initialize the Shared Folders client redirector in hosted product |
1736 | + environments. |
1737 | + |
1738 | + Details: Check if the tools system service started in a non-hosted product |
1739 | + and if so do not start the shared folders client redirector. |
1740 | + Check if the tools user service started in a non-hosted product product and if |
1741 | + so then skip reconnecting any Shared Folders mapped drives. |
1742 | + |
1743 | +commit ad7c68780a773d6d456687aff0d27f9cff808370 |
1744 | +Author: Oliver Kurth <okurth@vmware.com> |
1745 | +Date: Thu May 10 16:47:16 2018 -0700 |
1746 | + |
1747 | + update version number |
1748 | + |
1749 | +commit cac0f086ffcc00da73dd7dd80fef6956962f4dd6 |
1750 | +Author: Oliver Kurth <okurth@vmware.com> |
1751 | +Date: Thu May 10 16:38:11 2018 -0700 |
1752 | + |
1753 | + Remove debug display of CPUID vendor string seen in VmCheck_IsVirtualWorld |
1754 | + |
1755 | + The "Debug" message containing vendor string returned by the CPUID |
1756 | + instruction will appear on STDERR for stand-alone programs such |
1757 | + as vmware-checkvm. This unexpected output is at best noise and may |
1758 | + adversely affect existing scripts. |
1759 | + |
1760 | +commit 7ddbe3c9df400dfdf7d67d259ae3942d157dedb4 |
1761 | +Author: Oliver Kurth <okurth@vmware.com> |
1762 | +Date: Mon Apr 30 15:42:54 2018 -0700 |
1763 | + |
1764 | + sync deploypkg files |
1765 | + |
1766 | +commit 80a23d71a281493071668fd45b77d7f8248fad68 |
1767 | +Author: Oliver Kurth <okurth@vmware.com> |
1768 | +Date: Mon Apr 30 14:04:14 2018 -0700 |
1769 | + |
1770 | + Changes to common header files: |
1771 | + - Add Amazon Linux 2 to the known guest OS list. |
1772 | + - Other change not application to open-vm-tools. |
1773 | + |
1774 | +commit 48dc7a57ff3fe5cb1441040876f74b69772c1ea5 |
1775 | +Author: Oliver Kurth <okurth@vmware.com> |
1776 | +Date: Mon Apr 30 14:04:13 2018 -0700 |
1777 | + |
1778 | + [DeployPkg] Replace Log() references with g_log() |
1779 | + |
1780 | + * Modified the code to replace a couple of Log() references with g_debug() |
1781 | + so that they are properly logged with 'deplogPkg' domain instead of the |
1782 | + generic 'vmsvc' domain in the tools log files. |
1783 | + |
1784 | +commit 9cb12223b4da529df043d95ab025f22c6ee00c39 |
1785 | +Author: Oliver Kurth <okurth@vmware.com> |
1786 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1787 | + |
1788 | + [oss] Upgrade GTK+ and its dependent libraries for VMtools |
1789 | + |
1790 | + GTK+ and its dependent libraries are upgraded to: |
1791 | + gtk+ 2.24.32 |
1792 | + atk 2.28.1 |
1793 | + gdk-pixbuf 2.36.11 |
1794 | + pango 1.40.13 |
1795 | + cairo 1.14.12 |
1796 | + fontconfig 2.13.0 |
1797 | + freetype 2.9 |
1798 | + |
1799 | +commit a5c03957c95ec78c92246b87cdf60a90b2eca7f7 |
1800 | +Author: Oliver Kurth <okurth@vmware.com> |
1801 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1802 | + |
1803 | + Common header file change not applicable to open-vm-tools. |
1804 | + |
1805 | +commit f87d177acab33f00229234ed51722504e2f7afc7 |
1806 | +Author: Oliver Kurth <okurth@vmware.com> |
1807 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1808 | + |
1809 | + Changes to common header files not directly applicable to open-vm-tools. |
1810 | + |
1811 | +commit ba65905dfc7e6c07d1aeea37db885284e54b02fa |
1812 | +Author: Oliver Kurth <okurth@vmware.com> |
1813 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1814 | + |
1815 | + Set perms on Tools script logs. |
1816 | + |
1817 | + Make the network script logs secure; set log file perms to 0600. |
1818 | + |
1819 | +commit aa59d16e0b5968efc298065ef50ece282d406265 |
1820 | +Author: Oliver Kurth <okurth@vmware.com> |
1821 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1822 | + |
1823 | + [Wayland DnD] Part2: Open the uinput device file with root permission. |
1824 | + |
1825 | + The device file /dev/uinput (or /dev/input/uinput) can only be accessed |
1826 | + by root account, so the dndcp plugin may failed to open this device file |
1827 | + if the current user is not root account. |
1828 | + |
1829 | + A way to fix this issue is opening this device file with root account, |
1830 | + then pass the file descriptor to the sub task which is started with the |
1831 | + current account. An example for this solution is blockVM file system |
1832 | + device file. |
1833 | + |
1834 | + This patch is part of the new feature 'Wayland support in Linux guest'. |
1835 | + |
1836 | +commit b3899c91d348d23c2e6c22944b8ac1a06e4e3988 |
1837 | +Author: Oliver Kurth <okurth@vmware.com> |
1838 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1839 | + |
1840 | + [Wayland DnD] Part1: Add 'fakeMouse' module which is used to simulate the |
1841 | + mouse motion under Wayland |
1842 | + |
1843 | + For Linux guest with X11, the VMTools uses the X system APIs to simulate |
1844 | + the mouse motion, but these X11 System APIs do not work in Wayland. Need |
1845 | + to pick up another method to simulate the mouse motion. |
1846 | + |
1847 | + Another way to simulate the mouse motion is using uinput module. |
1848 | + |
1849 | + uinput is a kernel module that makes it possible to emulate input devices |
1850 | + from userspace. By writing to /dev/uinput (or /dev/input/uinput) device, |
1851 | + a process can create a virtual input device with specific capabilities. |
1852 | + Once this virtual device is created, the process can send events through |
1853 | + it, that will be delivered to userspace and in-kernel consumers. |
1854 | + |
1855 | + Here is the link which contains more information about the uinput module: |
1856 | + |
1857 | + https://www.kernel.org/doc/html/v4.12/input/uinput.html |
1858 | + |
1859 | + This patch adds a new module named 'fakeMouse' which is used to simulate the mouse motion under Wayland. |
1860 | + |
1861 | + This patch is part of the new feature 'Wayland support in Linux guest'. |
1862 | + |
1863 | +commit 995befcb0d6156fb47773c96db6d478173d1bc89 |
1864 | +Author: Oliver Kurth <okurth@vmware.com> |
1865 | +Date: Mon Apr 23 17:08:18 2018 -0700 |
1866 | + |
1867 | + Add new guest metrics to be consumed by vROps. |
1868 | + |
1869 | + Windows: |
1870 | + * ProcessorQueueLength |
1871 | + * CurrentDiskQueueLength |
1872 | + * AvgDiskQueueLength |
1873 | + |
1874 | + Linux: |
1875 | + * CPU run queue size |
1876 | + * Current disk queue size |
1877 | + * Average disk queue size |
1878 | + |
1879 | +commit 9d6cfe650cd15095e65024fbb5d9cd6944e1cf14 |
1880 | +Author: Oliver Kurth <okurth@vmware.com> |
1881 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1882 | + |
1883 | + Historical: Recording version numbers assigned for 10.2.x patches. |
1884 | + |
1885 | + Define TOOLS_VERSION_CHAINSAW_PATCH1 as 10.2.1. |
1886 | + Define TOOLS_VERSION_CHAINSAW_PATCH2 as 10.2.6. |
1887 | + |
1888 | +commit ba6c319f18d294b36c0e989f851fbfdbc8a629b7 |
1889 | +Author: Oliver Kurth <okurth@vmware.com> |
1890 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1891 | + |
1892 | + Bump up the version requirement for glib and friends to 2.34.0 |
1893 | + |
1894 | + For open-vm-tools, we are bumping up the minimum version requirement |
1895 | + to 2.34.0 for glib and its friends. Modified the configure.ac |
1896 | + with the proper new version checks. Also, updated the |
1897 | + error message with the proper version. |
1898 | + |
1899 | +commit 26d03ad8075913cb869b814462b7285c02367252 |
1900 | +Author: Oliver Kurth <okurth@vmware.com> |
1901 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1902 | + |
1903 | + Common header file change not applicable to open-vm-tools. |
1904 | + |
1905 | +commit ce1ed002f5e05f09678e15b4021bac8155edb1eb |
1906 | +Author: Oliver Kurth <okurth@vmware.com> |
1907 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1908 | + |
1909 | + Common source file changes that are not directly related to open-vm-tools. |
1910 | + |
1911 | + Build vmtools and vgauth for Windows with xmlsec instead of |
1912 | + xml-security-c. It will still be possible to build with xml-security-c |
1913 | + either by commenting out the definition of USE_XMLSEC_FOR_WINDOWS in |
1914 | + bora-vmsoft/vgauth/make/inc/defs.mk or adding a make command line |
1915 | + argument of USE_XMLSEC_FOR_WINDOWS=0. |
1916 | + |
1917 | +commit d5c0bcea04aae65484ba3c2756b64acf6f6388d0 |
1918 | +Author: Oliver Kurth <okurth@vmware.com> |
1919 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1920 | + |
1921 | + Update bora-vmsoft/install/Source/README |
1922 | + |
1923 | + The content is stale. Since the file is used internally and is |
1924 | + not published, rather than maintain it in two places, point to |
1925 | + the current README file and Release Notes on github. |
1926 | + |
1927 | +commit 512d5475520ec5e0525633cd47530faaae774b5e |
1928 | +Author: Oliver Kurth <okurth@vmware.com> |
1929 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1930 | + |
1931 | + Common header file change not applicable to open-vm-tools. |
1932 | + |
1933 | +commit 982998c9a6a3ec8664f9c4c08ff9ef30f52a9ae2 |
1934 | +Author: Oliver Kurth <okurth@vmware.com> |
1935 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1936 | + |
1937 | + Common header file change not applicable to open-vm-tools. |
1938 | + |
1939 | +commit ab36b3227275a5beded8a5115929e2d649c6aad3 |
1940 | +Author: Oliver Kurth <okurth@vmware.com> |
1941 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1942 | + |
1943 | + Common header file changes not applicable to open-vm-tools. |
1944 | + |
1945 | +commit 0527d5c5f14f626a5129231778ec433dfff55c2a |
1946 | +Author: Oliver Kurth <okurth@vmware.com> |
1947 | +Date: Mon Apr 23 17:08:17 2018 -0700 |
1948 | + |
1949 | + Common header file change not applicable to open-vm-tools. |
1950 | + |
1951 | +commit 571dc1fbadd962d91dcb7a44652b501de3f48e0e |
1952 | +Author: Oliver Kurth <okurth@vmware.com> |
1953 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1954 | + |
1955 | + Common header file change not applicable to open-vm-tools. |
1956 | + |
1957 | +commit 998903d73496bf6080053f994c8410dc880db2f9 |
1958 | +Author: Oliver Kurth <okurth@vmware.com> |
1959 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1960 | + |
1961 | + Common header file change not applicable to open-vm-tools. |
1962 | + |
1963 | +commit 3b814f9b4dcbf54893078a4ba187d8d0cbf23e31 |
1964 | +Author: Oliver Kurth <okurth@vmware.com> |
1965 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1966 | + |
1967 | + lib/hashMap/hashMap.c: |
1968 | + Add new HashMap_Get() which uses a constant time memory comparison function. |
1969 | + |
1970 | + lib/misc/utilMem.c: |
1971 | + Constant time memory and string comparison functions. |
1972 | + |
1973 | +commit 5daceb4448834143d884b061f391c37aeaaad683 |
1974 | +Author: Oliver Kurth <okurth@vmware.com> |
1975 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1976 | + |
1977 | + Changes to common header files not applicable to open-vm-tools. |
1978 | + |
1979 | +commit 42d1e6b11c0b11c1b1f6f967cb5c4d7e2f3b39e0 |
1980 | +Author: Oliver Kurth <okurth@vmware.com> |
1981 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1982 | + |
1983 | + Change to common header file not applicable to open-vm-tools. |
1984 | + |
1985 | +commit f4b7b227119712c90be4a3583d4430a3fcc1d093 |
1986 | +Author: Oliver Kurth <okurth@vmware.com> |
1987 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1988 | + |
1989 | + Change to common header file not applicable to open-vm-tools. |
1990 | + |
1991 | +commit 874b8b4801a5bba439401db8e624e3e3d1989ca7 |
1992 | +Author: Oliver Kurth <okurth@vmware.com> |
1993 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
1994 | + |
1995 | + Common header file change not applicale to open-vm-tools. |
1996 | + |
1997 | +commit ff2616a657c32bbb5e6799f8b8cd0a470d0e5202 |
1998 | +Author: Oliver Kurth <okurth@vmware.com> |
1999 | +Date: Mon Apr 23 17:08:16 2018 -0700 |
2000 | + |
2001 | + Common header file changes not applicable to open-vm-tools. |
2002 | + |
2003 | +commit 5d9cc73f1c7979466d55f7897f98c0888d2fb15d |
2004 | +Author: Oliver Kurth <okurth@vmware.com> |
2005 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2006 | + |
2007 | + Header file change in preparation for C++11 compilation. Also updating |
2008 | + copyright dates. |
2009 | + |
2010 | +commit 29fb30f6d1956ccd4ad803b1b7f0430e4ef28ceb |
2011 | +Author: Oliver Kurth <okurth@vmware.com> |
2012 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2013 | + |
2014 | + FreeBSD vmmemctl: Fold in open-vm-tools pull requests #125 and #140 |
2015 | + |
2016 | + This change incorporates two open-vm-tools pull requests that provide |
2017 | + code changes that allows the existing vmmemctl.ko driver to be compiled |
2018 | + on FreeBSD 10, 11 or 12. |
2019 | + |
2020 | + Pull request #125: |
2021 | + An optional argument has been added to the sysctl_add_oid() function |
2022 | + in FreeBSD 12.x. All releases have a SYSCTL_ADD_OID() macro that does |
2023 | + not require the additional argument. |
2024 | + |
2025 | + Pull request #140: |
2026 | + Functions and macros to lock and unlock memory pages and objects have |
2027 | + changed between the FBSD 10 & 11. The pull request provides a set C |
2028 | + preprocessor directives to select the appropriate code based on the |
2029 | + FreeBSD release being targeted. |
2030 | + |
2031 | + The code change as been tidied up by using the release version checks |
2032 | + to define LOCK and UNLOCK macros for memory pages and objects at the |
2033 | + beginning of the source file. The code logic is easier to follow |
2034 | + without the abundance of #if, #else and #endif statements scattered |
2035 | + about. |
2036 | + |
2037 | + Ed Schouten: https://github.com/vmware/open-vm-tools/pull/125 |
2038 | + Steve Wills: https://github.com/vmware/open-vm-tools/pull/140 |
2039 | + |
2040 | +commit 2a34b181de524b3f0d01cad90d3da184bde7ad99 |
2041 | +Author: Oliver Kurth <okurth@vmware.com> |
2042 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2043 | + |
2044 | + Common source file changes not directly applicable to open-vm-tools. |
2045 | + |
2046 | +commit fab45e62a1468b86d2097a6a0784c4f259d6b0ef |
2047 | +Author: Oliver Kurth <okurth@vmware.com> |
2048 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2049 | + |
2050 | + Common header file change not applicable to open-vm-tools. |
2051 | + |
2052 | +commit 357e8418e5441c2c5fc75a19f7b6529d6bce7452 |
2053 | +Author: Oliver Kurth <okurth@vmware.com> |
2054 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2055 | + |
2056 | + Common header file change not applicable to open-vm-tools. |
2057 | + |
2058 | +commit fad97e4a7c756b3b297e0fe9e68a1a4674c4fdcc |
2059 | +Author: Oliver Kurth <okurth@vmware.com> |
2060 | +Date: Mon Apr 23 17:08:15 2018 -0700 |
2061 | + |
2062 | + Common header file change not applicable to open-vm-tools. |
2063 | + |
2064 | +commit 357d9139342c19a98ed12f5961f415d099df3287 |
2065 | +Author: Oliver Kurth <okurth@vmware.com> |
2066 | +Date: Fri Mar 23 15:05:36 2018 -0700 |
2067 | + |
2068 | + Common source file changes that are not applicable to open-vm-tools. |
2069 | + |
2070 | +commit 6c3261d152442fa11fc2b928490d74846f23465d |
2071 | +Author: Oliver Kurth <okurth@vmware.com> |
2072 | +Date: Fri Mar 23 15:05:36 2018 -0700 |
2073 | + |
2074 | + Common header file change not applicable to open-vm-tools. |
2075 | + |
2076 | +commit 3747daca8efbfe8e709687b97c874a29f183b717 |
2077 | +Author: Oliver Kurth <okurth@vmware.com> |
2078 | +Date: Fri Mar 23 15:05:36 2018 -0700 |
2079 | + |
2080 | + Backout previous change to lib/include/vm_basic_math.h. |
2081 | + |
2082 | +commit f9414d19532a9664e6c260a8644ee09200e32429 |
2083 | +Author: Oliver Kurth <okurth@vmware.com> |
2084 | +Date: Fri Mar 23 15:05:36 2018 -0700 |
2085 | + |
2086 | + Common header file change: lib/include/vm_basic_math.h |
2087 | + |
2088 | + Define portability macros for Inf and Nan tests. |
2089 | + |
2090 | +commit de2010a1a45a9e515b932a1a83374539661a2b39 |
2091 | +Author: Oliver Kurth <okurth@vmware.com> |
2092 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2093 | + |
2094 | + Add missing memory constraints for vm_atomic RMW (Read/Modify/Write) instructions |
2095 | + |
2096 | + There are two inseparable concepts involved when dealing with atomics: |
2097 | + 1. Atomicity of the access itself |
2098 | + 2. Ordering of the access with respect to other reads&writes (from the view of |
2099 | + other processors). |
2100 | + |
2101 | + Our Read-Modify-Write functions are all meant to provide the highest level of |
2102 | + ordering guarantee: Sequential Consistency, which means no reordering of reads |
2103 | + or writes across the access. We properly implement that on ARM, and on |
2104 | + x86/x64 at the hardware layer. But, on x86/x64 we needed to tell the compiler |
2105 | + (it must flush out any pending reads/writes that are currently hiding in |
2106 | + registers) |
2107 | + |
2108 | + Side Note: we do *not* change the pure Read and pure Write functions, only |
2109 | + the Read/Modify/Write ones. On both ARM and x86/x64, vm_atomic functions like |
2110 | + Atomic_WriteN provide no (re)ordering guarantees today (at the hardware layer |
2111 | + on ARM or at the compiler layer on x86/x64). This is because some callers |
2112 | + didn't need or want such guarantees - as such, Atomic_WriteN by itself is |
2113 | + *not* sufficient to, say, release a lock. Making these remaining atomic |
2114 | + weapons safe by default will require us to first |
2115 | + 1. add new unordered atomic equivalents of Atomic_ReadN/TestBitN and |
2116 | + Atomic_WriteN (in C11 terminology, acquire/release and relaxed) |
2117 | + 2. Scan the tree and switch appropriate callers to the new functions |
2118 | + |
2119 | + *and only then* |
2120 | + 3. Strengthen the defaults, affecting only callers who needed the stronger |
2121 | + defaults to be correct. ... but that would be a separate change in the |
2122 | + future. |
2123 | + |
2124 | + Codegen differences (vmm.vmm64): |
2125 | + -------------------------------- |
2126 | + The function that uncovered this was ST_HandleCrossCall, which invoked |
2127 | + Atomic_And64. |
2128 | + |
2129 | + original w/o explicit compiler mem barrier in ST_HandleCrossCall: |
2130 | + ... |
2131 | + lock and QWORD PTR [rdx+0x0],rax |
2132 | + movsxd rax,DWORD PTR [rip+offset] <-- load reordered after Atomic_And64 |
2133 | + lea rax,[rax+rax*2] |
2134 | + lea rdi,[rax*8+0x0] |
2135 | + |
2136 | + with "memory" constraint, it's now identical to code w/an explicit |
2137 | + compiler mem barrier (which was the workaround): |
2138 | + ... |
2139 | + mov edx,DWORD PTR [rip+offset] <-- load emitted prior to Atomic_And64 |
2140 | + ... |
2141 | + lock and QWORD PTR [rsi+0x0],rax |
2142 | + movsxd rax,edx <-- ... and used after Atomic_And64 |
2143 | + lea rax,[rax+rax*2] |
2144 | + lea rdi,[rax*8+0x0] |
2145 | + |
2146 | + vmm.vmm64's .text section shrank 28 bytes |
2147 | + vmware-vmx's .text section shrank 16 bytes |
2148 | + |
2149 | + Given that these are tiny fractions of the .text section, this suggests the |
2150 | + problem was quite rare, which is why it escaped our attention until now. |
2151 | + (Testing of vmx's lib/lock, lib/sync, lib/vprobe, and lib/misc saw no |
2152 | + differences with GCC 4.4, 6.4, 7.1 or Clang) |
2153 | + |
2154 | + While in there: nuke some tabs |
2155 | + |
2156 | + Slated for a future change: vmkapi_atomic.h |
2157 | + |
2158 | +commit 333ac41076afff4e31ccb0d0688e1581e8c9019a |
2159 | +Author: Oliver Kurth <okurth@vmware.com> |
2160 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2161 | + |
2162 | + Common header file change not applicable to open-vm-tools. |
2163 | + |
2164 | +commit 8671bd8d4f68a490a5b20f1876f05797f3057c4b |
2165 | +Author: Oliver Kurth <okurth@vmware.com> |
2166 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2167 | + |
2168 | + vmcheck.c VmCheck_IsVirtualWorld(): Always check for a working backdoor. |
2169 | + |
2170 | + The specific checks for Xen and VirtualPC hypervisors currently happen |
2171 | + only if the VMware hypervisor is not detected. The test for a working |
2172 | + VMware backdoor is then done to avoid all other hypervisors. |
2173 | + |
2174 | + In the case where running on a VMware hypervisor and the backdoor |
2175 | + channel has been disabled such as with |
2176 | + |
2177 | + monitor_control.restrict_backdoor = "TRUE" |
2178 | + |
2179 | + vmtoolsd, vmware-toolbox-cmd and vmware-checkvm will crash when |
2180 | + attempting to get the version number of the installed VMware Tools. |
2181 | + |
2182 | + Added an additional test to detect Linux KVM with the existing tests |
2183 | + for the Xen hypervisor and Microsoft Virtual PC. Avoid checking for |
2184 | + a working backdoor if a non VMware hypervisor is seen. |
2185 | + |
2186 | + Microsoft Hv checking to be added later and is tracked in a separate PR. |
2187 | + Oracle VirtualBox provides no unique CPUID vendor signature string. |
2188 | + |
2189 | +commit 09958952cc761075d5546b18bed0ce59260ec4db |
2190 | +Author: Oliver Kurth <okurth@vmware.com> |
2191 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2192 | + |
2193 | + FreeBSD open-vm-tools kernel modules compilations cannot locate <stdint.h> |
2194 | + |
2195 | + With the change for VMware headers to utilize the standard types |
2196 | + defined in C99 standard headers, the compilation of FreeBSD kernel |
2197 | + modules must specifically add /usr/include to the compilation |
2198 | + options. |
2199 | + |
2200 | + CFLAGS += -isystem /usr/include |
2201 | + |
2202 | + This change updates the Makefiles's for FreeBSD kernel modules and |
2203 | + drivers. |
2204 | + |
2205 | +commit cdf0406dc669f2284e1e810ac5820f123d46a50e |
2206 | +Author: Oliver Kurth <okurth@vmware.com> |
2207 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2208 | + |
2209 | + FreeBSD: Improper use of sysconf() for getpwent buffer size leads to |
2210 | + vmtoolsd crash. |
2211 | + |
2212 | + On FreeBSD, sysconf(_SC_GETPW_R_SIZE_MAX) can return -1 if it has |
2213 | + no hard limit ultimately resulting in an incorrect buffer size. |
2214 | + |
2215 | + This change is adapting the sysconf() ifixes done elsewhere to |
2216 | + bora-vmsoft/services/plugins/vix/vixTools.c and updating the |
2217 | + open-vm-tools AUTHORS file to share credit for the pull request. |
2218 | + |
2219 | + https://github.com/vmware/open-vm-tools/pull/238 |
2220 | + |
2221 | +commit e20e9bd49d244749ee6bcd4ea7d57a26d891afbe |
2222 | +Author: Oliver Kurth <okurth@vmware.com> |
2223 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2224 | + |
2225 | + Common header file change not applicable to open-vm-tools. |
2226 | + |
2227 | +commit 7e03f0676a8d1a8667d7d6aeda968a74c8708c0e |
2228 | +Author: Oliver Kurth <okurth@vmware.com> |
2229 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2230 | + |
2231 | + Common header file change not applicable to open-vm-tools. |
2232 | + |
2233 | +commit 0c4420178932c1879f402ece689e5cfaf5f37d84 |
2234 | +Author: Oliver Kurth <okurth@vmware.com> |
2235 | +Date: Fri Mar 23 15:05:35 2018 -0700 |
2236 | + |
2237 | + CAF changes for Windows; not applicable to open-vm-tools. |
2238 | + |
2239 | +commit e9463abdc0d56d0612237faf01a5736c9998b499 |
2240 | +Author: Oliver Kurth <okurth@vmware.com> |
2241 | +Date: Fri Mar 23 14:57:12 2018 -0700 |
2242 | + |
2243 | + sysconf() usage leads to crashes in BSD tools |
2244 | + |
2245 | + Not using the sysconf interface properly when determinining the |
2246 | + getpwent buffer size. Fix this. |
2247 | + |
2248 | + Problem was identified and proposed fix was submitted in pull request |
2249 | + https://github.com/vmware/open-vm-tools/pull/238 |
2250 | + |
2251 | +commit 4eff69adab058331a1e93aee17ed9a4e13fa8714 |
2252 | +Author: Oliver Kurth <okurth@vmware.com> |
2253 | +Date: Fri Mar 23 14:57:12 2018 -0700 |
2254 | + |
2255 | + [lib/file]: remove useless heap allocation |
2256 | + |
2257 | + FileIO_AtomicUpdateEx allocates the argument to the "swap" ioctl |
2258 | + on the heap. This argument is a struct which contains a single int |
2259 | + fd... there is no need to heap-allocate it, the stack is just fine. |
2260 | + |
2261 | +commit 6de42f7d96fb5c70d70ae3b68011477f8b93aef2 |
2262 | +Author: Oliver Kurth <okurth@vmware.com> |
2263 | +Date: Fri Mar 23 14:57:12 2018 -0700 |
2264 | + |
2265 | + bora/lib: Use _exit when in the context of a signal handler |
2266 | + |
2267 | + There are a few cases in bora/lib where exit(3) is used in the |
2268 | + context of a signal handler. It was recently noticed that exit(3) is |
2269 | + not async-signal-safe, and _exit(2) should be used instead. |
2270 | + |
2271 | + This patch changes a call from exit(3) to _exit(2) in bora/lib. |
2272 | + |
2273 | +commit 54415a34a372388374bf322d8118ef47c7b0f9f7 |
2274 | +Author: Oliver Kurth <okurth@vmware.com> |
2275 | +Date: Fri Mar 23 14:57:12 2018 -0700 |
2276 | + |
2277 | + Hgfs FUSE Client: enable the FUSE client for RHEL 7, Ubuntu 14.04 and others |
2278 | + |
2279 | + The RHEL 7.x releases are all kernel 3.10 based. Currently the Hgfs FUSE |
2280 | + client will not be enabled for these earlier kernel versions, enabled only |
2281 | + for 4.0 kernels and later. This means for default tools install on plaftorms |
2282 | + running those kernel versions the Hgfs kernel client must be installed and |
2283 | + used for Shared Folders. The consequence of this means that the tar tools |
2284 | + installer must be run to provide the Hgfs kernel client on top of the OVT |
2285 | + install. |
2286 | + |
2287 | + To remove the need to install the tar tools we must enable support for the |
2288 | + Hgfs FUSE client, which just requires the kernel version check to be modified |
2289 | + from 4.0.0 to 3.10.0. |
2290 | + |
2291 | +commit 84977ad9a0ca964d5873516c42efec328bac23c9 |
2292 | +Author: Oliver Kurth <okurth@vmware.com> |
2293 | +Date: Fri Mar 23 14:57:12 2018 -0700 |
2294 | + |
2295 | + Changes to common header files; not applicable to open-vm-tools. |
2296 | + |
2297 | +commit 587d95eeadbdab2f20020ef24686bd989af6d8b0 |
2298 | +Author: Oliver Kurth <okurth@vmware.com> |
2299 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2300 | + |
2301 | + lib/misc/hostinfoPosix.c: Fix sscanf format string case typo. |
2302 | + |
2303 | +commit 8e22cb4da06036b71a06698da3377ed72cfef440 |
2304 | +Author: Oliver Kurth <okurth@vmware.com> |
2305 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2306 | + |
2307 | + Changes to common header files; not applicable to open-vm-tools. |
2308 | + |
2309 | +commit 9e3738b457eba1d9f8302fa449e9521da59f2dfd |
2310 | +Author: Oliver Kurth <okurth@vmware.com> |
2311 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2312 | + |
2313 | + Changes to common header files; not applicable to open-vm-tools. |
2314 | + |
2315 | +commit 18358aecd27f7d77b71d5ab31250edc600b7bfbc |
2316 | +Author: Oliver Kurth <okurth@vmware.com> |
2317 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2318 | + |
2319 | + Changes to common header files; not applicable to open-vm-tools. |
2320 | + |
2321 | +commit 670dba44e90c64173a1f67e617a7193f18fc3a2c |
2322 | +Author: Oliver Kurth <okurth@vmware.com> |
2323 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2324 | + |
2325 | + Common header file change not applicable to open-vm-tools. |
2326 | + |
2327 | +commit 5fe941cd27194495811036667d312f14aece1975 |
2328 | +Author: Oliver Kurth <okurth@vmware.com> |
2329 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2330 | + |
2331 | + Common header file change not applicable to open-vm-tools. |
2332 | + |
2333 | +commit 03faa87192b23354a996b4d62282c002de002c59 |
2334 | +Author: Oliver Kurth <okurth@vmware.com> |
2335 | +Date: Fri Mar 23 14:57:11 2018 -0700 |
2336 | + |
2337 | + Common header file change not applicable to open-vm-tools. |
2338 | + |
2339 | +commit 2438cefba37d37de65bf2003b1880f47b529ef47 |
2340 | +Author: Oliver Kurth <okurth@vmware.com> |
2341 | +Date: Tue Mar 6 10:38:43 2018 -0800 |
2342 | + |
2343 | + Enhancements for rpcChannel library. |
2344 | + |
2345 | + rpcChannel.c file contains the code for building rpcChannel library. A good |
2346 | + amount of the same code is duplicated in rpcChannelSimple.c file to |
2347 | + build a simplified version (no glib dependency) of the rpcChannel library. |
2348 | + It's recommended to remove the duplication and maintain only one single |
2349 | + file which can be used to build both 'glib-dependent rpcChannel' and |
2350 | + 'glib independent rpcChannel' library. |
2351 | + |
2352 | + This changeset implements the following changes: |
2353 | + * Removed rpcChannelSimple.c |
2354 | + |
2355 | + * Renamed I_USE_SIMPLE_RPC make variable to USE_RPCI_ONLY. If this |
2356 | + flag is specified, rpcChannel library will be built using only RPCI. |
2357 | + No dependencies on rpcIn will be added. This inturn will remove |
2358 | + dependencies on dynxdr, xdr and glib. |
2359 | + |
2360 | + * Modified the RpcChannelInt structure to have only the necessary |
2361 | + attributes when USE_RPCI_ONLY is defined. |
2362 | + |
2363 | + * Modified a bunch of functions into '#if defined(NEED_RPCIN)' block |
2364 | + to make available only when necessary. |
2365 | + |
2366 | + * Modified guestrpc.h to provide the declarations for few RpcChannel_* |
2367 | + functions only when needed. |
2368 | + |
2369 | + * Modified rpcChannel library to implement necessary stub files / functions |
2370 | + when it has to be built 'with rpci only' setting. |
2371 | + |
2372 | + * Removed various copies of 'glib_stubs.c' maintained by different |
2373 | + consumers of rpcChannel (appmonitorlib, vmGuestLib, 'imgcust' components). |
2374 | + |
2375 | + * Modified the make files of various consumers (vmGuestLib, appmonitorlib, |
2376 | + imgcust components [linux-pkg-deployer, guestcustutil, UnitTest]) to |
2377 | + remove the dependencies for dynxdr library. |
2378 | + |
2379 | + * Did some code refactoring. |
2380 | + - Removed some dead code in some make files. |
2381 | + |
2382 | +commit 87be66f17bf7911a8ec59ce9917778f7f653a398 |
2383 | +Author: Oliver Kurth <okurth@vmware.com> |
2384 | +Date: Tue Mar 6 10:38:43 2018 -0800 |
2385 | + |
2386 | + Implement a new function VMTools_GetTimeAsString. |
2387 | + |
2388 | + * Implemented a new function VMTools_GetTimeAsString in |
2389 | + vmtools library which returns a properly formatted UTC timestamp |
2390 | + information. This function can be used by different modules / plugins |
2391 | + in 'VMware Tools' to add the timestamp information in log files. |
2392 | + |
2393 | + Example of UTC timestamp information: "2018-02-22T21:17:38.517Z" |
2394 | + |
2395 | + * Modified vmtools logging module to call the new function and |
2396 | + prepend the UTC timestamp information in every log message. |
2397 | + |
2398 | + * Modified deployPkgLog.c to use the new function. |
2399 | + |
2400 | + * Removed references / definition of System_GetTimeAsString since |
2401 | + it is no longer used anywhere in the code. |
2402 | + |
2403 | +commit acbf7d90add72d9d3aa70bb8677179e7b3d28e23 |
2404 | +Author: Oliver Kurth <okurth@vmware.com> |
2405 | +Date: Tue Mar 6 10:38:43 2018 -0800 |
2406 | + |
2407 | + Common header file change; not applicable to open-vm-tools. |
2408 | + |
2409 | +commit 87ddd2684bff33836db5667718449f42642c76e2 |
2410 | +Author: Oliver Kurth <okurth@vmware.com> |
2411 | +Date: Tue Mar 6 10:38:43 2018 -0800 |
2412 | + |
2413 | + GOS Table: The official Amazon Linux 2 string is "amazonlinux2-64" |
2414 | + |
2415 | + The hosted UI isn't creating an Amazon 2 VM with the correct guest OS |
2416 | + identifier string. Fix this. |
2417 | + |
2418 | +commit 91b42f829a0ddc13a1657610700332dad7a9e362 |
2419 | +Author: Oliver Kurth <okurth@vmware.com> |
2420 | +Date: Tue Mar 6 10:38:43 2018 -0800 |
2421 | + |
2422 | + Fix vgauth log timestamps to have zone and use UTC |
2423 | + |
2424 | +commit d225ed26cca556f559c035234d11bd7d380c6d7f |
2425 | +Author: Oliver Kurth <okurth@vmware.com> |
2426 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2427 | + |
2428 | + Common header file change; not applicable to open-vm-tools |
2429 | + |
2430 | +commit d585ee8fcc4135d6d52fdc38ec2e0ca747663bf7 |
2431 | +Author: Oliver Kurth <okurth@vmware.com> |
2432 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2433 | + |
2434 | + Compilation fixes to build Tools with VS2015 |
2435 | + |
2436 | + This change consists of fixing warnings/errors as a result of building Tools with VS2015. |
2437 | + |
2438 | +commit 03c98a1fb30513b223e3d6eafb21b5f4d4c6c5bc |
2439 | +Author: Oliver Kurth <okurth@vmware.com> |
2440 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2441 | + |
2442 | + Add timestamp information to each deploypkg log message. |
2443 | + |
2444 | + * Modified deployPkgLog.c file to prepend UTC timestamp information |
2445 | + to each log message coming from 'deploypkg' module in 'VMware Tools'. |
2446 | + |
2447 | + * Used bunch of glib functions to get the current UTC time. As per |
2448 | + the glib manual, these glib functions are available since 2.26. 2.26 was |
2449 | + released around 8 years ago which is kind of very old. Having the glib |
2450 | + dependency on 2.26 is OK. |
2451 | + |
2452 | + * Did some minor code refactoring. In DeployPkg.c file, at all |
2453 | + call sites for DeployPkgLog_Log, replaced the hard coded values with |
2454 | + the proper LogLevel enums. |
2455 | + |
2456 | +commit 73a21a057dc23cf428b5fa1799eb0c5945732fee |
2457 | +Author: Oliver Kurth <okurth@vmware.com> |
2458 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2459 | + |
2460 | + Common header file change; not applicable to open-vm-tools. |
2461 | + |
2462 | +commit 3eb8434aebde9a2eebc65d57044d8ea6367d685f |
2463 | +Author: Oliver Kurth <okurth@vmware.com> |
2464 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2465 | + |
2466 | + Common header file change; not applicable to open-vm-tools. |
2467 | + |
2468 | +commit 24e9d211752210abb94bd1e76bec8be20d8abef8 |
2469 | +Author: Oliver Kurth <okurth@vmware.com> |
2470 | +Date: Tue Mar 6 10:38:42 2018 -0800 |
2471 | + |
2472 | + vm_basic_types.h: enable stdint.h for c99 |
2473 | + |
2474 | + C99 mode (a.k.a. __STDC_VERSION__ >= 199901L) guarantees |
2475 | + the stdint.h header will be present, which means we can use it |
2476 | + for standard types instead of rolling our own. |
2477 | + |
2478 | +commit b4016c210e7cb6c0407d40dba5edfa64d550bef3 |
2479 | +Author: Oliver Kurth <okurth@vmware.com> |
2480 | +Date: Tue Mar 6 10:38:41 2018 -0800 |
2481 | + |
2482 | + Don't lose errno/lastError when logging |
2483 | + |
2484 | + guestOps need to see errno/lastError in order to return the proper |
2485 | + error to VIX/guestOps APIs. Logging (at any layer) can cause these |
2486 | + to be overwritten, so make sure they're preserved. |
2487 | + |
2488 | +commit 14a0ffe23be6437c9ee656ccf2d516ead6265dfd |
2489 | +Author: Oliver Kurth <okurth@vmware.com> |
2490 | +Date: Mon Feb 26 19:23:18 2018 -0800 |
2491 | + |
2492 | + Enhancing CAF listener preconfigured check logic to update the preconfigured flag at runtime |
2493 | + |
2494 | + 1. Preconfigure listener and start listener upon tunnel enabled logic are |
2495 | + invoked in two different threads. |
2496 | + 2. There is a case where preconfigure logic is performed after the |
2497 | + pre-configured flag is computed in the enable-listener thread. |
2498 | + |
2499 | + The current patch invalidates the flag in the start listener thread and |
2500 | + should guarantee the preconfigured status is up-to-date. |
2501 | + |
2502 | +commit 60f7afc97264435e1c04c2e70fe39397261b52b4 |
2503 | +Author: Oliver Kurth <okurth@vmware.com> |
2504 | +Date: Mon Feb 26 19:22:04 2018 -0800 |
2505 | + |
2506 | + CAF MA Performance Issues |
2507 | + |
2508 | + CAF MA Performance Issues |
2509 | + |
2510 | + 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. |
2511 | + This resulted in more CPU Utilization as opposed to previous release in CAF & caused regression in vmtools 10.2.0. |
2512 | + 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. |
2513 | + |
2514 | + 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. |
2515 | + 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. |
2516 | + |
2517 | +commit 872baeed3fd1e79f89143baa0b9c47077b655567 |
2518 | +Author: Oliver Kurth <okurth@vmware.com> |
2519 | +Date: Mon Feb 26 12:29:08 2018 -0800 |
2520 | + |
2521 | + lib/file: add File_MakeSafeTempSubdir |
2522 | + |
2523 | + File_MakeSafeTempDir and File_GetSafeTmpDir are typically used to create |
2524 | + "safe" temp dirs on Windows and Linux. These are dirs in a known-secure |
2525 | + location with known-secure security attributes that only allow access to |
2526 | + the current user. These APIs work fine. However, on Windows if one creates |
2527 | + a subdir inside the safe dir, the subdir may be given an unexpected |
2528 | + (and overly restrictive) set of default DACLs on it in unusual situations. |
2529 | + The solution is to introduce a new API specifically to allow a caller to |
2530 | + create a subdir within an existing safe dir that ensures the DACLs |
2531 | + are exactly what are needed. |
2532 | + |
2533 | +commit bdbab22ec42544dbfff657b811d695e5b5a6d429 |
2534 | +Author: Oliver Kurth <okurth@vmware.com> |
2535 | +Date: Mon Feb 26 12:29:08 2018 -0800 |
2536 | + |
2537 | + Remove the header file safetime.h |
2538 | + |
2539 | + This removes the file itself. |
2540 | + |
2541 | +commit 047f05f379eb73530ac943d35cda5c162e045fa2 |
2542 | +Author: Oliver Kurth <okurth@vmware.com> |
2543 | +Date: Mon Feb 26 12:29:08 2018 -0800 |
2544 | + |
2545 | + Common source file change; not applicable to open-vm-tools. |
2546 | + |
2547 | +commit 2c927bb65029cb89ba0c4b7ba9b341890166823d |
2548 | +Author: Oliver Kurth <okurth@vmware.com> |
2549 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2550 | + |
2551 | + Skip specified file systems when doing a quiesced snapshot on Linux |
2552 | + |
2553 | + Add a tools.conf setting "excludedFileSystems" that specifies one or |
2554 | + more file system mount points to be skipped over when performing a |
2555 | + quiesced snapshot on Linux guests. The value of excludedFileSystems |
2556 | + is a comma-separated list of glob-style patterns as recognized by the |
2557 | + glib routines described here: |
2558 | + |
2559 | + https://developer.gnome.org/glib/stable/glib-Glob-style-pattern-matching.html |
2560 | + |
2561 | + With this change, when performing a quiesced snapshot, the sync driver |
2562 | + freeze routine removes from the list of mount points it is to process |
2563 | + any path that matches a pattern in the excludedFileSystems list. |
2564 | + |
2565 | + In the course of testing the change, a bug was found in SyncDriverFreeze |
2566 | + in which it returned SD_ERROR rather than FALSE when the path list is |
2567 | + empty. |
2568 | + |
2569 | + This change also includes some whitespace cleanup in syncDriverWin32.c. |
2570 | + |
2571 | +commit 9fb904dbdbd12952f2743d1463cda56a72c50c90 |
2572 | +Author: Oliver Kurth <okurth@vmware.com> |
2573 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2574 | + |
2575 | + lib/file: Paranoid clear of old cached values |
2576 | + |
2577 | + Rare, but an app might toggle addPid; cover this. Also optimize the |
2578 | + cache update. |
2579 | + |
2580 | +commit d244dac08f07cbbcba3f66eab7d78c16150edfba |
2581 | +Author: Oliver Kurth <okurth@vmware.com> |
2582 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2583 | + |
2584 | + lib/file: File_GetSafeTmpDir is not aware of credentials changes |
2585 | + |
2586 | + Some applications may masquerade their use (change their EUID). |
2587 | + Futhermore, each thread in an application can have a separate EUID. |
2588 | + |
2589 | + Anytime a application or thread asked for its safe temporary directory, |
2590 | + it needs to get the same result regardless of how many times it asks. |
2591 | + |
2592 | + Change File_GetSafeTmpDir to cache the EUID associated with the cached |
2593 | + values. If there is an EUID change, invalidate the existing cache |
2594 | + entries and recompute them. The recomputation process is stable, in |
2595 | + that it will obtain the same return any time it is called. |
2596 | + |
2597 | + This way we get the benefit of the cache (performance), ensured |
2598 | + correctness (for applications that do not masquerade), and correctness |
2599 | + for those applications that do masquerade. |
2600 | + |
2601 | +commit f9177b133f7f683fcc0f85770712d8069ec52421 |
2602 | +Author: Oliver Kurth <okurth@vmware.com> |
2603 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2604 | + |
2605 | + Common header file change; not applicable to open-vm-tools. |
2606 | + |
2607 | +commit 4da56779c42a55ce1b872748f9d6fd90bd10d281 |
2608 | +Author: Oliver Kurth <okurth@vmware.com> |
2609 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2610 | + |
2611 | + lib/file: Clean up POSIX File_GetSafeTempDir() in fileTempPosix.c |
2612 | + |
2613 | + Make things clearer. |
2614 | + |
2615 | +commit f608f63948520ab2088870a800bcc62c67a416ab |
2616 | +Author: Oliver Kurth <okurth@vmware.com> |
2617 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2618 | +>>>>>>> open-vm-tools/ChangeLog |
2619 | + |
2620 | + Changes to common header files; not applicable to open-vm-tools. |
2621 | + |
2622 | +<<<<<<< open-vm-tools/ChangeLog |
2623 | +commit 3011466e0f59471292a58ba5124238898d18945a |
2624 | +Author: Oliver Kurth <okurth@vmware.com> |
2625 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2626 | +======= |
2627 | +commit 5d98c8b5183e236dc8fb548647574f4b24e87d23 |
2628 | +Author: Oliver Kurth <okurth@vmware.com> |
2629 | +Date: Mon Feb 26 12:29:07 2018 -0800 |
2630 | +>>>>>>> open-vm-tools/ChangeLog |
2631 | + |
2632 | + open-vm-tools: use ENV{DEVTYPE}=="disk" in udev scsi rule |
2633 | + |
2634 | + Fix udev scsi rule to not print warnings on boot. |
2635 | + The rule now checks for the device type. The previous fix by |
2636 | + trying to check for a valid timeout field did not work as expected. |
2637 | + This change uses the rule from Mike Latimer at |
2638 | + https://github.com/vmware/open-vm-tools/pull/216 |
2639 | + |
2640 | +<<<<<<< open-vm-tools/ChangeLog |
2641 | +commit 9da6562e0c04fa79fad726513508a628f29f4812 |
2642 | +Author: Oliver Kurth <okurth@vmware.com> |
2643 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2644 | + |
2645 | + Common header file change not applicable to open-vm-tools. |
2646 | + |
2647 | +commit 6ccc073a58e1822dc4eb8c20e10dc89791643e9c |
2648 | +Author: Oliver Kurth <okurth@vmware.com> |
2649 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2650 | + |
2651 | + Fix memory corruption bug in StdIO_ReadNextLine |
2652 | + |
2653 | +commit 4f729b61b908c82318b8dcfc16264c15b58817c8 |
2654 | +Author: Oliver Kurth <okurth@vmware.com> |
2655 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2656 | + |
2657 | + Common header file changes not applicable to open-vm-tools. |
2658 | + |
2659 | +commit 9fa726051f7efe1b7e0bab745b7bad85d1fb3efb |
2660 | +Author: Oliver Kurth <okurth@vmware.com> |
2661 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2662 | + |
2663 | + Common header file changes not applicable to open-vm-tools. |
2664 | + |
2665 | +commit 378c193d4a57cfed14045ffed6ea641957ed18c7 |
2666 | +Author: Oliver Kurth <okurth@vmware.com> |
2667 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2668 | + |
2669 | + Common header file change not applicable to open-vm-tools. |
2670 | + |
2671 | +commit ba83dcff6214190f8ed545401f2bfa27650bbf07 |
2672 | +Author: Oliver Kurth <okurth@vmware.com> |
2673 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2674 | + |
2675 | + Common header file change not directly applicable to open-vm-tools. |
2676 | + |
2677 | +commit fc922804318de417578fd08fab2e07c1d58e8de8 |
2678 | +Author: Oliver Kurth <okurth@vmware.com> |
2679 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2680 | + |
2681 | + Update copyright year to 2018. |
2682 | + |
2683 | +commit ca39511ceb8e88254cad71e98cba5cbfff08a99d |
2684 | +Author: Oliver Kurth <okurth@vmware.com> |
2685 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2686 | + |
2687 | + UUID: Clean up UUID_PackText |
2688 | + |
2689 | + Use size_t, not int. |
2690 | + |
2691 | +commit c358e5e181b95d872da9ffcc943cc147ae0584f8 |
2692 | +Author: Oliver Kurth <okurth@vmware.com> |
2693 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
2694 | +======= |
2695 | +commit 65a35ec640223e4455e016c883261f514eb21492 |
2696 | +Author: Oliver Kurth <okurth@vmware.com> |
2697 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2698 | + |
2699 | + Common header file change; not applicable to open-vm-tools. |
2700 | + |
2701 | +commit aefcbec68487e14de8938fafbf0606a9ce37b2b9 |
2702 | +Author: Oliver Kurth <okurth@vmware.com> |
2703 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2704 | + |
2705 | + Skip davfs mount points during quiescing (part 2) |
2706 | + |
2707 | + Refactor the change to skip davfs mount points. Capture the length |
2708 | + of the static URL prefixes at compile time and avoid repetitive |
2709 | + strlen() calls when checking each active mount point. |
2710 | + |
2711 | +commit f459a325c4eec2e31eddc7f74901623b30ea0525 |
2712 | +Author: Oliver Kurth <okurth@vmware.com> |
2713 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2714 | + |
2715 | + Skip davfs mount points during quiescing |
2716 | + |
2717 | + The davfs2 is a Linux filesystem that allows mounting a Web Distributed |
2718 | + Authoring and Versioning (WebDAV) network resource as a local filesystem. |
2719 | + On some Linux releases, the FREEZE ioctl() is rejected and quiescing |
2720 | + these filesystems is not attempted. On others, however, the FREEZE is |
2721 | + not rejected and there exists the potential of a quiescing deadlock |
2722 | + if the davfs2 attempts to write to its cache in /var which has already |
2723 | + been quiesced. |
2724 | + |
2725 | + This fix is to avoid a potential deadlock by excluding davfs2 mounts |
2726 | + as the networking filesystem they are. Since davfs2 may be implemented |
2727 | + on the Linux fuse (default) or coda filesystem kernel module, |
2728 | + the detection of these network mounts must be based upon detection |
2729 | + of the URL prefix of the mounted device name. |
2730 | + |
2731 | + The static function SyncDriverIsRemoteFSType() is being updated to |
2732 | + not only exclude remote filesystems based on filesystem type but also |
2733 | + to exclude davfs2 remote filesystems by the "http://" or "https://" |
2734 | + URL prefix on the device name. The function name is being changed |
2735 | + to SyncDriverIsRemoteFS(). |
2736 | + |
2737 | +commit 3af8139cfcb4578dd9d7cd9a85301ed808775eb4 |
2738 | +Author: Oliver Kurth <okurth@vmware.com> |
2739 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2740 | + |
2741 | + vm_basic_types.h: scrub FMTxx specifiers |
2742 | + |
2743 | + Reduce the amount of magic in vm_basic_types.h... nowadays, any |
2744 | + system we support (including Tools) DEFINITELY supports C99-style |
2745 | + specifiers, with two exceptions: pre-vs2015 MSVC, and pre-10.13 |
2746 | + macOS kernels. |
2747 | + |
2748 | + Rip out all the pre-C99 junk. Add a few comments explaining exactly |
2749 | + what the caveats here are. |
2750 | + |
2751 | +commit 442683ac70f1f1c8665feb347be40cac5c8edd65 |
2752 | +Author: Oliver Kurth <okurth@vmware.com> |
2753 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2754 | + |
2755 | + amazonlinux2-64 should use OVT only, not tar tools linux.iso. |
2756 | + |
2757 | +commit b4e66d7ac1f29b4d81877741c0dc85b8eeb68365 |
2758 | +Author: Oliver Kurth <okurth@vmware.com> |
2759 | +Date: Mon Feb 26 12:29:06 2018 -0800 |
2760 | + |
2761 | + Common header file change; not applicable to open-vm-tools. |
2762 | + |
2763 | +commit 16e63100ba9aeb419d22d8ade3af1eda2e3f02c0 |
2764 | +Author: Oliver Kurth <okurth@vmware.com> |
2765 | +Date: Mon Feb 26 12:29:05 2018 -0800 |
2766 | + |
2767 | + Changes to common header files; not applicable to open-vm-tools. |
2768 | + |
2769 | +commit f5b05ca724708bd54b5c5b7dc3f9d0d959134773 |
2770 | +Author: Oliver Kurth <okurth@vmware.com> |
2771 | +Date: Mon Feb 26 12:29:05 2018 -0800 |
2772 | +>>>>>>> open-vm-tools/ChangeLog |
2773 | + |
2774 | + Common header file change; not applicable to open-vm-tools. |
2775 | + |
2776 | +<<<<<<< open-vm-tools/ChangeLog |
2777 | +commit 0ccc8b1a79bf76b9826c37b2133e5dbd4b9904dc |
2778 | +Author: Oliver Kurth <okurth@vmware.com> |
2779 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2780 | + |
2781 | + Common header file change not applicable to open-vm-tools. |
2782 | + |
2783 | +commit 5c6f7b09d6865496036653360301092b8672675f |
2784 | +Author: Oliver Kurth <okurth@vmware.com> |
2785 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2786 | + |
2787 | + guestOS identification: Tweak handling the LSB |
2788 | + |
2789 | + The multi-standard handing code dealt with the LSB strictly. This |
2790 | + causes some issues with older distros that are not LSB compliant but |
2791 | + happened to work due to a specific behavior. |
2792 | + |
2793 | + Return the LSB to "LSB and old way" and provide some specific coverage |
2794 | + of detaults to ensure coverage. |
2795 | + |
2796 | +commit 2516f528e47722faa38868d99939c825f13c2bdb |
2797 | +Author: Oliver Kurth <okurth@vmware.com> |
2798 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2799 | + |
2800 | + Restore "ufs" to the list of known filesystems |
2801 | + |
2802 | + Removing extraneous #ifdef VMX86_TOOLS - #endif |
2803 | + |
2804 | +commit 3c453912325ead3f19b84fced65217608069ddfa |
2805 | +Author: Oliver Kurth <okurth@vmware.com> |
2806 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2807 | + |
2808 | + Restore "ufs" to the list of known filesystems |
2809 | + |
2810 | + A previous change, 5074636, to remove "ufs" from the kernel also removed |
2811 | + "ufs" from the known list of Linux filesystems. As a result, the "ufs" |
2812 | + filesystems on FreeBSD and Solaris VMs cannot be seen and therefore |
2813 | + no disk information is available in vmsvc/get.guest output. |
2814 | + |
2815 | +commit aa6502a057aec571a72b971cb13cf0e9d713cddc |
2816 | +Author: Oliver Kurth <okurth@vmware.com> |
2817 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2818 | + |
2819 | + Update tools copyright to 2018 |
2820 | + |
2821 | +commit 5af33281a66ebf0c30ad15074f931f33bda0bc9d |
2822 | +Author: Oliver Kurth <okurth@vmware.com> |
2823 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2824 | + |
2825 | + Common header file change not applicable to open-vm-tools. |
2826 | + |
2827 | +commit dc028e7bbb63865e1ae1c6262872e74c47c80d61 |
2828 | +Author: Oliver Kurth <okurth@vmware.com> |
2829 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2830 | + |
2831 | + Common header file change that is not applicable to open-vm-tools. |
2832 | + |
2833 | +commit d55cc529267b0b385fc9d4453075d023c789e46f |
2834 | +Author: Oliver Kurth <okurth@vmware.com> |
2835 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2836 | + |
2837 | + Hgfs Server: replace duplicate function usage with a common function. |
2838 | + |
2839 | + This change simply replaces a duplicate function usage with a common |
2840 | + function and removes the duplicate one. |
2841 | + |
2842 | +commit ccdef7096a4782dd00b6f55695aff9c3f01cf4b5 |
2843 | +Author: Oliver Kurth <okurth@vmware.com> |
2844 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2845 | + |
2846 | + hostinfoPosix.c: Change a warning to a log message. |
2847 | + |
2848 | +commit 2321ff31fa671658ad0af3af22eef27e5d9af050 |
2849 | +Author: Oliver Kurth <okurth@vmware.com> |
2850 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2851 | + |
2852 | + Switch IMC to use RpcChannel_SendOne instead of deprecated RpcOut_sendOne |
2853 | + |
2854 | + Modify ./libDeployPkg/Makefile.am to build deploypkg module for |
2855 | + open-vm-tools correctlly. |
2856 | + |
2857 | +commit d9f7c825cfbe075c3b643632419ff26a72628e41 |
2858 | +Author: Oliver Kurth <okurth@vmware.com> |
2859 | +Date: Tue Feb 6 16:32:38 2018 -0800 |
2860 | + |
2861 | + lib/file: Clean up a few things. |
2862 | + |
2863 | +commit b4ee6678c9dd8cdf4e144056545dd41ba0636085 |
2864 | +Author: Oliver Kurth <okurth@vmware.com> |
2865 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2866 | + |
2867 | + hostinfoPosix.c: Pick up some review comments |
2868 | + |
2869 | +commit ce060ca498defdf08da4fac899dc623328d47a5d |
2870 | +Author: Oliver Kurth <okurth@vmware.com> |
2871 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2872 | + |
2873 | + GuestOS: Support the os-release standard |
2874 | + |
2875 | + While bringing up Amazon Linux as a guest, it was discovered that |
2876 | + Amazon Linux was not LSB compilant. The LSB standard defines a way |
2877 | + to uniquely determine which distro one is running on. Since our code |
2878 | + was based on the LSB standard, we made some changes to explicitly |
2879 | + detect Amazon Linux and handle it as a special case. |
2880 | + |
2881 | + Amazon let us know that there is a "new" standard - os-release - which |
2882 | + they are compliant with. One must explicitly install Amazon Linux in a |
2883 | + special way to obtain the LSB compliance. |
2884 | + |
2885 | + Researching the "new" standard, it turned out to not be that different |
2886 | + than the LSB standard. Further research showed that some distros (e.g. |
2887 | + Ubuntu) are releasing with both standards. |
2888 | + |
2889 | + This change refactors the existing code, removes the explicit Amazon |
2890 | + Linux checking, and accepts the os-release standard. Amazon Linux then |
2891 | + "just falls out". |
2892 | + |
2893 | +commit 6bd88d82e943d691c4312e3f2e7cef1038af7a9c |
2894 | +Author: Oliver Kurth <okurth@vmware.com> |
2895 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2896 | + |
2897 | + Reduce Vigor transport socket draining overhead |
2898 | + |
2899 | + A previous change in VigorPollImpl and asyncsocket to fix a memory |
2900 | + leak that causes a performance regression for parallel reconfiguration of |
2901 | + running VMs (the kind requiring FSR). During an FSR, the connection |
2902 | + between hostd and the source vmx would drop and hostd would then |
2903 | + reconnect to the destination vmx. One source of regression is that |
2904 | + the buffer has to be drained when a disconnect happens and the draining |
2905 | + logic may potentially unregister and re-register the recv callback |
2906 | + multiple times. This change adds an asyncsocket function specifically |
2907 | + for draining recv that reduces the manipulation of callback. It |
2908 | + reduces the regression by up to ~50% (the effect is more pronounced with |
2909 | + more VMs). |
2910 | + |
2911 | +commit de9b602664d91c54288b91a81f6a01d7cb927fce |
2912 | +Author: Oliver Kurth <okurth@vmware.com> |
2913 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2914 | + |
2915 | + atomic: add TestSetBitVector and TestClearBitVector functions |
2916 | + |
2917 | + Implement atomic set/clear bit from a byte array. |
2918 | + |
2919 | + Also add missing "memory" constraint to non-atomic ClearBitVector() |
2920 | + and ComplementBitVector(). |
2921 | + |
2922 | +commit 17e9209aeb4f6d3a3535b7064916f3a25b985395 |
2923 | +Author: Oliver Kurth <okurth@vmware.com> |
2924 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2925 | + |
2926 | + Tools Hgfs Server Plugin: fix logging of client redirector handling functions |
2927 | + |
2928 | + Modify logging of client redirector handling functions for starting the client |
2929 | + redirector kernel component and reconnecting mapped drives at services start |
2930 | + up. This changes the level from warning to info as these messages are purely |
2931 | + informational and not warnings of unexpected events or conditions. |
2932 | + |
2933 | +commit 076b7201b61af9f3dcb36050ff37a8145a05d404 |
2934 | +Author: Oliver Kurth <okurth@vmware.com> |
2935 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2936 | + |
2937 | + Fix error reported by clang 6.0.0 - comparison 'int' <= 4294967295 is always true |
2938 | + |
2939 | + Fix the logical constant compare warning/error in vixTools.c of the |
2940 | + vix plugin. Rewrite the continuous for loop to simply iterate from |
2941 | + zero to MAX_INT32. |
2942 | + |
2943 | +commit 7a58576e98e5bdb47fbe101c43b106ba77f2e811 |
2944 | +Author: Oliver Kurth <okurth@vmware.com> |
2945 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2946 | + |
2947 | + Add VMware Tools 10.2.5 to vm_tools_version.h |
2948 | + |
2949 | + - Add tools version 10.2.5 as the first scheduled tools 10.2.x |
2950 | + update - TOOLS_VERSION_CHAINSAW_UPDATE1 |
2951 | + - Corrected a typo in a macro name in an earlier tools version |
2952 | + definition. |
2953 | + |
2954 | +commit 13c49b85cebacea847d30c4e5a0b92fa7ea9dba8 |
2955 | +Author: Oliver Kurth <okurth@vmware.com> |
2956 | +Date: Tue Feb 6 16:32:37 2018 -0800 |
2957 | + |
2958 | + hostinfo: Identify Amazon Linux |
2959 | + |
2960 | + Amazon Linux is not LSB compliant. Add a small amount of code such that |
2961 | + Amazon Linux can differentiated from all of other Linuxen and correctly |
2962 | + report its identifying data. |
2963 | + |
2964 | +commit c5bc784da611ee929e0da7c20a410e03e6540613 |
2965 | +Author: Oliver Kurth <okurth@vmware.com> |
2966 | +Date: Fri Jan 26 15:04:36 2018 -0800 |
2967 | + |
2968 | + Set X11 as the backend for gtk3 of open-vm-tools |
2969 | + |
2970 | + Open-vm-tools defaults to gtk3. For distros like Fedora 27, Wayland is |
2971 | + the default display server. With no restriction on the backend, plugins |
2972 | + will try to use Wayland as the backend of Gtk+3. As a result, |
2973 | + gdk_display_get_default() returns a Wayland display; |
2974 | + gdk_display_get_default_group() also returns a Wayland window. Applying |
2975 | + GDK_WINDOW_XID() on the Wayland window will result in the crash reported |
2976 | + on recent Linux releases that default to a Wayland display server. |
2977 | + |
2978 | + As X11-specific code is widely used in tools plugins, a migratation to |
2979 | + Wayland in the short term is not possible. So, as a compromised solution, |
2980 | + plugins can be forced to run on XWayland, which is the compatible mode |
2981 | + of Wayland for legacy X11 clients. |
2982 | + |
2983 | + gdk_set_allowed_backends() only applies when flag GTK3 is defined, and Gtk |
2984 | + version cwgreater than 3.10. |
2985 | + |
2986 | +commit 98e0ab52c86b3a1d4fd38cec6913b1f5ba0f336c |
2987 | +Author: Oliver Kurth <okurth@vmware.com> |
2988 | +Date: Fri Jan 26 15:04:36 2018 -0800 |
2989 | + |
2990 | + hostinfo: More cleanup |
2991 | + |
2992 | + Continue the prep for Amazon Linux. |
2993 | + |
2994 | +commit ce769ae4aa3a14810b418c044629f2d9dcb72a37 |
2995 | +Author: Oliver Kurth <okurth@vmware.com> |
2996 | +Date: Fri Jan 26 15:04:36 2018 -0800 |
2997 | + |
2998 | + hostinfo: More prep work for Amazon Linux support |
2999 | + |
3000 | + Amazon Linux is not LSB compliant but it does have a file that is |
3001 | + much like an LSB compliant release (name=value pairs). Make the names |
3002 | + of the structures generic... the logic can be reused for Amazon Linux |
3003 | + in a follow up change. |
3004 | + |
3005 | + Fix up some function headers. |
3006 | + |
3007 | +commit 7fce1b8f9ec60c27865717f536a4e440587500ad |
3008 | +Author: Oliver Kurth <okurth@vmware.com> |
3009 | +Date: Fri Jan 26 15:04:36 2018 -0800 |
3010 | + |
3011 | + Refactor HostinfoOSData... |
3012 | + |
3013 | + Refactor the HostinfoOsData in several smaller and simpler routines. |
3014 | + This will make it easier to maintain in the future (it was pretty |
3015 | + unwieldy already) and easier to add the logic for a non-LSB Linux. |
3016 | + |
3017 | + More refactoring and actually adding the Amazon recognition code will |
3018 | + follow. |
3019 | + |
3020 | +commit b2b71c7995f4389cd7a9899dca8aa29bd9fa9c6a |
3021 | +Author: Oliver Kurth <okurth@vmware.com> |
3022 | +Date: Fri Jan 26 15:04:36 2018 -0800 |
3023 | + |
3024 | + Common header file change not applicable to open-vm-tools. |
3025 | + |
3026 | +commit 40bcee40c892cc7de92825cce1226576d6eab66c |
3027 | +Author: Oliver Kurth <okurth@vmware.com> |
3028 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3029 | + |
3030 | + Changes to common source files: |
3031 | + |
3032 | + lib/asyncsocket/asyncsocket.c: Use ASSERT instead of VERIFY when removings |
3033 | + poll callback in AsyncSocketCancelRecv. |
3034 | + lib/include/vm_product_versions.h: Change not applicable to open-vm-tools. |
3035 | + |
3036 | +commit 757833d601541e9bde24571fa22e669900e98a7e |
3037 | +Author: Oliver Kurth <okurth@vmware.com> |
3038 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3039 | + |
3040 | + Change the glibc constraint to 2.11 from 2.12. |
3041 | + |
3042 | + Earlier, we made a change to stop building open-vm-tools |
3043 | + for LINUX systems with glibc < 2.12 But SLES 11 SP4 which is |
3044 | + supported comes with glibc 2.11.3 The check will |
3045 | + block SLES 11 SP4 from moving to OVT 10.2.x To fix it, this change |
3046 | + relaxes the glibc constraint to 2.11. |
3047 | + |
3048 | +commit 75825dcc7548d779f23c4c93429736d690d86a45 |
3049 | +Author: Oliver Kurth <okurth@vmware.com> |
3050 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3051 | + |
3052 | + Hgfs: remove Hgfs VMCI transport header from linux open-vm-tools |
3053 | + |
3054 | + Linux Hgfs clients do not use the VMCI module for a transport and have |
3055 | + since migrated to a FUSE implementation. Therefore we do not need to |
3056 | + include the Hgfs VMCI transport header file. |
3057 | + |
3058 | +commit 09b6621863ece170e4fc6b617f0bc1e3d17867f2 |
3059 | +Author: Oliver Kurth <okurth@vmware.com> |
3060 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3061 | + |
3062 | + Hgfs Server: fix error result for new dir creation in the virtual folder |
3063 | + |
3064 | + The Hgfs server code detects when a client tries to create a new folder in the |
3065 | + virtual folder containing the VMware Shares. This is not allowed as only the |
3066 | + host can add new Shares which appears in this folder. The current error code |
3067 | + returned to the client in these cases is access denied. This is only correct |
3068 | + when the new folder does not collide with an existing share. This stops clients |
3069 | + treating the virtual folder as a regular read/write physical folder. However, |
3070 | + for the case where the name collides, the access denied error is not correct, |
3071 | + as it does not tell the client the folder already exists. This causes some |
3072 | + applications to fail as they expect to see this error if the path component |
3073 | + exists as that is okay and expected. At this point the application will continue |
3074 | + to traverse the path and ensure the next component exists or if not create that. |
3075 | + |
3076 | + To ensure that applications don't prematurely fail and can test that the share |
3077 | + still exists in the path the Hgfs server should return HGFS_ERROR_FILE_EXIST |
3078 | + and leave HGFS_ERROR_ACCESS_DENIED for all other cases. |
3079 | + |
3080 | +commit fb3630fb0d7846b9f06f0c506c38eadf0cfbfa81 |
3081 | +Author: Oliver Kurth <okurth@vmware.com> |
3082 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3083 | + |
3084 | + Hgfs: get rid of vmware_pack_begin and vmware_pack_end header files |
3085 | + |
3086 | + Get rid of vmware_pack_begin and vmware_pack_end header files and |
3087 | + replace with the pragma pack and pop. This code currently only |
3088 | + affects Windows clients and the VMX HGFS VMCI transport. |
3089 | + |
3090 | +commit f7c551253400e7f153cc696b5b121cd6e0d4ebd8 |
3091 | +Author: Oliver Kurth <okurth@vmware.com> |
3092 | +Date: Fri Jan 26 15:04:35 2018 -0800 |
3093 | + |
3094 | + GOSTable: Amazon Linux 2 |
3095 | + |
3096 | + Add the basic support for Amazon Linux 2. The distro identification |
3097 | + code will follow in a separate change. |
3098 | + |
3099 | +commit c8f7c09d106884c19100077fdffe8f11b80d6bdb |
3100 | +Author: Oliver Kurth <okurth@vmware.com> |
3101 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3102 | + |
3103 | + Changes to common header files not applicable to open-vm-tools |
3104 | + |
3105 | +commit 5939eaefbad529e811c64b46d93ddcce56615db8 |
3106 | +Author: Oliver Kurth <okurth@vmware.com> |
3107 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3108 | + |
3109 | + Common header file change not applicable to open-vm-tools |
3110 | + |
3111 | +commit 55f323265bb7aee605a40f289f9c1a8ba7be56c6 |
3112 | +Author: Oliver Kurth <okurth@vmware.com> |
3113 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3114 | + |
3115 | + Common header file change not applicable to open-vm-tools |
3116 | + |
3117 | +commit d42e5bf76689c820dfb84d681c007c96197f6182 |
3118 | +Author: Oliver Kurth <okurth@vmware.com> |
3119 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3120 | + |
3121 | + Common header file change not applicable to open-vm-tools. |
3122 | + |
3123 | +commit 90819beef53238ba108be35cba93329b9d160de7 |
3124 | +Author: Oliver Kurth <okurth@vmware.com> |
3125 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3126 | + |
3127 | + Get rid of convertutf and bsd_printf for all non-Win VMware Tools |
3128 | + |
3129 | + The MsgFmt_* functions are referenced in a few utilities |
3130 | + related to VMware Tools. This change replaces the MsgFmt_* |
3131 | + with a stub. This also affects the Windows version. |
3132 | + |
3133 | +commit e5e478d46f047aa8f22b427b9d4505581af9915a |
3134 | +Author: Oliver Kurth <okurth@vmware.com> |
3135 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3136 | + |
3137 | + Fix the SSL/AsyncSocket "SSL_shutdown:shutdown while in init" problem |
3138 | + |
3139 | + QE regression tests have caught a bug in the bora SSL/AsyncSocket |
3140 | + layer. A normal SSL connection could be abnormally terminated by some |
3141 | + other random connections. |
3142 | + |
3143 | + Seems a common bug of the SSL usage according to the link below. |
3144 | + VMware is not the first one to hit it. :-) |
3145 | + https://marc.info/?l=openssl-users&w=4&r=1&s=shutdown+while+in+init&q=b |
3146 | + |
3147 | + The cause is that the SSL error queue was not cleared before |
3148 | + calling the SSL IO functions like SSL_write,read,connect,accept. |
3149 | + Refer to the man page of SSL_get_error, Paragraph 2 of the Description. |
3150 | + Fixed the problem by adding addtional call to clear the error queue. |
3151 | + |
3152 | + Found another problem that the system error is not preserved between |
3153 | + where it is set after the SSL IO call and the use of it to determine |
3154 | + whether to retry the SSL IO. This is probably due to tools has its |
3155 | + own logging which does not preserve the system error number. |
3156 | + Fixed the logging. |
3157 | + |
3158 | +commit 8a9c43698ebcc858314ec1c041d24b8e8d1372cf |
3159 | +Author: Oliver Kurth <okurth@vmware.com> |
3160 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3161 | + |
3162 | + vm_basic_types.h: use stdint.h a little more. |
3163 | + |
3164 | + Now that enough of the builds are C++11, let's make the common case |
3165 | + use the <stdint.h> header to define the intNN types directly |
3166 | + from language-standard intNN_t types, and treat pre-C99/C++98 |
3167 | + code as the special case. |
3168 | + |
3169 | + This also provides some clarity about the last __STRICT_ANSI__ |
3170 | + macros in this file. One was related to usage of 'long long' in |
3171 | + strict c90 mode and has been replaced with a comment indicating that |
3172 | + 64-bit-variable compiler extensions are mandatory (strict c90 mode is |
3173 | + not allowed via the headers). The other related to X11 headers; those |
3174 | + headers have been examined to understand the workarounds needed and |
3175 | + the exact scenario(s) that are problematic have been commented (turns |
3176 | + out FreeBSD had nothing to do with the problem). |
3177 | + |
3178 | + Finally, all the Bool-related definitions have been moved and merged |
3179 | + to a single location NOT at the top of the file. |
3180 | + |
3181 | + Net effects of this change: |
3182 | + - non-linux C++11 (so Windows+Mac) now uses stdint.h |
3183 | + - exact set of macros involved in declaring Bool is reduced |
3184 | + - compiling with c90 mode really will break now (use gnu90 instead). |
3185 | + |
3186 | +commit 2674b02449875b04889be00400f52351105ab25f |
3187 | +Author: Oliver Kurth <okurth@vmware.com> |
3188 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3189 | + |
3190 | + Consume vmx headear files in bora tree instead of gosc's own copy |
3191 | + |
3192 | + 1. Consuming header files from bora/vmx instead of gosc/vmx |
3193 | + 2. Deprecated "gosc/vmx/public/toolsdDeployPkg.h", |
3194 | + use "bora/guestABI/include/vmware/guestrpc/deploypkg.h" instead. |
3195 | + Combined macro definition to the new header file and modified |
3196 | + reference accordingly. |
3197 | + 3. Modified makefile for open-vm-tools to consume new header file, |
3198 | + removed old header file staging in open-vm-tools.stage |
3199 | + |
3200 | +commit bd018012a08579e89209e23b69963937210e5182 |
3201 | +Author: Oliver Kurth <okurth@vmware.com> |
3202 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3203 | + |
3204 | + Common header file change not applicable to open-vm-tools |
3205 | + |
3206 | +commit 36929119b9e28df8e267c49b5661354253439215 |
3207 | +Author: Oliver Kurth <okurth@vmware.com> |
3208 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3209 | + |
3210 | + Remove some __STRICT_ANSI__ guards in vm_basic_types.h |
3211 | + |
3212 | + Some time in the distant past, these guards were needed to |
3213 | + work around... something. (Probably, it was that 'long long' |
3214 | + is not a valid type in strict c90 mode). Note that we don't |
3215 | + use c90 mode, we only use gnu90 or c99. |
3216 | + |
3217 | + This ends up being relevant because for C++ we are indeed |
3218 | + using -std=c++11 (which implies __STRICT_ANSI__). The Linux/C++ |
3219 | + section of this file thus had duplicate definitions (which I am |
3220 | + now removing) to work around the gap. |
3221 | + |
3222 | + Quick cheat sheet for -std= values: |
3223 | + - c90 := __STRICT_ANSI__, no long long type |
3224 | + - gnu90 := c90 + gcc extensions, has long long type |
3225 | + - c99 := __STRICT_ANSI__, has long long type (defined in c99) |
3226 | + - c++11 := __STRICT_ANSI__, has long long type (defined in C++11) |
3227 | + |
3228 | +commit 6b1ef0ef99f34011da3f5383414eeedf81c59d3b |
3229 | +Author: Oliver Kurth <okurth@vmware.com> |
3230 | +Date: Fri Jan 5 14:47:15 2018 -0800 |
3231 | + |
3232 | + open-vm-tools: fix finding C++ compiler for cross-compiling |
3233 | + |
3234 | + Patch contributed by Andrew Stormont (andy-js) on github: |
3235 | + https://github.com/vmware/open-vm-tools/pull/206 and |
3236 | + https://github.com/vmware/open-vm-tools/issues/92. |
3237 | + |
3238 | +commit df18c2c2c3e7dde4478ee68a5f4a96600a3d07a2 |
3239 | +Author: Oliver Kurth <okurth@vmware.com> |
3240 | +Date: Fri Jan 5 14:47:14 2018 -0800 |
3241 | + |
3242 | + Allow copying of object policy within the same container |
3243 | + |
3244 | + ObjLib_CloneExtParams is currently not allowing copying of policy from |
3245 | + parent to child/clone object on VSAN. This is because the copy policy |
3246 | + check is based on unique filesystem ID, which will be different for |
3247 | + parent and child on VSAN because they will mostly be created on same |
3248 | + container but different namespace. This change uses VCFS root instead |
3249 | + of namespace UUID to make the comparison on VSAN. |
3250 | + |
3251 | + Bonus fix: File_FullPath is now fixed to work for any combination of |
3252 | + ancestor path being present. Currently it only works if either the |
3253 | + given path exists, or when only the last component of the path does |
3254 | + not exist. And since this fix relies on finding the VCFS root of both |
3255 | + parent and child (parent is present but child is not), |
3256 | + ObjLibPathToVCFSRoot has been modified to rely on File_FullPath in |
3257 | + addition to Util_GetCanonicalPath if the path does not exist. |
3258 | + |
3259 | +commit a678f3ea9f6de366b3b3de2f99956d93d2216b08 |
3260 | +Author: Oliver Kurth <okurth@vmware.com> |
3261 | +Date: Fri Jan 5 14:47:14 2018 -0800 |
3262 | + |
3263 | + Correction to previous change for Solaris11_64 GOS. |
3264 | + |
3265 | +commit 74eb0c942f78f775c9de2bfd0e4f9970a8cded51 |
3266 | +Author: Oliver Kurth <okurth@vmware.com> |
3267 | +Date: Fri Jan 5 14:47:14 2018 -0800 |
3268 | + |
3269 | + Properly classify Solaris 11-64 as 64-bit |
3270 | + |
3271 | +commit 47e604c2dba131c13300fe15bf4ad69d5b996674 |
3272 | +Author: Oliver Kurth <okurth@vmware.com> |
3273 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3274 | + |
3275 | + Common header file change; not applicable to open-vm-tools. |
3276 | + |
3277 | +commit 584aa9f307c85b07fa8adaf113e87cc3c200cca9 |
3278 | +Author: Oliver Kurth <okurth@vmware.com> |
3279 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3280 | + |
3281 | + Common header file change; not applicable to open-vm-tools. |
3282 | + |
3283 | +commit 976e505b4ad5233f4eb97c7e09be63f6b0662fc7 |
3284 | +Author: Oliver Kurth <okurth@vmware.com> |
3285 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3286 | + |
3287 | + Common header file change; not applicable to open-vm-tools. |
3288 | + |
3289 | +commit 96f90f19e87cfb9b1dd62d30f4b88333d973bb90 |
3290 | +Author: Oliver Kurth <okurth@vmware.com> |
3291 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3292 | + |
3293 | + open-vm-tools: add missing copyright headers |
3294 | + |
3295 | +commit 124c6437b0fcac3e65a7748f336e8b47d9528767 |
3296 | +Author: Oliver Kurth <okurth@vmware.com> |
3297 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3298 | + |
3299 | + Common header file change; not applicable to open-vm-tools. |
3300 | + |
3301 | +commit 11ff20501da5a4a4a6bcc05797b0129462cafc95 |
3302 | +Author: Oliver Kurth <okurth@vmware.com> |
3303 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3304 | + |
3305 | + Common header file change; not applicable to open-vm-tools. |
3306 | + |
3307 | +commit 3dc2785d95c6b6ca42161c270fc9b3f17764ff2d |
3308 | +Author: Oliver Kurth <okurth@vmware.com> |
3309 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3310 | + |
3311 | + Common header file change; not applicable to open-vm-tools. |
3312 | + |
3313 | +commit 525f5824a48d8856ec30250d73a99da9fea2c39f |
3314 | +Author: Oliver Kurth <okurth@vmware.com> |
3315 | +Date: Mon Dec 4 16:27:21 2017 -0800 |
3316 | + |
3317 | + Common header file change; not applicable to open-vm-tools. |
3318 | + |
3319 | +commit fe6997afdc10d3bd7396c7dea7417523851166d6 |
3320 | +Author: Oliver Kurth <okurth@vmware.com> |
3321 | +Date: Mon Dec 4 16:27:20 2017 -0800 |
3322 | + |
3323 | + Update the Tools-10.2.0 GA Open Source License Files. |
3324 | + |
3325 | +commit 9ac30cc60efd96556df21e87d5e8a42c7057fc95 |
3326 | +Author: Oliver Kurth <okurth@vmware.com> |
3327 | +Date: Mon Dec 4 16:27:20 2017 -0800 |
3328 | + |
3329 | + RpcVMX: Report driver name and driver version to vmx to store the key-value in |
3330 | + GuestVars, and write a log in vmware.log using RpcVMX_Log. |
3331 | + |
3332 | +commit 1667bc143164a6709debca423e4be0241e3275db |
3333 | +Author: Oliver Kurth <okurth@vmware.com> |
3334 | +Date: Mon Dec 4 16:27:20 2017 -0800 |
3335 | + |
3336 | + GuestInfo: skip check for shrinkable disk when gathering disk info |
3337 | + |
3338 | + Some Linux OSes may have a non-existing device mounted to a filesystem, |
3339 | + for example Photon OS has the root file system mounted from |
3340 | + /dev/root, which does not exist. The wiper library does a check |
3341 | + for a shrinkable disk, and this fails. This change skips the check |
3342 | + when gathering data for diskinfo, but leaves it intact for |
3343 | + other disk wiper purposes. Information from read-only flesystems |
3344 | + will also be reported. |
3345 | + |
3346 | +commit 35b115033acb5c65e22bd4e44b90d6d69a6815c6 |
3347 | +Author: Oliver Kurth <okurth@vmware.com> |
3348 | +Date: Mon Dec 4 16:27:20 2017 -0800 |
3349 | + |
3350 | + FileIO: Add customizable privileged file opener for Apple. The change is |
3351 | + not applicable to open-vm-tools. |
3352 | + |
3353 | +commit eb8456de3ddb41ecc7155c447e4bac17ca440a5d |
3354 | +Author: Oliver Kurth <okurth@vmware.com> |
3355 | +Date: Mon Dec 4 16:27:20 2017 -0800 |
3356 | + |
3357 | + Make AutoCPtr's constructor explicit to make it more obvious when |
3358 | + pointer ownership is transferred. (This also matches std::auto_ptr.) |
3359 | + |
3360 | +commit 29c40dee7848e52437b5dab2ed466771a15df13b |
3361 | +Author: Oliver Kurth <okurth@vmware.com> |
3362 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3363 | + |
3364 | + Make logfiles readable only by admin/root. |
3365 | + |
3366 | +commit 989d96498a370034423515d3818fd02749677097 |
3367 | +Author: Oliver Kurth <okurth@vmware.com> |
3368 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3369 | + |
3370 | + Common header file change not applicable to open-vm-tools. |
3371 | + |
3372 | +commit c4387fa58c21a0174a9cd6b053e565aea2c4870f |
3373 | +Author: Oliver Kurth <okurth@vmware.com> |
3374 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3375 | + |
3376 | + Common header file change not applicable to open-vm-tools. |
3377 | + |
3378 | +commit e2f15a777d241f468f5ca2bc0b608f3ecb71fc6a |
3379 | +Author: Oliver Kurth <okurth@vmware.com> |
3380 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3381 | + |
3382 | + Common header files change not applicable to open-vm-tools. |
3383 | + |
3384 | +commit d3c3a4d3e9d97e09b07018df2dccb4b4b2c4dd1b |
3385 | +Author: Oliver Kurth <okurth@vmware.com> |
3386 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3387 | + |
3388 | + Common header file change that is not applicable to open-vm-tools. |
3389 | + |
3390 | +commit 9a08115f6b111445f57302651f7fcb1e4f11e907 |
3391 | +Author: Oliver Kurth <okurth@vmware.com> |
3392 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3393 | + |
3394 | + Changes to common header files not directly applicable to open-vm-tools. |
3395 | + |
3396 | +commit a8f4c5ada9852dfdb251715f3785b1fee45b8f67 |
3397 | +Author: Oliver Kurth <okurth@vmware.com> |
3398 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3399 | + |
3400 | + Change to common header file; not applicable to open-vm-tools. |
3401 | + |
3402 | +commit 443f07aab7c60df74e1731127921b92447c86d61 |
3403 | +Author: Oliver Kurth <okurth@vmware.com> |
3404 | +Date: Thu Nov 30 15:38:04 2017 -0800 |
3405 | + |
3406 | + Typo correction in common header file comment. |
3407 | + |
3408 | +commit a5d480e471fe4e0e73f6be28ab65f6ecde64f775 |
3409 | +Author: Oliver Kurth <okurth@vmware.com> |
3410 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3411 | + |
3412 | + Improve diskinfo debug output |
3413 | + |
3414 | + Add more debug information so that it is easier to figure out why some |
3415 | + partitions are not being found. |
3416 | + |
3417 | +commit 08abcfc9cc08c758a8189e69e7f99ab270a2e553 |
3418 | +Author: Oliver Kurth <okurth@vmware.com> |
3419 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3420 | + |
3421 | + Make VigorPollImpl FD-based callbacks non-periodic (take 3) |
3422 | + |
3423 | + The previous attempt reveals another pre-existing issue. An fd that is |
3424 | + closed by AsyncSocket may be reused right away. The SharedStream for |
3425 | + that fd may still have an outstanding callback that needs to fire |
3426 | + before it would be destroyed. If the destruction happens after the fd |
3427 | + is re-used and the new owner is using boost asio stream, the Release() |
3428 | + call would cancel the async read/write operation for the new owner. |
3429 | + One simple fix is to dup the fd when creating a SharedStream. This |
3430 | + means hostd would need 2 fds for each running VM. The hostd fd limit |
3431 | + is currently 4096 and I was able to power on 1K VMs. If necessary, the |
3432 | + fd limit can be increased (the system limit is 32K). |
3433 | + |
3434 | + Previous description: |
3435 | + |
3436 | + The original change has an issue on Linux that is not observed in ESX. |
3437 | + When the read and write callbacks fire in parallel, both would release |
3438 | + the reference to the SharedStream, triggering its destructor. Later |
3439 | + when the read callback tries to re-register itself, it would hit a |
3440 | + boost exception. To avoid that, I delayed the reset of |
3441 | + CallbackFD::stream to the end of Invoke so that the SharedStream |
3442 | + object woudl not be destroyed as long as the callback is re-registered. |
3443 | + |
3444 | + Original description: |
3445 | + |
3446 | + The hard-to-reproduce AsyncSocket leak turns out to be a variation of |
3447 | + PR 1530561. The fix for that bug only plugs the leak when the race is |
3448 | + between a VigorPollImpl callback that fires with an CanceledException |
3449 | + (which can be triggered by another callback registered on the same fd -- |
3450 | + this is the boost behavior) and a thread trying to unregister the same |
3451 | + callback (e.g. upon detection of a disconnect). There is still a |
3452 | + potential reference leak when the read and write callbacks run in |
3453 | + parallel, if a disconnection happens between the two asyncsocket |
3454 | + callbacks (the asyncsocket callbacks take the asyncsocket lock, so they |
3455 | + are mostly serialized). The second asyncsocket callback handling the |
3456 | + disconnect error would unregister the first callback while the first |
3457 | + callback would be attempting to re-register itself at the VigorPollImpl |
3458 | + level (to provide the periodic behavior exposed by IVmdbPoll). If the |
3459 | + unregister wins the race, it would return false because the callback |
3460 | + cannot be cancelled (it is running). Then ReRegister would not find |
3461 | + the callback in the hash table, so the callback would not fire again, |
3462 | + which means the reference taken when registering the callback is leaked. |
3463 | + |
3464 | + Applying the fix for PR 1530561 in the above scenario would not work |
3465 | + because an AsycnSocket callback may unregister itself and in that case |
3466 | + the reference is appropriately released. Unless we save the thread ID |
3467 | + in Unregister, we would not be able to distinguish when the callback |
3468 | + needs to run in order to release the reference. After considering |
3469 | + various options, I believe trying to support periodic fd-based |
3470 | + callbacks on top of a multi-threaded poll API is troublesome. This |
3471 | + change adds a poll flag for one-shot callbacks and used that in |
3472 | + AsyncSocket with IVmdbPoll. VigorPollImpl only support the one-shot |
3473 | + behavior. In the long term I would like to retire IVmdbPoll and create |
3474 | + a new poll interface. For now I would like to minimize churn while |
3475 | + fixing the memory leak. |
3476 | + |
3477 | +commit 595f5add83e8fbf1ffcabd7537d294c1c9c4edfe |
3478 | +Author: Oliver Kurth <okurth@vmware.com> |
3479 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3480 | + |
3481 | + Fix memory leak in vmtoolsd. |
3482 | + |
3483 | +commit 884aa32f9c9f773957275e09cd6620598185718a |
3484 | +Author: Oliver Kurth <okurth@vmware.com> |
3485 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3486 | + |
3487 | + Tools: GuestInfo: ESX: dynamically load libvmkmemstats.so |
3488 | + |
3489 | + The new version of the vmware tools will be installed on older version |
3490 | + of ESX. But these older versions do not come with libvmkmemstats.so |
3491 | + and a dynamic linking error occurs. |
3492 | + |
3493 | + This patch changes the code to deal with the case where the lib is not |
3494 | + available. Instead of relying on the linker to dynamically link with |
3495 | + libvmkmemstats.so, g_module_open() is used to open the library, if |
3496 | + available, and gracefully handle any eventual errors. |
3497 | + Before the patch, the whole libguestinfo would stop working and after |
3498 | + the patch only the memory stats are unavailable. |
3499 | + |
3500 | +commit 6151fbafe8714c15614dd254ff8816cd28620f3c |
3501 | +Author: Oliver Kurth <okurth@vmware.com> |
3502 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3503 | + |
3504 | + Correcting the few copyright notice added to a few CAF related files bundled in Open-VM-Tools. |
3505 | + |
3506 | +commit 23cfd0c0fc03c36b83c47614037f85ff98806b86 |
3507 | +Author: Oliver Kurth <okurth@vmware.com> |
3508 | +Date: Thu Nov 30 15:38:03 2017 -0800 |
3509 | + |
3510 | + Adding copyright notice to a few CAF related files bundled in Open-VM-Tools. |
3511 | + |
3512 | +commit 6056c840a4a5593a3f4a87acc175b5eac3ce23dc |
3513 | +Author: Oliver Kurth <okurth@vmware.com> |
3514 | +Date: Tue Oct 24 14:07:36 2017 -0700 |
3515 | + |
3516 | + DragNDrop plugin change for VMware Tools on Windows; not applicable to |
3517 | + open-vm-tools. |
3518 | + |
3519 | +commit 965dbcad8680e32a8b093715b29656505a8eaf44 |
3520 | +Author: Oliver Kurth <okurth@vmware.com> |
3521 | +Date: Tue Oct 24 14:07:36 2017 -0700 |
3522 | + |
3523 | + GuestInfo: add primary-nics and low-priority-nics options |
3524 | + |
3525 | + Add the options 'primary-nics' and 'low-priority-nics' for GuestInfo. |
3526 | + |
3527 | + The options accept a list of comma separated patterns for interface names |
3528 | + which can be considered as 'primary' or 'low priority' network interfaces. |
3529 | + This will cause the NicInfo to be put on top of the list for primary |
3530 | + interfaces, and to the bottom for low priority interfaces. |
3531 | + |
3532 | + Example: |
3533 | + |
3534 | + primary-nics=eth1 |
3535 | + |
3536 | + will make sure that the IP address(es) for eth1 will be sorted on |
3537 | + top of the list of IP addresses. |
3538 | + |
3539 | + primary-nics=eth* |
3540 | + |
3541 | + will make sure that any one of the addresses of all interfaces |
3542 | + matching eth* will be sorted on top of the list of IP addresses, |
3543 | + but won't guarantee which one if there is more than one. |
3544 | + |
3545 | + low-priority-nics=eth* |
3546 | + |
3547 | + will work analogously, but interfaces will be sorted to the bottom. |
3548 | + |
3549 | + In case the limit of the number of interfaces to be reported is reached, |
3550 | + low priority interfaces are the first to be skipped. |
3551 | + |
3552 | +commit b5c64af227b2eea0f23f2c8f3cf40c5d24c8548f |
3553 | +Author: Oliver Kurth <okurth@vmware.com> |
3554 | +Date: Tue Oct 24 14:07:35 2017 -0700 |
3555 | + |
3556 | + VGAuth changes: |
3557 | + |
3558 | + - add calling LoadUserProfile()/UnloadUserProfile() in VGAuth |
3559 | + impersonation/unimpersonation code paths |
3560 | + - VMTools side code change to use the new VGAuth SDK. |
3561 | + |
3562 | +commit cc18f0829bbf9d61b36f6c292a2f4fb9b9618812 |
3563 | +Author: Oliver Kurth <okurth@vmware.com> |
3564 | +Date: Tue Oct 24 14:07:35 2017 -0700 |
3565 | + |
3566 | + VGAuth changes: |
3567 | + |
3568 | + - add calling LoadUserProfile()/UnloadUserProfile() in VGAuth |
3569 | + impersonation/unimpersonation code paths |
3570 | + - VGAuth part of code change plus tools vix plugin make file. |
3571 | + |
3572 | +commit 4b0af4d8b889eccd0fbc18d63698c95f83be1ca3 |
3573 | +Author: Oliver Kurth <okurth@vmware.com> |
3574 | +Date: Tue Oct 24 14:07:35 2017 -0700 |
3575 | + |
3576 | + [Tools] Fix crash issue when stopping vmtoolsd(vmuser) |
3577 | + |
3578 | + When stopping vmtoolsd, the code tries to unload all plugins. The |
3579 | + signal TOOLS_CORE_SIG_CAPABILITIES is emitted before really starting |
3580 | + to unload plugins. If the plugin should try to call RpcChannel_Send |
3581 | + while processing the signal and the RPC channel has been shutdown, an |
3582 | + ASSERT is triggered. The fix is to check whether rpc exists and if |
3583 | + unavailable, avoid sending the TOOLS_CORE_SIG_CAPABILITIES signal. |
3584 | + |
3585 | +commit 13438dc9ab2af20587e003bc7f8ba088dc2d3ed8 |
3586 | +Author: Oliver Kurth <okurth@vmware.com> |
3587 | +Date: Tue Oct 24 14:07:35 2017 -0700 |
3588 | + |
3589 | + Update copyright year to 2017 for open-vm-tools 10.2.0. |
3590 | + |
3591 | +commit a94ed0b8af8afc7d446312c3b391f336421bd4c3 |
3592 | +Author: Oliver Kurth <okurth@vmware.com> |
3593 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3594 | + |
3595 | + Add SUSE Server for SAP Applications to hostinfoPosix.c |
3596 | + |
3597 | + On SLES-SP1-SAP the "lsb_release -sd" command returns the string |
3598 | + "SUSE Linux Enterprise Server for SAP Applications 12 SP1". |
3599 | + Parsing in HostinfoGetOSShortName() detects the sub-strings "suse" |
3600 | + and "enterprise" but not "server 12". STR_OS_SLES is returned |
3601 | + resulting in displaying of "SUSE Linux Enterprise 8/9" in the |
3602 | + summary screen of the vSphere client. This is wrong. |
3603 | + |
3604 | + Instead, search for the sub-string "server for sap applications 12" |
3605 | + and return STR_OS_SLES_12. SLES11-SAP is not affected. |
3606 | + |
3607 | + Please see: github.com/vmware/open-vm-tools/pull/123 |
3608 | + |
3609 | +commit 2aba22668d4f61ddad7dff2a3e872458bf64e67a |
3610 | +Author: Oliver Kurth <okurth@vmware.com> |
3611 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3612 | + |
3613 | + lib/file: Enhance File_EnsureDirectoryEx to do more checking |
3614 | + |
3615 | + When creating a directory, distinguish whether an EEXIST error is |
3616 | + because the directory already exists or because there is a file with |
3617 | + that path name. Return the appropriate error. |
3618 | + |
3619 | +commit c579e664050ddd35e975b4a7fa18beb74f2decdc |
3620 | +Author: Oliver Kurth <okurth@vmware.com> |
3621 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3622 | + |
3623 | + VMware Tools 10.2.0 L10n changes for VGAuth. |
3624 | + |
3625 | +commit 07973b8c75feafba8c5ea400a87d0f03cdea744d |
3626 | +Author: Oliver Kurth <okurth@vmware.com> |
3627 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3628 | + |
3629 | + Common header file changed; not applicable to open-vm-tools. |
3630 | + |
3631 | +commit b88ff280ea0ea778ef9a4e422129bbf66291be73 |
3632 | +Author: Oliver Kurth <okurth@vmware.com> |
3633 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3634 | + |
3635 | + lib/file: Reduce the create directory spam |
3636 | + |
3637 | + The lib/file primitives (e.g. create file, create directory) may fail - |
3638 | + but they also return errno/GetLastError. The caller should inspect a |
3639 | + failure and decide what to do (or log). The lib/file primitives should |
3640 | + not log. The client should do that. The primitives are the high |
3641 | + performance path and failure isn't necessarily a failure, only the |
3642 | + client can decide. |
3643 | + |
3644 | + The lib/file primitives (e.g. create file, create directory) may fail - |
3645 | + but they also return errno/GetLastError. The caller should inspect a |
3646 | + failure and decide what to do (or log). The lib/file primitives should |
3647 | + not log. The client should do that. The primitives are the high |
3648 | + performance path and failure isn't necessarily a failure, only the |
3649 | + client can decide. |
3650 | + |
3651 | +commit 8bdee4f53760e3a63a890653a0960c09b9258db9 |
3652 | +Author: Oliver Kurth <okurth@vmware.com> |
3653 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3654 | + |
3655 | + Misc GuestOS ID fixes. |
3656 | + |
3657 | + - Centos8 64bit guest will have linux 4.x. Moved Centos8-64 guest id |
3658 | + from all3xlinux64 to all4xlinux64 guest list. |
3659 | + - oracle8_64 is missing in the list. Added it to all4xlinux64 guest list. |
3660 | + - Photon has linux 4.x. Moved photon from all3xlinux64 to all4xlinux64 |
3661 | + guest list. |
3662 | + |
3663 | + - Changed the HostinfoOSData() function to return other4xlinux for |
3664 | + the distros where the version cannot be determined. |
3665 | + |
3666 | +commit 2ca8abc426c42e3ad7c05fd22e38ca04d6cc5e86 |
3667 | +Author: Oliver Kurth <okurth@vmware.com> |
3668 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3669 | + |
3670 | + Bump imgcust version to 8.4.0.xxxx |
3671 | + |
3672 | +commit 921f05729bdbcb83a98ab1a28641baabd095af97 |
3673 | +Author: Oliver Kurth <okurth@vmware.com> |
3674 | +Date: Tue Oct 24 14:07:33 2017 -0700 |
3675 | + |
3676 | + Back out commit d2c18c44...: Make VigorPollImpl FD-based callbacks non-periodic |
3677 | + |
3678 | + Yet another issue is exposed by the change. This is a clean backout |
3679 | + but keeping the cleanupOnError fix in SharedStreamFactory::Get. |
3680 | + |
3681 | +commit e373c1ca328f78581d915940bd7e98abdb76a089 |
3682 | +Author: Oliver Kurth <okurth@vmware.com> |
3683 | +Date: Tue Oct 24 14:07:32 2017 -0700 |
3684 | + |
3685 | + open-vm-tools: make building with gtk3 the default |
3686 | + |
3687 | + This makes building with gtk3 the default, and sets sane |
3688 | + defaults when building with/without gtk2/gtk3. |
3689 | + |
3690 | +commit 3455478483a6f8e810c00519b6611020e25fee83 |
3691 | +Author: Oliver Kurth <okurth@vmware.com> |
3692 | +Date: Tue Oct 24 14:07:32 2017 -0700 |
3693 | +======= |
3694 | +commit 783e87e2a465d28db5233e7d1e284fa9410ffec4 |
3695 | +Author: Oliver Kurth <okurth@vmware.com> |
3696 | +Date: Mon Feb 26 12:29:05 2018 -0800 |
3697 | + |
3698 | + Remove uses of header file safetime.h |
3699 | + |
3700 | + - (many places) replace "safetime.h" with <time.h> and/or <sys/stat.h>, |
3701 | + occasionally re-ordering this header to top of file |
3702 | + - (many places) remove "safetime.h" as no time functions are used |
3703 | + |
3704 | +commit bf31e9478b99b5713f2c330e48d2e40c5091d3bc |
3705 | +Author: Oliver Kurth <okurth@vmware.com> |
3706 | +Date: Mon Feb 26 12:29:04 2018 -0800 |
3707 | + |
3708 | + Common header file change; not applicable to open-vm-tools. |
3709 | + |
3710 | +commit cbdbeef4b6c3454f58e9733079140edcc30fdb2a |
3711 | +Author: Oliver Kurth <okurth@vmware.com> |
3712 | +Date: Mon Feb 26 12:29:03 2018 -0800 |
3713 | + |
3714 | + Remove GLIBC_VERSION_NN macros |
3715 | + |
3716 | + No existing usages. Astute observers will note we currently |
3717 | + use glibc-2.5 minimum (so all but one of these macros are ALWAYS |
3718 | + defined). |
3719 | + |
3720 | +commit eec6e2798def2e9ff6da5e73b092cfe92e60b763 |
3721 | +Author: Oliver Kurth <okurth@vmware.com> |
3722 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3723 | + |
3724 | + Common header file change not applicable to open-vm-tools. |
3725 | + |
3726 | +commit 5170db44c1c7b814d0d2bd4131e1895dbd999db7 |
3727 | +Author: Oliver Kurth <okurth@vmware.com> |
3728 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3729 | + |
3730 | + Use a unique random temp directory for vmtoolsd on Linux. |
3731 | + |
3732 | + The temporay directory currently used by vmtoolsd and its plugins |
3733 | + on Linux is of the form /tmp/vmware-<user>. Since it is used to |
3734 | + upload VMware Tools upgrade and GOS customization scripts and commands, |
3735 | + that name predictability may make it susceptible to attack. This |
3736 | + change adds a new function File_GetSafeRandomTmpDir() in |
3737 | + bora/lib/file/fileTempPosix.c to both add the PID to the user name |
3738 | + and add a random number suffix to the temp directory path. |
3739 | + |
3740 | + /tmp/vmware-<user>_<pid>-nnnnnn |
3741 | + |
3742 | + VMware Tools commands and plugins are being updated to use this random |
3743 | + temp directory. |
3744 | + |
3745 | +commit 9bc56af5d0cb7dcc6f079ff4ab4d3456535365b2 |
3746 | +Author: Oliver Kurth <okurth@vmware.com> |
3747 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3748 | + |
3749 | + Changes to common header files not applicable to open-vm-tools. |
3750 | + |
3751 | +commit 3e4091698461c0a5c36f9025410941f189c5af69 |
3752 | +Author: Oliver Kurth <okurth@vmware.com> |
3753 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3754 | + |
3755 | + Fix two comment typos in hostinfoPosix.c. |
3756 | + |
3757 | +commit cf4f582e5b3c2df25aa775d77d458a15583a05ad |
3758 | +Author: Oliver Kurth <okurth@vmware.com> |
3759 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3760 | + |
3761 | + open-vm-tools: ignore with/without gtk2/3 options when building without X |
3762 | + |
3763 | + When building without X support, we should ignore the options to enable/disable |
3764 | + gtk2 and gtk3. This was reported in gthub issue |
3765 | + https://github.com/vmware/open-vm-tools/issues/228 . |
3766 | + |
3767 | +commit 0a099c6f4949a05d1400dc147ab68ad15ebf152a |
3768 | +Author: Oliver Kurth <okurth@vmware.com> |
3769 | +Date: Wed Feb 7 16:39:26 2018 -0800 |
3770 | + |
3771 | + Common header file change not applicable to open-vm-tools. |
3772 | + |
3773 | +commit 7be0019e01c7d473deffb8b8646fce1dff22e11a |
3774 | +Author: Oliver Kurth <okurth@vmware.com> |
3775 | +Date: Wed Feb 7 16:39:25 2018 -0800 |
3776 | + |
3777 | + Common header file changes not applicable to open-vm-tools. |
3778 | + |
3779 | +commit f838807d08b9c4e72d4887642d4181dea25b6c35 |
3780 | +Author: Oliver Kurth <okurth@vmware.com> |
3781 | +Date: Wed Feb 7 16:39:25 2018 -0800 |
3782 | + |
3783 | + Common header file change not applicable to open-vm-tools. |
3784 | + |
3785 | +commit 25d00050c8009dd74e3bbcf1883fdd408411a693 |
3786 | +Author: Oliver Kurth <okurth@vmware.com> |
3787 | +Date: Wed Feb 7 16:39:25 2018 -0800 |
3788 | + |
3789 | + Common header file change not applicable to open-vm-tools. |
3790 | + |
3791 | +commit 6b6038522ed24ea134eb4e4a2752288f6f42fcd5 |
3792 | +Author: Oliver Kurth <okurth@vmware.com> |
3793 | +Date: Wed Feb 7 16:39:25 2018 -0800 |
3794 | + |
3795 | + Header file change not applicable to open-vm-tools. |
3796 | + |
3797 | +commit ee4bd450c4449f8905dbca2e4759660fda5c58dc |
3798 | +Author: Oliver Kurth <okurth@vmware.com> |
3799 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3800 | + |
3801 | + fix buffer overrun in AsyncTCPSocketConnect() |
3802 | + |
3803 | + Callers may pass a struct smaller than sockaddr_storage, but a |
3804 | + sockaddr_storage-sized chunk gets copied to asock->remoteAddr. |
3805 | + memcpy() should be used. |
3806 | + |
3807 | + One such caller is AsyncSocket_ConnectUnixDomain(). It passes sockaddr_un. |
3808 | + sizeof(sockaddr_un) == 110, sizeof(sockaddr_storage) == 128. |
3809 | + |
3810 | + Caught by AddressSanitizer. |
3811 | + |
3812 | +commit 13df0e2fc2f68aeab0380761eb0c5ab129730710 |
3813 | +Author: Oliver Kurth <okurth@vmware.com> |
3814 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3815 | + |
3816 | + open-vm-tools: use pkg-config for building with icu |
3817 | + |
3818 | + icu uses pkg-config in recent versions, and no longer ships with |
3819 | + icu-config in most recent versions. Make the configure script |
3820 | + use pkg-config for icu if available, and icu-config if not. For |
3821 | + pkg-config we need to specify 'icui18n' which returns the same result |
3822 | + as icu-config did to link with icui18n. |
3823 | + |
3824 | +commit 3a8221c7e4b149efacf87658ac239d815c56adba |
3825 | +Author: Oliver Kurth <okurth@vmware.com> |
3826 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3827 | + |
3828 | + Ignore ENXIO errors with SyncDriver |
3829 | + |
3830 | + A quiesced snapshot fails when the target VM has a bind mount. The |
3831 | + problem is that the syncDriver gets an ENXIO error when it tries to |
3832 | + open the mount point. To fix the problem, let the quiesce operation |
3833 | + skip a mount point when opening it results in an ENXIO error. |
3834 | + |
3835 | + This change is based on pull request |
3836 | + https://github.com/vmware/open-vm-tools/pull/218 . |
3837 | + |
3838 | +commit ff754c8a99bffe92b07c933898c7d9d20c02873f |
3839 | +Author: Oliver Kurth <okurth@vmware.com> |
3840 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3841 | + |
3842 | + Refinement for memory corruption bug fix in StdIO_ReadNextLine |
3843 | + |
3844 | +commit 7b45a62730624c711fb4eb63a0bfd125a2befa57 |
3845 | +Author: Oliver Kurth <okurth@vmware.com> |
3846 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3847 | + |
3848 | + lib/file: Style clean up in the public file.h |
3849 | + |
3850 | +commit 3a7dc2f92e6cb61c9ca8e57c367c972683355278 |
3851 | +Author: Oliver Kurth <okurth@vmware.com> |
3852 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3853 | + |
3854 | + Common header file changes not applicable to open-vm-tools. |
3855 | + |
3856 | +commit c52bb302a181d4bdd0b2b61d6e901339b61d2dab |
3857 | +Author: Oliver Kurth <okurth@vmware.com> |
3858 | +Date: Tue Feb 6 16:32:40 2018 -0800 |
3859 | + |
3860 | + Common header file change not applicable to open-vm-tools. |
3861 | + |
3862 | +commit 035765d487f8ab9b2222ad239b278e4725aa5a22 |
3863 | +Author: Oliver Kurth <okurth@vmware.com> |
3864 | +Date: Tue Feb 6 16:32:39 2018 -0800 |
3865 | |
3866 | Changes to common header files; not applicable to open-vm-tools. |
3867 | |
3868 | @@ -2320,6 +5108,7 @@ Date: Tue Oct 24 14:07:35 2017 -0700 |
3869 | commit cc18f0829bbf9d61b36f6c292a2f4fb9b9618812 |
3870 | Author: Oliver Kurth <okurth@vmware.com> |
3871 | Date: Tue Oct 24 14:07:35 2017 -0700 |
3872 | +>>>>>>> open-vm-tools/ChangeLog |
3873 | |
3874 | VGAuth changes: |
3875 | |
3876 | @@ -2327,6 +5116,106 @@ Date: Tue Oct 24 14:07:35 2017 -0700 |
3877 | impersonation/unimpersonation code paths |
3878 | - VGAuth part of code change plus tools vix plugin make file. |
3879 | |
3880 | +<<<<<<< open-vm-tools/ChangeLog |
3881 | +commit a62edfbf695ea5ad4bf8f8d91bac1740e428158f |
3882 | +Author: Oliver Kurth <okurth@vmware.com> |
3883 | +Date: Tue Oct 24 14:07:32 2017 -0700 |
3884 | + |
3885 | + Common header file change; not directly applicable to open-vm-tools |
3886 | + |
3887 | +commit 009def580b00040fa6e6c07cb5743e60973973f5 |
3888 | +Author: Oliver Kurth <okurth@vmware.com> |
3889 | +Date: Mon Oct 23 14:21:23 2017 -0700 |
3890 | + |
3891 | + GuestInfo: enable nic/iproute information for Linux without libdnet |
3892 | + |
3893 | + Linux glibc (since 2.3) fully supports getting ip addresses using |
3894 | + getifaddrs() for both IPv4 and IPv6. Use of getifaddrs() was already |
3895 | + implemented in nicInfoPosix.c for tools for ESXi. This change |
3896 | + enables that code also for Linux, if libdnet is not used. |
3897 | + |
3898 | + The change also enables the iproute information, which does not |
3899 | + depend on libdnet, except by the use of addr_stob(), which can |
3900 | + be replaced easily with the existing function CountNetmaskBits(). |
3901 | + |
3902 | +commit 7643a1eddcc2cdc0b8a42af821ae92ca076ee37a |
3903 | +Author: Oliver Kurth <okurth@vmware.com> |
3904 | +Date: Mon Oct 23 14:21:22 2017 -0700 |
3905 | + |
3906 | + Make disk free space reporting consistent with Linux 'df' command. |
3907 | + |
3908 | + On Linux, statfs syscall reports free space in two fields. |
3909 | + From http://man7.org/linux/man-pages/man2/statfs.2.html: |
3910 | + 1. f_bfree => Free blocks in filesystem |
3911 | + 2. f_bavail => Free blocks available to unprivileged user |
3912 | + |
3913 | + For file systems that maintain reserved space for system |
3914 | + activities f_bfree > f_bavail because f_bfree includes the |
3915 | + reserved space in the file system. The reserved space is |
3916 | + typically 5% for 'ext4' file systems. Newer distros like |
3917 | + RHEL 7.x use 'xfs' by default and report same value for |
3918 | + both the fields. |
3919 | + |
3920 | + The Linux 'df' command uses f_bavail in its reporting. |
3921 | + Tools reports, conditionally, f_bfree for root and f_bavail |
3922 | + for non-root. However, since vmtoolsd runs as root, Tools |
3923 | + always reports f_bfree, which is more free space than 'df' |
3924 | + would report (depending on amount of reserved space). |
3925 | + |
3926 | + In order to be consistent with Linux 'df' command, |
3927 | + report f_bavail as the disk free space by default. This does |
3928 | + change the behavior a little bit in that Tools will report less |
3929 | + disk free space than before, the difference being the same as |
3930 | + the reserved space on the file system, typically 5%. This |
3931 | + should be OK in general because it makes the space reporting |
3932 | + a bit conservative. If this change in behavior is not desired |
3933 | + for some use cases, the old behavior can be restored by setting |
3934 | + the following newly added configuration in this change: |
3935 | + |
3936 | + [guestinfo] |
3937 | + diskinfo-include-reserved=true |
3938 | + |
3939 | + The existing callers that are outside the guestInfo plugin |
3940 | + will continue to include reserved space in their space |
3941 | + accounting as before. |
3942 | + |
3943 | + Also fixed a few minor stuff/touchups in vmtoolsConfig.c. |
3944 | + |
3945 | +commit ff6daf51be641a805f94fa11415e032bad3ef48a |
3946 | +Author: Oliver Kurth <okurth@vmware.com> |
3947 | +Date: Mon Oct 23 14:21:22 2017 -0700 |
3948 | + |
3949 | + Porting some common code to another architecture; not applicable to |
3950 | + open-vm-tools. |
3951 | + |
3952 | +commit a1d4afc447091d9fbccf89be6561accfc1e33aa9 |
3953 | +Author: Oliver Kurth <okurth@vmware.com> |
3954 | +Date: Mon Oct 23 14:21:22 2017 -0700 |
3955 | + |
3956 | + Add support to tools timeSync to issue w32tm resync in Windows guests. |
3957 | + |
3958 | + This change adds support to issue a w32tm resync command from within |
3959 | + VMware tools timeSync in order to reconfigure w32time configuration |
3960 | + parameters. This forces guest time to be resynchronized to external |
3961 | + time server. |
3962 | + |
3963 | +commit d2c18c44df3fbc410e04b2f1b2595a326a52afec |
3964 | +Author: Oliver Kurth <okurth@vmware.com> |
3965 | +Date: Mon Oct 23 14:21:22 2017 -0700 |
3966 | + |
3967 | + Add a poll flag for one-shot callbacks in AsyncSocket |
3968 | + |
3969 | + The original change had an issue. When the read and write callbacks |
3970 | + fire in parallel, both would release the reference to the SharedStream, |
3971 | + triggering its destructor. Later when the read callback tried to |
3972 | + re-register itself, it would hit a boost exception. To avoid that, |
3973 | + delay the reset of CallbackFD::stream to the end of Invoke so that the |
3974 | + SharedStream object will not be destroyed as long as the callback is |
3975 | + re-registered. |
3976 | + |
3977 | +commit 485dc67e56ad68e05d4106059594279f67dd119b |
3978 | +Author: Oliver Kurth <okurth@vmware.com> |
3979 | +======= |
3980 | commit 4b0af4d8b889eccd0fbc18d63698c95f83be1ca3 |
3981 | Author: Oliver Kurth <okurth@vmware.com> |
3982 | Date: Tue Oct 24 14:07:35 2017 -0700 |
3983 | @@ -2549,6 +5438,7 @@ Date: Mon Oct 23 14:21:22 2017 -0700 |
3984 | |
3985 | commit 485dc67e56ad68e05d4106059594279f67dd119b |
3986 | Author: Oliver Kurth <okurth@vmware.com> |
3987 | +>>>>>>> open-vm-tools/ChangeLog |
3988 | Date: Mon Oct 23 14:21:22 2017 -0700 |
3989 | |
3990 | Change to shared header file unrelated to open-vm-tools. |
3991 | diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac |
3992 | index 72dc4ff..e952cff 100644 |
3993 | --- a/open-vm-tools/configure.ac |
3994 | +++ b/open-vm-tools/configure.ac |
3995 | @@ -35,10 +35,17 @@ |
3996 | ### Initialization |
3997 | ### |
3998 | |
3999 | +<<<<<<< open-vm-tools/configure.ac |
4000 | TOOLS_VERSION="10.3.0" |
4001 | AC_INIT( |
4002 | [open-vm-tools], |
4003 | [10.3.0], |
4004 | +======= |
4005 | +TOOLS_VERSION="10.3.5" |
4006 | +AC_INIT( |
4007 | + [open-vm-tools], |
4008 | + [10.3.5], |
4009 | +>>>>>>> open-vm-tools/configure.ac |
4010 | [open-vm-tools-devel@lists.sourceforge.net]) |
4011 | |
4012 | # In order to make this configure script auto-detect situations where |
4013 | @@ -1370,9 +1377,6 @@ if test "$os" = "freebsd" || test "$os" = "kfreebsd-gnu"; then |
4014 | if test "$osVersion" -ge 302000; then |
4015 | MODULES="$MODULES vmmemctl" |
4016 | fi |
4017 | - if test "$osVersion" -ge 409000; then |
4018 | - MODULES="$MODULES vmxnet" |
4019 | - fi |
4020 | if test "$osVersion" -ge 600000; then |
4021 | MODULES="$MODULES vmblock" |
4022 | fi |
4023 | diff --git a/open-vm-tools/lib/file/file.c b/open-vm-tools/lib/file/file.c |
4024 | index 6053247..2d1154b 100644 |
4025 | --- a/open-vm-tools/lib/file/file.c |
4026 | +++ b/open-vm-tools/lib/file/file.c |
4027 | @@ -1863,7 +1863,7 @@ FileDeleteDirectoryTree(const char *pathName, // IN: directory to delete |
4028 | char *base; |
4029 | |
4030 | char **fileList = NULL; |
4031 | - Bool sawFileError = FALSE; |
4032 | + Err_Number fileError = 0; |
4033 | |
4034 | if (Posix_EuidAccess(pathName, F_OK) != 0) { |
4035 | /* |
4036 | @@ -1909,7 +1909,7 @@ FileDeleteDirectoryTree(const char *pathName, // IN: directory to delete |
4037 | case S_IFDIR: |
4038 | /* Directory, recurse */ |
4039 | if (!FileDeleteDirectoryTree(curPath, FALSE)) { |
4040 | - sawFileError = TRUE; |
4041 | + fileError = Err_Errno(); |
4042 | } |
4043 | break; |
4044 | |
4045 | @@ -1917,7 +1917,7 @@ FileDeleteDirectoryTree(const char *pathName, // IN: directory to delete |
4046 | case S_IFLNK: |
4047 | /* Delete symlink, not what it points to */ |
4048 | if (FileDeletion(curPath, FALSE) != 0) { |
4049 | - sawFileError = TRUE; |
4050 | + fileError = Err_Errno(); |
4051 | } |
4052 | break; |
4053 | #endif |
4054 | @@ -1927,19 +1927,21 @@ FileDeleteDirectoryTree(const char *pathName, // IN: directory to delete |
4055 | #if defined(_WIN32) |
4056 | if (File_SetFilePermissions(curPath, S_IWUSR)) { |
4057 | if (FileDeletion(curPath, FALSE) != 0) { |
4058 | - sawFileError = TRUE; |
4059 | + fileError = Err_Errno(); |
4060 | } |
4061 | } else { |
4062 | - sawFileError = TRUE; |
4063 | + fileError = Err_Errno(); |
4064 | } |
4065 | #else |
4066 | - sawFileError = TRUE; |
4067 | + fileError = Err_Errno(); |
4068 | #endif |
4069 | } |
4070 | break; |
4071 | } |
4072 | } else { |
4073 | - sawFileError = TRUE; |
4074 | + fileError = Err_Errno(); |
4075 | + Log(LGPFX" %s: Lstat of '%s' failed, errno = %d\n", |
4076 | + __FUNCTION__, curPath, errno); |
4077 | } |
4078 | |
4079 | Posix_Free(curPath); |
4080 | @@ -1952,14 +1954,16 @@ FileDeleteDirectoryTree(const char *pathName, // IN: directory to delete |
4081 | * Call File_DeleteEmptyDirectory() only if there is no prior error |
4082 | * while deleting the children. |
4083 | */ |
4084 | - if (!sawFileError && !File_DeleteEmptyDirectory(pathName)) { |
4085 | - sawFileError = TRUE; |
4086 | + if (fileError == 0 && !File_DeleteEmptyDirectory(pathName)) { |
4087 | + fileError = Err_Errno(); |
4088 | } |
4089 | } |
4090 | |
4091 | Util_FreeStringList(fileList, numFiles); |
4092 | |
4093 | - return !sawFileError; |
4094 | + Err_SetErrno(fileError); |
4095 | + |
4096 | + return fileError == 0; |
4097 | } |
4098 | |
4099 | |
4100 | diff --git a/open-vm-tools/lib/glibUtils/fileLogger.c b/open-vm-tools/lib/glibUtils/fileLogger.c |
4101 | index af1cb8a..98d5bb5 100644 |
4102 | --- a/open-vm-tools/lib/glibUtils/fileLogger.c |
4103 | +++ b/open-vm-tools/lib/glibUtils/fileLogger.c |
4104 | @@ -1,5 +1,5 @@ |
4105 | /********************************************************* |
4106 | - * Copyright (C) 2010-2016 VMware, Inc. All rights reserved. |
4107 | + * Copyright (C) 2010-2018 VMware, Inc. All rights reserved. |
4108 | * |
4109 | * This program is free software; you can redistribute it and/or modify it |
4110 | * under the terms of the GNU Lesser General Public License as published |
4111 | @@ -299,11 +299,26 @@ FileLoggerOpen(FileLogger *data) |
4112 | } |
4113 | |
4114 | logfile = g_io_channel_new_file(path, data->append ? "a" : "w", NULL); |
4115 | - g_free(path); |
4116 | |
4117 | if (logfile != NULL) { |
4118 | g_io_channel_set_encoding(logfile, NULL, NULL); |
4119 | +#ifdef VMX86_TOOLS |
4120 | + /* |
4121 | + * Make the logfile readable only by user and root/administrator. |
4122 | + */ |
4123 | +#ifdef _WIN32 |
4124 | + /* |
4125 | + * XXX TODO: Set the ACLs properly for Windows. |
4126 | + */ |
4127 | +#else |
4128 | + /* |
4129 | + * Can't do anything if it fails, so ignore return. |
4130 | + */ |
4131 | + (void) chmod(path, 0600); |
4132 | +#endif |
4133 | +#endif // VMX86_TOOLS |
4134 | } |
4135 | + g_free(path); |
4136 | |
4137 | return logfile; |
4138 | } |
4139 | diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c |
4140 | index bcde636..7ea3b7f 100644 |
4141 | --- a/open-vm-tools/lib/hgfsServer/hgfsServer.c |
4142 | +++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c |
4143 | @@ -7246,8 +7246,8 @@ HgfsValidateRenameFile(Bool useHandle, // IN: |
4144 | if (HGFS_ERROR_SUCCESS != status) { |
4145 | LOG(4, ("%s: could not map cached handle %d, error %u\n", |
4146 | __FUNCTION__, fileHandle, status)); |
4147 | - } else if (!HgfsHandle2FileNameMode(fileHandle, session, &shareInfo->writePermissions, |
4148 | - &shareInfo->readPermissions, localFileName, |
4149 | + } else if (!HgfsHandle2FileNameMode(fileHandle, session, &shareInfo->readPermissions, |
4150 | + &shareInfo->writePermissions, localFileName, |
4151 | localNameLength)) { |
4152 | /* |
4153 | * HgfsPlatformRename requires valid source file name even when file handle |
4154 | diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c |
4155 | index c4f7c89..f2b7ce6 100644 |
4156 | --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c |
4157 | +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c |
4158 | @@ -1,5 +1,5 @@ |
4159 | /********************************************************* |
4160 | - * Copyright (C) 1998-2017 VMware, Inc. All rights reserved. |
4161 | + * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. |
4162 | * |
4163 | * This program is free software; you can redistribute it and/or modify it |
4164 | * under the terms of the GNU Lesser General Public License as published |
4165 | @@ -4583,8 +4583,8 @@ HgfsPlatformDeleteFileByHandle(HgfsHandle file, // IN: File being delet |
4166 | char *localName; |
4167 | size_t localNameSize; |
4168 | |
4169 | - if (HgfsHandle2FileNameMode(file, session, &writePermissions, |
4170 | - &readPermissions, &localName, &localNameSize)) { |
4171 | + if (HgfsHandle2FileNameMode(file, session, &readPermissions, &writePermissions, |
4172 | + &localName, &localNameSize)) { |
4173 | if (writePermissions && readPermissions) { |
4174 | status = HgfsPlatformDeleteFileByName(localName); |
4175 | } else { |
4176 | @@ -4665,8 +4665,8 @@ HgfsPlatformDeleteDirByHandle(HgfsHandle file, // IN: File being delete |
4177 | char *localName; |
4178 | size_t localNameSize; |
4179 | |
4180 | - if (HgfsHandle2FileNameMode(file, session, &writePermissions, |
4181 | - &readPermissions, &localName, &localNameSize)) { |
4182 | + if (HgfsHandle2FileNameMode(file, session, &readPermissions, &writePermissions, |
4183 | + &localName, &localNameSize)) { |
4184 | if (writePermissions && readPermissions) { |
4185 | status = HgfsPlatformDeleteDirByName(localName); |
4186 | } else { |
4187 | diff --git a/open-vm-tools/lib/include/buildNumber.h b/open-vm-tools/lib/include/buildNumber.h |
4188 | index c0a903a..80245f1 100644 |
4189 | --- a/open-vm-tools/lib/include/buildNumber.h |
4190 | +++ b/open-vm-tools/lib/include/buildNumber.h |
4191 | @@ -1,4 +1,5 @@ |
4192 | #define BUILD_NUMBER \ |
4193 | +<<<<<<< open-vm-tools/lib/include/buildNumber.h |
4194 | "build-8931395" |
4195 | #define BUILD_NUMBER_NUMERIC \ |
4196 | 8931395 |
4197 | @@ -10,3 +11,16 @@ |
4198 | 5330 |
4199 | #define PRODUCT_BUILD_NUMBER_NUMERIC_STRING \ |
4200 | "5330" |
4201 | +======= |
4202 | + "build-10430147" |
4203 | +#define BUILD_NUMBER_NUMERIC \ |
4204 | + 10430147 |
4205 | +#define BUILD_NUMBER_NUMERIC_STRING \ |
4206 | + "10430147" |
4207 | +#define PRODUCT_BUILD_NUMBER \ |
4208 | + "product-build-7752" |
4209 | +#define PRODUCT_BUILD_NUMBER_NUMERIC \ |
4210 | + 7752 |
4211 | +#define PRODUCT_BUILD_NUMBER_NUMERIC_STRING \ |
4212 | + "7752" |
4213 | +>>>>>>> open-vm-tools/lib/include/buildNumber.h |
4214 | diff --git a/open-vm-tools/lib/include/conf.h b/open-vm-tools/lib/include/conf.h |
4215 | index af68534..f9698c1 100644 |
4216 | --- a/open-vm-tools/lib/include/conf.h |
4217 | +++ b/open-vm-tools/lib/include/conf.h |
4218 | @@ -171,6 +171,32 @@ |
4219 | |
4220 | /* |
4221 | ****************************************************************************** |
4222 | + * BEGIN GuestOSInfo goodies. |
4223 | + */ |
4224 | + |
4225 | +/** |
4226 | + * Defines the string used for the GuestOSInfo config file group. |
4227 | + */ |
4228 | +#define CONFGROUPNAME_GUESTOSINFO "guestosinfo" |
4229 | + |
4230 | +/** |
4231 | + * Lets users override the short OS name sent by Tools. |
4232 | + */ |
4233 | +#define CONFNAME_GUESTOSINFO_SHORTNAME "short-name" |
4234 | + |
4235 | +/** |
4236 | + * Lets users override the long OS name sent by Tools. |
4237 | + */ |
4238 | +#define CONFNAME_GUESTOSINFO_LONGNAME "long-name" |
4239 | + |
4240 | +/* |
4241 | + * END GuestOSInfo goodies. |
4242 | + ****************************************************************************** |
4243 | + */ |
4244 | + |
4245 | + |
4246 | +/* |
4247 | + ****************************************************************************** |
4248 | * BEGIN Unity goodies. |
4249 | */ |
4250 | |
4251 | diff --git a/open-vm-tools/lib/include/err.h b/open-vm-tools/lib/include/err.h |
4252 | index b692db4..65b45a5 100644 |
4253 | --- a/open-vm-tools/lib/include/err.h |
4254 | +++ b/open-vm-tools/lib/include/err.h |
4255 | @@ -122,6 +122,7 @@ char *Err_SanitizeMessage(const char *msg); |
4256 | */ |
4257 | |
4258 | #if defined(_WIN32) |
4259 | +<<<<<<< open-vm-tools/lib/include/err.h |
4260 | #define WITH_ERRNO(e, body) do { \ |
4261 | Err_Number e = Err_Errno(); \ |
4262 | int __win__##e = errno; \ |
4263 | @@ -130,12 +131,29 @@ char *Err_SanitizeMessage(const char *msg); |
4264 | errno = __win__##e; \ |
4265 | } while (0) |
4266 | #else |
4267 | +======= |
4268 | +>>>>>>> open-vm-tools/lib/include/err.h |
4269 | #define WITH_ERRNO(e, body) do { \ |
4270 | Err_Number e = Err_Errno(); \ |
4271 | + int __win__##e = errno; \ |
4272 | body; \ |
4273 | Err_SetErrno(e); \ |
4274 | +<<<<<<< open-vm-tools/lib/include/err.h |
4275 | } while (0) |
4276 | #endif |
4277 | +======= |
4278 | + errno = __win__##e; \ |
4279 | + } while (0) |
4280 | +#else |
4281 | +#define WITH_ERRNO(e, body) do { \ |
4282 | + Err_Number e = Err_Errno(); \ |
4283 | + body; \ |
4284 | + Err_SetErrno(e); \ |
4285 | + } while (0) |
4286 | +#endif |
4287 | + |
4288 | +#define WITH_ERRNO_FREE(p) WITH_ERRNO(__errNum__, free((void *)p)) |
4289 | +>>>>>>> open-vm-tools/lib/include/err.h |
4290 | |
4291 | #if defined(__cplusplus) |
4292 | } // extern "C" |
4293 | diff --git a/open-vm-tools/lib/include/ioplGet.h b/open-vm-tools/lib/include/ioplGet.h |
4294 | index bcecf9b..2ebe8aa 100644 |
4295 | --- a/open-vm-tools/lib/include/ioplGet.h |
4296 | +++ b/open-vm-tools/lib/include/ioplGet.h |
4297 | @@ -1,5 +1,5 @@ |
4298 | /********************************************************* |
4299 | - * Copyright (C) 2012-2017 VMware, Inc. All rights reserved. |
4300 | + * Copyright (C) 2012-2018 VMware, Inc. All rights reserved. |
4301 | * |
4302 | * This program is free software; you can redistribute it and/or modify it |
4303 | * under the terms of the GNU Lesser General Public License as published |
4304 | @@ -33,7 +33,7 @@ |
4305 | extern "C" { |
4306 | #endif |
4307 | |
4308 | -#define Iopl_Get() ((GetCallerEFlags() >> EFLAGS_IOPL_SHIFT) && 0x3) |
4309 | +#define Iopl_Get() ((GetCallerEFlags() >> EFLAGS_IOPL_SHIFT) & 0x3) |
4310 | |
4311 | #if defined(__cplusplus) |
4312 | } // extern "C" |
4313 | diff --git a/open-vm-tools/lib/include/posix.h b/open-vm-tools/lib/include/posix.h |
4314 | index 4a643f0..b5ae883 100644 |
4315 | --- a/open-vm-tools/lib/include/posix.h |
4316 | +++ b/open-vm-tools/lib/include/posix.h |
4317 | @@ -35,6 +35,7 @@ |
4318 | #include "unicodeTypes.h" |
4319 | #include "unicodeBase.h" |
4320 | #include "codeset.h" |
4321 | +#include "err.h" |
4322 | |
4323 | #if defined(__cplusplus) |
4324 | extern "C" { |
4325 | @@ -125,14 +126,7 @@ char *Posix_MkTemp(const char *pathName); |
4326 | *----------------------------------------------------------------------------- |
4327 | */ |
4328 | |
4329 | -static INLINE void |
4330 | -Posix_Free(void *p) // IN |
4331 | -{ |
4332 | - int err = errno; |
4333 | - free(p); |
4334 | - errno = err; |
4335 | -} |
4336 | - |
4337 | +#define Posix_Free(p) WITH_ERRNO_FREE(p) |
4338 | |
4339 | #if !defined(_WIN32) |
4340 | /* |
4341 | diff --git a/open-vm-tools/lib/include/rpcin.h b/open-vm-tools/lib/include/rpcin.h |
4342 | index 64b8155..5f06546 100644 |
4343 | --- a/open-vm-tools/lib/include/rpcin.h |
4344 | +++ b/open-vm-tools/lib/include/rpcin.h |
4345 | @@ -1,5 +1,5 @@ |
4346 | /********************************************************* |
4347 | - * Copyright (C) 2007-2016 VMware, Inc. All rights reserved. |
4348 | + * Copyright (C) 2007-2018 VMware, Inc. All rights reserved. |
4349 | * |
4350 | * This program is free software; you can redistribute it and/or modify it |
4351 | * under the terms of the GNU Lesser General Public License as published |
4352 | @@ -33,6 +33,8 @@ extern "C" { |
4353 | |
4354 | typedef void RpcIn_ErrorFunc(void *clientData, char const *status); |
4355 | |
4356 | +typedef void RpcIn_ClearErrorFunc(void *clientData); |
4357 | + |
4358 | typedef struct RpcIn RpcIn; |
4359 | |
4360 | #if defined(VMTOOLS_USE_GLIB) /* { */ |
4361 | @@ -44,7 +46,9 @@ RpcIn *RpcIn_Construct(GMainContext *mainCtx, |
4362 | gpointer clientData); |
4363 | |
4364 | Bool RpcIn_start(RpcIn *in, unsigned int delay, |
4365 | - RpcIn_ErrorFunc *errorFunc, void *errorData); |
4366 | + RpcIn_ErrorFunc *errorFunc, |
4367 | + RpcIn_ClearErrorFunc *clearErrorFunc, |
4368 | + void *errorData); |
4369 | |
4370 | #else /* } { */ |
4371 | |
4372 | @@ -66,7 +70,10 @@ RpcIn *RpcIn_Construct(DblLnkLst_Links *eventQueue); |
4373 | |
4374 | Bool RpcIn_start(RpcIn *in, unsigned int delay, |
4375 | RpcIn_Callback resetCallback, void *resetClientData, |
4376 | - RpcIn_ErrorFunc *errorFunc, void *errorData); |
4377 | + RpcIn_ErrorFunc *errorFunc, |
4378 | + RpcIn_ClearErrorFunc *clearErrorFunc, |
4379 | + void *errorData); |
4380 | + |
4381 | |
4382 | /* |
4383 | * Don't use this function anymore - it's here only for backwards compatibility. |
4384 | diff --git a/open-vm-tools/lib/include/unicodeBase.h b/open-vm-tools/lib/include/unicodeBase.h |
4385 | index b79c6c8..39cf4ec 100644 |
4386 | --- a/open-vm-tools/lib/include/unicodeBase.h |
4387 | +++ b/open-vm-tools/lib/include/unicodeBase.h |
4388 | @@ -34,6 +34,7 @@ |
4389 | #include <errno.h> |
4390 | #include "util.h" |
4391 | #include "unicodeTypes.h" |
4392 | +#include "err.h" |
4393 | |
4394 | #if defined(__cplusplus) |
4395 | extern "C" { |
4396 | @@ -348,11 +349,15 @@ const char *Unicode_GetStatic(const char *asciiBytes, |
4397 | */ |
4398 | #if defined(_WIN32) |
4399 | #define UNICODE_GET_UTF16(s) Unicode_GetAllocUTF16(s) |
4400 | +<<<<<<< open-vm-tools/lib/include/unicodeBase.h |
4401 | #define UNICODE_RELEASE_UTF16(s) do { \ |
4402 | int err = errno; \ |
4403 | free((utf16_t *)s); \ |
4404 | errno = err; \ |
4405 | } while (0) |
4406 | +======= |
4407 | + #define UNICODE_RELEASE_UTF16(s) WITH_ERRNO_FREE(s) |
4408 | +>>>>>>> open-vm-tools/lib/include/unicodeBase.h |
4409 | #endif |
4410 | |
4411 | #if defined(__cplusplus) |
4412 | diff --git a/open-vm-tools/lib/include/vm_product.h b/open-vm-tools/lib/include/vm_product.h |
4413 | index d9ef05e..372ab75 100644 |
4414 | --- a/open-vm-tools/lib/include/vm_product.h |
4415 | +++ b/open-vm-tools/lib/include/vm_product.h |
4416 | @@ -78,6 +78,7 @@ |
4417 | * This name should be used when referring to VMware Tools |
4418 | */ |
4419 | #define VMWARE_TOOLS_SHORT_NAME MAKE_NAME("Tools") |
4420 | +#define VMWARE_VGAUTH_SHORT_NAME MAKE_NAME("Guest Authentication") |
4421 | |
4422 | #define PRODUCT_SCALABLE_SERVER_NAME MAKE_NAME(PRODUCT_SCALABLE_SERVER_BRIEF_NAME) |
4423 | #define PRODUCT_ESXI_NAME MAKE_NAME(PRODUCT_ESXI_BRIEF_NAME) |
4424 | @@ -221,6 +222,8 @@ |
4425 | # define PRODUCT_SHORT_NAME PRODUCT_GANTRY_NAME |
4426 | #elif defined(VMX86_TOOLS) |
4427 | # define PRODUCT_SHORT_NAME VMWARE_TOOLS_SHORT_NAME |
4428 | +#elif defined(VMX86_VGAUTH) |
4429 | +# define PRODUCT_SHORT_NAME VMWARE_VGAUTH_SHORT_NAME |
4430 | #elif defined(VMX86_VPX) |
4431 | # if defined(CSI_HA) |
4432 | # define PRODUCT_SHORT_NAME PRODUCT_HA_NAME |
4433 | diff --git a/open-vm-tools/lib/include/vm_product_versions.h b/open-vm-tools/lib/include/vm_product_versions.h |
4434 | index 231c4e5..f2870b1 100644 |
4435 | --- a/open-vm-tools/lib/include/vm_product_versions.h |
4436 | +++ b/open-vm-tools/lib/include/vm_product_versions.h |
4437 | @@ -57,7 +57,11 @@ |
4438 | #define PRODUCT_VERSION 14,0,0,PRODUCT_BUILD_NUMBER_NUMERIC |
4439 | #elif defined(VMX86_SYSIMAGE) |
4440 | // SYSIMAGE_VERSION below has to match this |
4441 | +<<<<<<< open-vm-tools/lib/include/vm_product_versions.h |
4442 | #define PRODUCT_VERSION 8,4,0,PRODUCT_BUILD_NUMBER_NUMERIC |
4443 | +======= |
4444 | + #define PRODUCT_VERSION 8,4,1,PRODUCT_BUILD_NUMBER_NUMERIC |
4445 | +>>>>>>> open-vm-tools/lib/include/vm_product_versions.h |
4446 | #else |
4447 | /* Generic catch-all. */ |
4448 | #define PRODUCT_VERSION 0,0,0,PRODUCT_BUILD_NUMBER_NUMERIC |
4449 | @@ -177,7 +181,11 @@ |
4450 | #define FUSION_VERSION "e.x.p" |
4451 | |
4452 | // These must match PRODUCT_VERSION for VMX86_SYSIMAGE above |
4453 | +<<<<<<< open-vm-tools/lib/include/vm_product_versions.h |
4454 | #define SYSIMAGE_VERSION "8.4.0" |
4455 | +======= |
4456 | +#define SYSIMAGE_VERSION "8.4.1" |
4457 | +>>>>>>> open-vm-tools/lib/include/vm_product_versions.h |
4458 | #define SYSIMAGE_VERSION_EXT_STR \ |
4459 | SYSIMAGE_VERSION "." PRODUCT_BUILD_NUMBER_NUMERIC_STRING |
4460 | |
4461 | @@ -260,7 +268,7 @@ |
4462 | #define VCSA_INSTALLER_VERSION "1.0.0" |
4463 | #define OVFTOOL_FILE_VERSION 4,3,0,PRODUCT_BUILD_NUMBER_NUMERIC |
4464 | #define VDM_CLIENT_VERSION "4.5.1" |
4465 | -#define VGAUTH_VERSION "e.x.p" |
4466 | +#define VGAUTH_VERSION "1.0.0" |
4467 | #define COMMON_AGENT_VERSION "e.x.p" |
4468 | #define VIEWY_VERSION "e.x.p" |
4469 | #define VMCFSDK_VERSION "e.x.p" |
4470 | @@ -355,7 +363,9 @@ |
4471 | # define PRODUCT_VERSION_NUMBER ESX_VERSION |
4472 | #elif defined(VMX86_HORIZON_VIEW) |
4473 | # define PRODUCT_VERSION_NUMBER VIEW_VERSION |
4474 | -// VMX86_DESKTOP must be last because it is the default and is always defined. |
4475 | +#elif defined(VMX86_VGAUTH) |
4476 | +# define PRODUCT_VERSION_NUMBER VGAUTH_VERSION |
4477 | + // VMX86_DESKTOP must be last because it is the default and is always defined. |
4478 | #elif defined(VMX86_DESKTOP) |
4479 | # if defined(__APPLE__) |
4480 | # define PRODUCT_VERSION_NUMBER FUSION_VERSION |
4481 | diff --git a/open-vm-tools/lib/include/vm_tools_version.h b/open-vm-tools/lib/include/vm_tools_version.h |
4482 | index cbdc9bc..eda794d 100644 |
4483 | --- a/open-vm-tools/lib/include/vm_tools_version.h |
4484 | +++ b/open-vm-tools/lib/include/vm_tools_version.h |
4485 | @@ -1481,9 +1481,22 @@ TOOLS_VERSION_UINT_TO_COMPONENTS(const ToolsVersion toolsVersion, // IN |
4486 | #define TOOLS_VERSION_JACKHAMMER_RELEASE_V_MNR 3 |
4487 | #define TOOLS_VERSION_JACKHAMMER_RELEASE_V_BASE 0 |
4488 | |
4489 | +<<<<<<< open-vm-tools/lib/include/vm_tools_version.h |
4490 | #define TOOLS_VERSION_CURRENT TOOLS_VERSION_JACKHAMMER_RELEASE |
4491 | #define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_JACKHAMMER_RELEASE) |
4492 | #define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_JACKHAMMER_RELEASE) |
4493 | +======= |
4494 | +#ifndef RC_INVOKED |
4495 | +#define TOOLS_VERSION_JACKHAMMER_UPDATE1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_JACKHAMMER_UPDATE1_V) |
4496 | +#endif /* RC_INVOKED */ |
4497 | +#define TOOLS_VERSION_JACKHAMMER_UPDATE1_V_MJR 10 |
4498 | +#define TOOLS_VERSION_JACKHAMMER_UPDATE1_V_MNR 3 |
4499 | +#define TOOLS_VERSION_JACKHAMMER_UPDATE1_V_BASE 5 |
4500 | + |
4501 | +#define TOOLS_VERSION_CURRENT TOOLS_VERSION_JACKHAMMER_UPDATE1 |
4502 | +#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_JACKHAMMER_UPDATE1) |
4503 | +#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_JACKHAMMER_UPDATE1) |
4504 | +>>>>>>> open-vm-tools/lib/include/vm_tools_version.h |
4505 | |
4506 | /* |
4507 | * The extended Tools version is the current Tools version with the |
4508 | diff --git a/open-vm-tools/lib/include/vmware/tools/guestrpc.h b/open-vm-tools/lib/include/vmware/tools/guestrpc.h |
4509 | index e6fee26..659fd20 100644 |
4510 | --- a/open-vm-tools/lib/include/vmware/tools/guestrpc.h |
4511 | +++ b/open-vm-tools/lib/include/vmware/tools/guestrpc.h |
4512 | @@ -125,6 +125,15 @@ typedef void (*RpcChannelResetCb)(RpcChannel *chan, |
4513 | gboolean success, |
4514 | gpointer data); |
4515 | |
4516 | +/** |
4517 | + * Signature for the application callback function when unable to establish |
4518 | + * an RpcChannel connection. |
4519 | + * |
4520 | + * @param[in] _state Client data. |
4521 | + */ |
4522 | +typedef void (*RpcChannelFailureCb)(gpointer _state); |
4523 | + |
4524 | + |
4525 | gboolean |
4526 | RpcChannel_Start(RpcChannel *chan); |
4527 | |
4528 | @@ -160,7 +169,9 @@ RpcChannel_Setup(RpcChannel *chan, |
4529 | GMainContext *mainCtx, |
4530 | gpointer appCtx, |
4531 | RpcChannelResetCb resetCb, |
4532 | - gpointer resetData); |
4533 | + gpointer resetData, |
4534 | + RpcChannelFailureCb failureCb, |
4535 | + guint maxFailures); |
4536 | |
4537 | void |
4538 | RpcChannel_RegisterCallback(RpcChannel *chan, |
4539 | diff --git a/open-vm-tools/lib/misc/vthreadBase.c b/open-vm-tools/lib/misc/vthreadBase.c |
4540 | index 328a37c..350d4e3 100644 |
4541 | --- a/open-vm-tools/lib/misc/vthreadBase.c |
4542 | +++ b/open-vm-tools/lib/misc/vthreadBase.c |
4543 | @@ -481,8 +481,15 @@ VThreadBase_SetName(const char *name) // IN: new name |
4544 | } |
4545 | |
4546 | #if defined VMW_HAVE_TLS |
4547 | - /* Never copy last byte; this ensures NUL-term is always present */ |
4548 | + /* |
4549 | + * Never copy last byte; this ensures NUL-term is always present. |
4550 | + * The NUL-term is always present because vthreadName is static, |
4551 | + * but gcc-8 generates a warning if it doesn't see it being explicilty |
4552 | + * set. |
4553 | + */ |
4554 | + |
4555 | strncpy(vthreadName, name, sizeof vthreadName - 1); |
4556 | + vthreadName[sizeof vthreadName - 1] = '\0'; |
4557 | #else |
4558 | do { |
4559 | char *buf; |
4560 | diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c |
4561 | index 8a063a0..a22981d 100644 |
4562 | --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c |
4563 | +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c |
4564 | @@ -277,6 +277,22 @@ GuestInfoGetInterface(struct ifaddrs *ifaddrs, |
4565 | |
4566 | if (sll != NULL && sll->sll_family == AF_PACKET) { |
4567 | char macAddress[NICINFO_MAC_LEN]; |
4568 | + |
4569 | + /* |
4570 | + * PR 2193804: |
4571 | + * On ESXi, AF_PACKET family is reported for vmk* interfaces only |
4572 | + * and its ifa_flags is reported as 0. No AF_PACKET family ifaddrs |
4573 | + * is reported for loopback interface. |
4574 | + */ |
4575 | +#if !defined(USERWORLD) |
4576 | + /* |
4577 | + * Ignore loopback and downed devices. |
4578 | + */ |
4579 | + if (!(pkt->ifa_flags & IFF_UP) || pkt->ifa_flags & IFF_LOOPBACK) { |
4580 | + continue; |
4581 | + } |
4582 | +#endif |
4583 | + |
4584 | Str_Sprintf(macAddress, sizeof macAddress, |
4585 | "%02x:%02x:%02x:%02x:%02x:%02x", |
4586 | sll->sll_addr[0], sll->sll_addr[1], sll->sll_addr[2], |
4587 | @@ -301,6 +317,8 @@ GuestInfoGetInterface(struct ifaddrs *ifaddrs, |
4588 | unsigned nBits = 0; |
4589 | /* |
4590 | * Ignore any loopback addresses. |
4591 | + * A loopback address would indicate a misconfiguration, since |
4592 | + * this is not a loopback device (we checked for that above). |
4593 | */ |
4594 | if (family == AF_INET) { |
4595 | struct sockaddr_in *sin = (struct sockaddr_in *)sa; |
4596 | diff --git a/open-vm-tools/lib/rpcChannel/rpcChannel.c b/open-vm-tools/lib/rpcChannel/rpcChannel.c |
4597 | index e6c7e0d..d0903f8 100644 |
4598 | --- a/open-vm-tools/lib/rpcChannel/rpcChannel.c |
4599 | +++ b/open-vm-tools/lib/rpcChannel/rpcChannel.c |
4600 | @@ -52,7 +52,19 @@ typedef struct RpcChannelInt { |
4601 | RpcChannelResetCb resetCb; |
4602 | gpointer resetData; |
4603 | gboolean rpcError; |
4604 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4605 | guint rpcErrorCount; |
4606 | +======= |
4607 | + guint rpcResetErrorCount; /* channel reset failures */ |
4608 | + /* |
4609 | + * The rpcFailureCount is a cumulative count of calls made to |
4610 | + * RpcChannelError(). When getting repeated channel failures, |
4611 | + * the channel is constantly stopped and restarted. |
4612 | + */ |
4613 | + guint rpcFailureCount; /* cumulative channel failures */ |
4614 | + RpcChannelFailureCb rpcFailureCb; |
4615 | + guint rpcMaxFailures; |
4616 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4617 | #endif |
4618 | } RpcChannelInt; |
4619 | |
4620 | @@ -122,7 +134,7 @@ RpcChannelRestart(gpointer _chan) |
4621 | chanStarted = RpcChannel_Start(&chan->impl); |
4622 | g_static_mutex_unlock(&chan->impl.outLock); |
4623 | if (!chanStarted) { |
4624 | - Warning("Channel restart failed [%d]\n", chan->rpcErrorCount); |
4625 | + Warning("Channel restart failed [%d]\n", chan->rpcResetErrorCount); |
4626 | if (chan->resetCb != NULL) { |
4627 | chan->resetCb(&chan->impl, FALSE, chan->resetData); |
4628 | } |
4629 | @@ -153,9 +165,9 @@ RpcChannelCheckReset(gpointer _chan) |
4630 | if (chan->rpcError) { |
4631 | GSource *src; |
4632 | |
4633 | - if (++(chan->rpcErrorCount) > channelTimeoutAttempts) { |
4634 | + if (++(chan->rpcResetErrorCount) > channelTimeoutAttempts) { |
4635 | Warning("Failed to reset channel after %u attempts\n", |
4636 | - chan->rpcErrorCount - 1); |
4637 | + chan->rpcResetErrorCount - 1); |
4638 | if (chan->resetCb != NULL) { |
4639 | chan->resetCb(&chan->impl, FALSE, chan->resetData); |
4640 | } |
4641 | @@ -163,7 +175,7 @@ RpcChannelCheckReset(gpointer _chan) |
4642 | } |
4643 | |
4644 | /* Schedule the channel restart for 1 sec in the future. */ |
4645 | - Debug(LGPFX "Resetting channel [%u]\n", chan->rpcErrorCount); |
4646 | + Debug(LGPFX "Resetting channel [%u]\n", chan->rpcResetErrorCount); |
4647 | src = g_timeout_source_new(1000); |
4648 | g_source_set_callback(src, RpcChannelRestart, chan, NULL); |
4649 | g_source_attach(src, chan->mainCtx); |
4650 | @@ -173,7 +185,7 @@ RpcChannelCheckReset(gpointer _chan) |
4651 | |
4652 | /* Reset was successful. */ |
4653 | Debug(LGPFX "Channel was reset successfully.\n"); |
4654 | - chan->rpcErrorCount = 0; |
4655 | + chan->rpcResetErrorCount = 0; |
4656 | Debug(LGPFX "Clearing backdoor behavior ...\n"); |
4657 | gVSocketFailed = FALSE; |
4658 | |
4659 | @@ -428,6 +440,11 @@ exit: |
4660 | * @param[in] appCtx Application context. |
4661 | * @param[in] resetCb Callback for when a reset occurs. |
4662 | * @param[in] resetData Client data for the reset callback. |
4663 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4664 | +======= |
4665 | + * @param[in] failureCB Callback for when the channel failure limit is hit. |
4666 | + * @param[in] maxFailures Maximum channel failures allowed. |
4667 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4668 | */ |
4669 | |
4670 | void |
4671 | @@ -436,7 +453,13 @@ RpcChannel_Setup(RpcChannel *chan, |
4672 | GMainContext *mainCtx, |
4673 | gpointer appCtx, |
4674 | RpcChannelResetCb resetCb, |
4675 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4676 | gpointer resetData) |
4677 | +======= |
4678 | + gpointer resetData, |
4679 | + RpcChannelFailureCb failureCb, |
4680 | + guint maxFailures) |
4681 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4682 | { |
4683 | size_t i; |
4684 | RpcChannelInt *cdata = (RpcChannelInt *) chan; |
4685 | @@ -446,6 +469,11 @@ RpcChannel_Setup(RpcChannel *chan, |
4686 | cdata->mainCtx = g_main_context_ref(mainCtx); |
4687 | cdata->resetCb = resetCb; |
4688 | cdata->resetData = resetData; |
4689 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4690 | +======= |
4691 | + cdata->rpcFailureCb = failureCb; |
4692 | + cdata->rpcMaxFailures = maxFailures; |
4693 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4694 | |
4695 | cdata->resetReg.name = "reset"; |
4696 | cdata->resetReg.callback = RpcChannelReset; |
4697 | @@ -486,6 +514,13 @@ RpcChannel_RegisterCallback(RpcChannel *chan, |
4698 | ASSERT(rpc->xdrIn == NULL || rpc->xdrInSize > 0); |
4699 | if (cdata->rpcs == NULL) { |
4700 | cdata->rpcs = g_hash_table_new(g_str_hash, g_str_equal); |
4701 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4702 | + } |
4703 | + if (g_hash_table_lookup(cdata->rpcs, rpc->name) != NULL) { |
4704 | + Panic("Trying to overwrite existing RPC registration for %s!\n", rpc->name); |
4705 | + } |
4706 | + g_hash_table_insert(cdata->rpcs, (gpointer) rpc->name, rpc); |
4707 | +======= |
4708 | } |
4709 | if (g_hash_table_lookup(cdata->rpcs, rpc->name) != NULL) { |
4710 | Panic("Trying to overwrite existing RPC registration for %s!\n", rpc->name); |
4711 | @@ -510,6 +545,43 @@ RpcChannel_UnregisterCallback(RpcChannel *chan, |
4712 | if (cdata->rpcs != NULL) { |
4713 | g_hash_table_remove(cdata->rpcs, rpc->name); |
4714 | } |
4715 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4716 | +} |
4717 | + |
4718 | + |
4719 | +/** |
4720 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4721 | + * Unregisters a new RPC handler from the given RPC channel. This function is |
4722 | + * not thread-safe. |
4723 | + * |
4724 | + * @param[in] chan The channel instance. |
4725 | + * @param[in] rpc Info about the RPC being unregistered. |
4726 | + */ |
4727 | + |
4728 | +void |
4729 | +RpcChannel_UnregisterCallback(RpcChannel *chan, |
4730 | + RpcChannelCallback *rpc) |
4731 | +{ |
4732 | + RpcChannelInt *cdata = (RpcChannelInt *) chan; |
4733 | + if (cdata->rpcs != NULL) { |
4734 | + g_hash_table_remove(cdata->rpcs, rpc->name); |
4735 | + } |
4736 | +======= |
4737 | + * Callback function to clear the cumulative channel error count when RpcIn |
4738 | + * is able to establish a working connection following an error or reset. |
4739 | + * |
4740 | + * @param[in] _chan The RPC channel. |
4741 | + */ |
4742 | + |
4743 | +static void |
4744 | +RpcChannelClearError(void *_chan) |
4745 | +{ |
4746 | + RpcChannelInt *chan = _chan; |
4747 | + |
4748 | + Debug(LGPFX " %s: Clearing cumulative RpcChannel error count; was %d\n", |
4749 | + __FUNCTION__, chan->rpcFailureCount); |
4750 | + chan->rpcFailureCount = 0; |
4751 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4752 | } |
4753 | |
4754 | |
4755 | @@ -523,16 +595,36 @@ RpcChannel_UnregisterCallback(RpcChannel *chan, |
4756 | |
4757 | static void |
4758 | RpcChannelError(void *_chan, |
4759 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4760 | char const *status) |
4761 | +======= |
4762 | + char const *status) |
4763 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4764 | { |
4765 | RpcChannelInt *chan = _chan; |
4766 | + |
4767 | chan->rpcError = TRUE; |
4768 | + |
4769 | /* |
4770 | * XXX: Workaround for PR 935520. |
4771 | * Revert the log call to Warning() after fixing PR 955746. |
4772 | */ |
4773 | Debug(LGPFX "Error in the RPC receive loop: %s.\n", status); |
4774 | |
4775 | + /* |
4776 | + * If an RPC failure callback has been registered and the failure limit |
4777 | + * check has not been suppressed, check whether the RpcChannel failure |
4778 | + * limit has been reached. |
4779 | + */ |
4780 | + if (chan->rpcFailureCb != NULL && |
4781 | + chan->rpcMaxFailures > 0 && |
4782 | + ++chan->rpcFailureCount >= chan->rpcMaxFailures) { |
4783 | + /* Maximum number of channel errors has been reached. */ |
4784 | + Warning(LGPFX "RpcChannel failure count %d; calling the failure " |
4785 | + "callback function.\n", chan->rpcFailureCount); |
4786 | + chan->rpcFailureCb(chan->resetData); |
4787 | + } |
4788 | + |
4789 | if (chan->resetCheck == NULL) { |
4790 | chan->resetCheck = g_idle_source_new(); |
4791 | g_source_set_callback(chan->resetCheck, RpcChannelCheckReset, chan, NULL); |
4792 | @@ -556,6 +648,25 @@ RpcChannelError(void *_chan, |
4793 | |
4794 | RpcChannel * |
4795 | RpcChannel_Create(void) |
4796 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4797 | +{ |
4798 | + RpcChannelInt *chan = g_new0(RpcChannelInt, 1); |
4799 | + return &chan->impl; |
4800 | +} |
4801 | + |
4802 | + |
4803 | +/** |
4804 | + * Shuts down an RPC channel and release any held resources. |
4805 | + * |
4806 | + * @param[in] chan The RPC channel. |
4807 | + * |
4808 | + * @return Whether the channel was shut down successfully. |
4809 | + */ |
4810 | + |
4811 | +gboolean |
4812 | +RpcChannel_Destroy(RpcChannel *chan) |
4813 | +{ |
4814 | +======= |
4815 | { |
4816 | RpcChannelInt *chan = g_new0(RpcChannelInt, 1); |
4817 | return &chan->impl; |
4818 | @@ -573,6 +684,7 @@ RpcChannel_Create(void) |
4819 | gboolean |
4820 | RpcChannel_Destroy(RpcChannel *chan) |
4821 | { |
4822 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4823 | #if defined(NEED_RPCIN) |
4824 | size_t i; |
4825 | #endif |
4826 | @@ -596,6 +708,10 @@ RpcChannel_Destroy(RpcChannel *chan) |
4827 | cdata->resetCb = NULL; |
4828 | cdata->resetData = NULL; |
4829 | cdata->appCtx = NULL; |
4830 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4831 | +======= |
4832 | + cdata->rpcFailureCb = NULL; |
4833 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4834 | |
4835 | g_free(cdata->appName); |
4836 | cdata->appName = NULL; |
4837 | @@ -771,7 +887,12 @@ RpcChannel_Start(RpcChannel *chan) |
4838 | |
4839 | #if defined(NEED_RPCIN) |
4840 | if (chan->in != NULL && !chan->inStarted) { |
4841 | +<<<<<<< open-vm-tools/lib/rpcChannel/rpcChannel.c |
4842 | ok = RpcIn_start(chan->in, RPCIN_MAX_DELAY, RpcChannelError, chan); |
4843 | +======= |
4844 | + ok = RpcIn_start(chan->in, RPCIN_MAX_DELAY, RpcChannelError, |
4845 | + RpcChannelClearError, chan); |
4846 | +>>>>>>> open-vm-tools/lib/rpcChannel/rpcChannel.c |
4847 | chan->inStarted = ok; |
4848 | } |
4849 | #endif |
4850 | diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c |
4851 | index c2c5158..8eea7d8 100644 |
4852 | --- a/open-vm-tools/lib/rpcIn/rpcin.c |
4853 | +++ b/open-vm-tools/lib/rpcIn/rpcin.c |
4854 | @@ -1,5 +1,5 @@ |
4855 | /********************************************************* |
4856 | - * Copyright (C) 1998-2017 VMware, Inc. All rights reserved. |
4857 | + * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. |
4858 | * |
4859 | * This program is free software; you can redistribute it and/or modify it |
4860 | * under the terms of the GNU Lesser General Public License as published |
4861 | @@ -178,6 +178,13 @@ struct RpcIn { |
4862 | */ |
4863 | Bool inLoop; // RpcInLoop is running. |
4864 | Bool shouldStop; // Stop the channel the next time RpcInLoop exits. |
4865 | + |
4866 | + /* |
4867 | + * RpcInConnErrorHandler called; cleared when a non "reset" reply has been |
4868 | + * received. |
4869 | + */ |
4870 | + Bool errStatus; |
4871 | + RpcIn_ClearErrorFunc *clearErrorFunc; |
4872 | }; |
4873 | |
4874 | static Bool RpcInSend(RpcIn *in, int flags); |
4875 | @@ -1070,6 +1077,8 @@ RpcInConnErrorHandler(int err, // IN |
4876 | Debug("RpcIn: Error in socket %d, closing connection: %s.\n", |
4877 | AsyncSocket_GetFd(asock), AsyncSocket_Err2String(err)); |
4878 | |
4879 | + in->errStatus = TRUE; |
4880 | + |
4881 | if (conn->connected) { |
4882 | RpcInCloseChannel(conn->in, errmsg); |
4883 | } else { /* the connection never gets connected */ |
4884 | @@ -1490,6 +1499,26 @@ exit: |
4885 | |
4886 | |
4887 | /* |
4888 | + * RpcInClearErrorStatus -- |
4889 | + * |
4890 | + * Clear the errStatus indicator and if a callback has been registered, |
4891 | + * notify the RpcChannel layer that an error condition has been cleared. |
4892 | + */ |
4893 | + |
4894 | +static void |
4895 | +RpcInClearErrorStatus(RpcIn *in) // IN |
4896 | +{ |
4897 | + if (in->errStatus) { |
4898 | + Debug("RpcIn: %s: Clearing errStatus\n", __FUNCTION__); |
4899 | + in->errStatus = FALSE; |
4900 | + if (in->clearErrorFunc != NULL) { |
4901 | + in->clearErrorFunc(in->errorData); |
4902 | + } |
4903 | + } |
4904 | +} |
4905 | + |
4906 | + |
4907 | +/* |
4908 | *----------------------------------------------------------------------------- |
4909 | * |
4910 | * RpcInLoop -- |
4911 | @@ -1569,6 +1598,12 @@ RpcInLoop(void *clientData) // IN |
4912 | if (repLen) { |
4913 | char *s = ByteDump(reply, repLen); |
4914 | Debug("RpcIn: received %d bytes, content:\"%s\"\n", (int) repLen, s); |
4915 | + |
4916 | + /* If reply is not a "reset", the channel is functioning. */ |
4917 | + if (in->errStatus && strcmp(s, "reset") != 0) { |
4918 | + RpcInClearErrorStatus(in); |
4919 | + } |
4920 | + |
4921 | if (!RpcInExecRpc(in, reply, repLen, &errmsg)) { |
4922 | goto error; |
4923 | } |
4924 | @@ -1584,6 +1619,11 @@ RpcInLoop(void *clientData) // IN |
4925 | lastPrintMilli = now; |
4926 | } |
4927 | |
4928 | + /* RpcIn connection is working - receiving. */ |
4929 | + if (in->errStatus) { |
4930 | + RpcInClearErrorStatus(in); |
4931 | + } |
4932 | + |
4933 | /* |
4934 | * Nothing to execute |
4935 | */ |
4936 | @@ -1792,18 +1832,21 @@ error: |
4937 | |
4938 | #if defined(VMTOOLS_USE_GLIB) |
4939 | Bool |
4940 | -RpcIn_start(RpcIn *in, // IN |
4941 | - unsigned int delay, // IN |
4942 | - RpcIn_ErrorFunc *errorFunc, // IN |
4943 | - void *errorData) // IN |
4944 | +RpcIn_start(RpcIn *in, // IN |
4945 | + unsigned int delay, // IN |
4946 | + RpcIn_ErrorFunc *errorFunc, // IN |
4947 | + RpcIn_ClearErrorFunc *clearErrorFunc, // IN |
4948 | + void *errorData) // IN |
4949 | + |
4950 | #else |
4951 | Bool |
4952 | -RpcIn_start(RpcIn *in, // IN |
4953 | - unsigned int delay, // IN |
4954 | - RpcIn_Callback resetCallback, // IN |
4955 | - void *resetClientData, // IN |
4956 | - RpcIn_ErrorFunc *errorFunc, // IN |
4957 | - void *errorData) // IN |
4958 | +RpcIn_start(RpcIn *in, // IN |
4959 | + unsigned int delay, // IN |
4960 | + RpcIn_Callback resetCallback, // IN |
4961 | + void *resetClientData, // IN |
4962 | + RpcIn_ErrorFunc *errorFunc, // IN |
4963 | + RpcIn_ClearErrorFunc *clearErrorFunc, // IN |
4964 | + void *errorData) // IN |
4965 | #endif |
4966 | { |
4967 | ASSERT(in); |
4968 | @@ -1811,6 +1854,7 @@ RpcIn_start(RpcIn *in, // IN |
4969 | in->delay = 0; |
4970 | in->maxDelay = delay; |
4971 | in->errorFunc = errorFunc; |
4972 | + in->clearErrorFunc = clearErrorFunc; |
4973 | in->errorData = errorData; |
4974 | |
4975 | /* No initial result */ |
4976 | diff --git a/open-vm-tools/lib/sslDirect/sslDirect.c b/open-vm-tools/lib/sslDirect/sslDirect.c |
4977 | index 583e112..774fb50 100644 |
4978 | --- a/open-vm-tools/lib/sslDirect/sslDirect.c |
4979 | +++ b/open-vm-tools/lib/sslDirect/sslDirect.c |
4980 | @@ -810,9 +810,63 @@ SSL_TryCompleteAccept(SSLSock ssl) // IN |
4981 | * |
4982 | * For the VMware Product Security Policy approved ciphers, see |
4983 | * https://wiki.eng.vmware.com/VSECR/vSDL/PSP/PSPRequirements#.C2.A0.C2.A0.5B3.3.E2.80.93M.5D_TLS_Cipher-Suites |
4984 | + * |
4985 | + * This list is tweaked to sort by GCM instead of by key size, as GCM adds |
4986 | + * much more value than a large AES key. |
4987 | */ |
4988 | #define SSL_CIPHER_LIST \ |
4989 | - "!aNULL:kECDH+AES:ECDH+AES:RSA+AES:@STRENGTH" |
4990 | + "!aNULL:kECDH+AESGCM:ECDH+AESGCM:RSA+AESGCM:kECDH+AES:ECDH+AES:RSA+AES" |
4991 | + |
4992 | + |
4993 | +/* |
4994 | + *----------------------------------------------------------------------------- |
4995 | + * |
4996 | + * SSLGetDefaultProtocolFlags -- |
4997 | + * |
4998 | + * Configured default SSL_CTX options (protocol subset). |
4999 | + * |
5000 | + * Results: |
The diff has been truncated for viewing.
This looks like a vast merge due to the fact that this is actually an intentional MRE backport.
I filed the MP against bionic-devel to be correct, but while that is the content that is new to bionic it isn't really the content that is new to the Archive.
Instead for review please compare against pkg/import/ 2%10.3. 5-4 which is the current pkg/ubuntu/ disco-devel
PPA is available at [1] and testing will mostly be done by VMWare as usually.
[1]: https:/ /launchpad. net/~ci- train-ppa- service/ +archive/ ubuntu/ 3617