2015.03.12  Douglas Souders  <dsouders@vmware.com> 

Major areas of change in this release are:

	* vgauth added

	* deploypkg added

	* guest proxycerttool added

	* hgfs and vmci/vsock fixes

	* asyncsocket enhancements

	* library fixes and improvements

	* locking and logging fixes and improvements

	* foundry fixes

	* vm-support script fixes

Detailed list of changes:

	* Security enhancements in support scripts for Tools.
	  
	  Using predictable temporary filenames is a security hole
	  that attackers can exploit.  Avoid using temp files in
	  this case. Also make vm-support temp files unreadable
	  by other users and clean up in case of premature
	  termination of the script.
	  
	* Add SIGABRT handling in support scripts.

	* File_GetUniqueFileSystemID(): return /vmfs/devices for DEVFS
	  
	  Calling File_GetUniqueFileSystemID() to get the fsid for 
	  "/vmfs/devices/deltadisks/666d6bd4-xp-000001-delta.vmdk"
	  returned NULL, which caused problems in VmxAIOMgrReopen().

	* Promote CACHELINE_SIZE definition to vm_basic_defs.h
	  
	  Delete redundant definitions as well, and improve the
	  comment.
	  
	* AsyncSocket: Make dual stack listener work properly with AsyncSocket_WaitForConnection
	  
	  Dual stack listener sockets now use a master AsyncSocket
	  structure to hold both active socket listener structures. 
	  This works well with the recv on callback because the
	  master struct is not used for the accept.  In the case of
	  AsyncSocket_WaitForConnection for listener sockets, we
	  pass the master AsyncSocket listener structure to the
	  function and AsyncSocketPoll had no idea what to do with
	  it.  Add the logic needed to AsyncSocketPoll that would
	  allow listening on two socket file descriptors if
	  available. 
	  
	  There are other users of AsyncSocketPoll. A few that are
	  not used for listners and others are not ready to handle
	  dual-stack listeners, give the later an assert on dual
	  stack listeners.
	  
	  For now we favor IPv4 over IPv6 in AsyncSocket, but
	  AsyncSocketPoll will favor the opposite because it is only
	  selected in a race condition with two fd's returning
	  poll events with no performance impact.

	* AsyncSocket: Provide correct error when we fail to create dual stack listener
	  
	  We had a assumption in AsyncSocketListenerCreate that
	  accounted for address not resolving, but not for a actual
	  failure after dual stack resolve. Clean up those
	  assumptions and fail properly. It is still a bit messy
	  since if we have two failures for each socket, we only get
	  one of them, lets hope that the failure never differ. Add
	  better logging to the failure paths to cover this issue
	  possible	error mismatch and to better triage this error
	  path in all builds. 
	  
	* Fix memory access after being freed in function
	  File_GetUniqueFileSystemID() in filePosix.c
	  
	* Add some debug logs to RPCs received in guest.
	  
	  In order to debug RPC failure on TCLO commands, add
	  verbose RPC handling logs from guest.
	  
	* GOS table: add asianux5-64, debian8 and debian8-64
	  
	* Ensure statically assigned IPs and prefix lengths are retrievable from GuestInfo when nic is in disconnected state
	  
	  SRM needs to see the statically assigned IP and
	  prefix/subnetMask info for disconnected nics on Windows
	  OS's starting with XPSP3.

	  1. Vista and later return this info, but we were not using
	  the OnLinkPrefixLength field to get it. Now we do.

	  2. For XP and Win2K3, we fall back to registry as those
	  OS's wont report NIC IP info in a disconnected state. We
	  only report IPv4 static assignments, and we don't bother
	  reporting the auto-assign addresses.

	  3. Also fix a bug in the domain name SearchList logic -
	  a disconnected Nic will cause empty IPs to be reported,
	  which thwarted the existing registry crawl in the
	  disconnected nic state.

	* GOS Table: add support for Mac OS X 10.10 (a.k.a. Darwin 14)
	  
	* Util_IsFileDescriptorOpen is incorrect
	  
	  The errno usage here is incorrect.  Check for
	  success or	failure on a system call properly to use errno.
	  
	* GOS table: add Windows 9 support
	  
	* Keep memset from being optimized out of Util_Zero.
	  
	* Add overflow protection to Base64_Encode
	  
	* Restrict VIX commands during quiesced snapshot operation.
	  
	  Most of the VIX commands require access to the guest
	  filesystem and therefore they could block when quiesced
	  snapshot operation has frozen the guest filesystem. A
	  blocked VIX command would not allow Tools service to
	  process other important ops like resuming filesystem
	  because Tools service is single threaded. Effectively,
	  a VIX	command could deadlock the quiesce snapshot
	  operation.
	  
	  A quiesce snapshot operation that follows a long running
	  VIX command like runprogram/startprogram is not an issue
	  because the running VIX commands gets blocked temporarily
	  only when it needs to access the filesystem, otherwise
	  it continues to run like any other application inside
	  guest. Main idea to have Tools service responsive to
	  TCLO messages.
	  
	  Return a generic error VIX_E_OBJECT_IS_BUSY to make the
	  clients retry the command in a graceful manner.
	  
	* Defer the RunScript cleanup when VIX commands are restricted.
	  
	  RunScriptInGuest command has a poll callback that checks
	  if script execution is done and perform script cleanup.
	  This callback may get fired when quiesced snapshot
	  operation has frozen the guest filesystem. We need to
	  defer the cleanup in that situation.

	* fix test
	  
	  fix an XML parser issue from IOActive pentest team.
	  also add a test for billion laughs, and a test to make it
	  easy to try out SAML tokens from a text file.
	  
	* Add a check for NULL RPC channel.
	  
	  In the cases when backdoor channel is not available,
	  vmtoolsd exits early and might not have RPC channel
	  to send the shutdown notification. This is possible
	  in at least two scenarios, open-vm-tools running on
	  physical machine and VM having backdoor disabled with
	  'monitor_control.restrict_backdoor = "TRUE"'.
	  
	* VIX plugin under vmusr should not register for TOOLS_CORE_SIG_IO_FREEZE.
	  
	  TOOLS_CORE_SIG_IO_FREEZE signal is provided by vmbackup
	  plugin which is not loaded by vmusr service. Therefore,
	  VIX plugin does not need to register handler for this
	  signal in case of vmusr service.
	  
	  Also cleaned up the code that was removing SyncDriver
	  related RPC handlers from a static array in an unsafe
	  manner.

	* AsyncSocket: Add sockaddr, INET listener port, and INET listener address get functions to replace the usage of AsyncSocket_GetFd .
	  
	  Dual stack listening socket structures are packed into the
	  existing async socket	structure when creating a asyncsocket
	  listener (if not dual stack because an address is passed,
	  still pack the listener into its address families listener
	  structure).  Let the parent socket default since it is
	  just a container for two listener socket that will use
	  their respective structures when a connection is made.
 	The parent always has a -1 fd set. This creates a issue
	  when getting the fd for the listeners just created. 
	  
	  All of the users of AsyncSocket_GetFd with the INET
	  listener AsyncSocket structure file descriptor are then
	  getting either the port or the ip address or both to log
	  or pass onto another consumer.  Create convenience
	  functions to gather these fields from dual-stack listeners
	  or when needed or from any AsyncSocket that has	a non -1
	  fd.  Create a AsyncSocketGetAddr to provide the sockaddr
	  for the AsyncSocket structure, either by requesting the
	  address family or UNSPEC if any sockaddr will do.  Share
	  the new AsyncSocketGetAddr with both the _GetINETIPStr
	  (again requesting the address family or UNSPEC if any
	  address will do) and _GetPort where the first port found
	  is returned (should always be the same).
	  
	  _GetPort also shares the existing AsyncSocketGetPort, it
	  was providing network byte order (which is why it was
	  logging a different number than requested in
	  AsyncSocketBind), change it to return host byte order for
	  INET address families.
	  
	  With "localhost" listener requests, dual stack listeners
	  were not being created.  This is also fixed. 

	* Add IPv6 support for ESX vmtoolsd
	  
	* Fix warnings in bitvector and lib/misc.
	  
	  Fix several warnings from msvc12 / Visual Studio 2013 /
	  SDK v8.1: 
	  
	  * an unused variable warning in bitvector.
	  
	  * some deprecation warnings in bora/lib/misc

	* lib/lock: MXUser Semaphore active usage count tracking may fail
	  
	  Most MXUser routines have an active usage count which is
	  incremented at the top of the routine and decremented at
	  the bottom. This will catch a destroy while code is "in"
	  one of the MXUser routines (e.g. one thread is asleep in a
	  down while another does a destroy).
	  
	  In the case of semaphore up, little time is spent in the
	  routine and the decrement at the bottom may not be reached
	  before another thread comes out of down and, now there is
	  no more activity, does a destroy.
	  
	  The simplest fix is to not use the accounting in up.
	  
	* Hgfs Server: Fix unpacking of protocol header unused fields
	  
	  The Hgfs server currently asserts on unpacking of the new
	  header of a received protocol request that the flags are
	  zero (unused) or set to some valid (understood) values.
	  Unfortunately, it was discovered that an older shipping
	  client failed to zero out the header's unused fields for
	  destroy session requests. This also means that since all
	  of the reserved fields contained garbage they can't be
	  overridden to make them into a secondary flags.	The usage
	  of these fields can now only be guaranteed once we move
	  the header version to 2. Also all clients using the
	  version 2 of the header will be first vetted to ensure the
	  header is completely initialized for all requests that it
	  sends.
	  
	  Modify the unpacking of the protocol header to return zero
	  for fields that are not trusted in version	1.
	  

	* inititialize poll/workerLib unconditionally in diskTool/diskCreate, and add Poll_ForceWake
	  
	  FiltLib (iofilters) wants to use workerLib, and thus needs
	  poll. There was already code in diskTool to set this up,
	  but it was buried in the AIOMgr	test code. Drag that up to
	  the top and also duplicate it for diskCreate.
	  
	  One problem came up: After setting the Poll_Loop exit
	  boolean and waiting on a poll thread to end, it may be
	  waiting for up to MAX_SLEEP_TIME, which is set to 1
	  second. It's not acceptable to take that hit on every
	  invocation	of diskTool/diskCreate.  We could call
	  Poll_LoopTimeout() with a smaller timeout, but that would
	  unnecessarily waste CPU time while still adding
	  some exit delay. VMX already has a function 
	  Poll_NotifyChange to force the VMX poll implementation to
	  wake its thread, so generalize that API so any poll
	  implementation can provide its own version.

	* AsyncSocket: Reuse port number when port requested is 0 for localhost address.
	  
	  Currently with localhost listener requests where the
	  system is providing an available port, we are getting a
	  different port for each protocol family if more than one
	  is supported. To fix this reuse the first port bound to. 
	  
	  Fix a issue where the port assigned for IPv6 socket was in
	  use for IPv4, to solve this attempt another bind but grab
	  the port from IPv4 first and try to use that for IPv6.
	  
	  Update AsyncSocket_GetPort to return any port, since there
	  is no longer a case that there should be more than one
	  that differs.
	  
	  While refactoring, only use dual stack listener socket
	  when dual stack	listeners are set up. 

	* Validate the input when deserializing a string in the DataMap module.
	  
	* Asyncsocket: use int instead of short for port. 
	  
	  MAX_UINT32 is used for bad port, but some functions pass a
	  port using unsigned short. Update all usage of port from
	  unsigned short to unsigned int. 
	  
	* Fix a recent error code patchup was too aggressive and
	  returned the system error when a createDirectory failed
	  due to the directory already existing.
	  
	* Fix possible missing NUL term.
	  
	  It was possible that a cert subject name could hit a
	  buffer limit and not be NUL terminated.
	  
	* Improve alias parsing to prevent leaks/DoS attacks.
	  
	  Catch bad XML that can cause memory leakage.
	  
	* Fix security bug.
	  
	  HashMap_Put needed to return a result so that the caller
	  can take the appropriate actions when the operation fails.
	  The internal resize() call could fail from being out of
	  memory.

	* Fix security bug.
	  
	  Use unsigned type for lengths, counts, and offsets.
	  Otherwise the values could go negative if a very large
	  unsigned value is passed.

	* Foundry: Shift functions used in Vigor and hostd to open source
	  
	  A few functions were moved to the open source portion of
	  Foundry so that Vigor and hostd can use them without the
	  burden of full Foundry.
	  
	* Match g_malloc with g_free.
	  
	  Fix some prototype code has a malloc/free mismatch.
	  
	* Fix security bugs.
	  
	  There are a number of integer overflows in the function
	  DataMap_Serialize().
	  
	  Add checks and and return proper error codes.
	  
	  Also fix a number of places where an unsigned value should
	  be used for length.
	  
	* Use a TOCTOU safe file read for alias files.
	  
	  Do some extra sanity checking when loading an alias or map
	  file.
	  
	  Also prevent these files for being too large to prevent
	  DoS attacks.
	  

	* Fix an issue with fsType == "nfs4" being compared with gRemoteFSType[i] == "nfs".
	    
	* Improve req parsing checks.
	  
	  Improve the request parser to prevent attacks using bogus
	  request data.  Ending requests with duplicate strings
	  could have caused leakage.
	  
	* Add support for XFS (default FS used by RHEL 7).
	  
	  RHEL 7 uses XFS as the default FS instead of ext4.
	  Added the required definition in libwiper to make
	  XFS as supported type.
	  
	* GOS Table: add coreOS
	  
	  coreOS is a containerized, secure Linux.
	  
	* Make Adminstrators group check handle locale issues.
	  
	  Rather than use the 'Administrators' group name directly,
	  look it up by SID and pass that value to
	  NetLocalGroupGetMembers()
	  
	* Add support for BTRFS (default FS used by SLES 12).
	  
	  SLES 12 uses BTRFS as the default FS instead of ext3.
	  Added the required definition in libwiper to make
	  BTRFS as supported type.
	  
	* Enhance the network script to use systemctl for network start and stop.
	  
	  For linux distributions using systemd to replace legacy
	  system V startup scripts, extend the current network
	  script with systemctl to bring up or shut down network
	  interfaces.
	  
	* Enhance the Solaris network script to handle interface DHCP interaction.
	  
	  When network interfaces are under DHCP agent control,
	  ignore the	error returned from our manual DHCP start
	  operation, which tries to bring	the interfaces back to
	  operation.
	  
	* guest perf stats: crossport the new perf stats method
	  
	  Bring over the guest perf stats code and the Linux
	  implementation. The Linux data collection was updated to
	  include new data and simplify the code.
	  
	* guest perf stats: Deal with attacks and log spew
	  
	  Log problem issues below the default log level.

	* Fix build of open vm tools on Fedora 20
	  
	  rpcgen generates an extraneous local "register int32_t
	  *buf;" that results in a warning, strip it out.
	  
	  __secure_getenv() is not found, use getauxval() when it
	  is available.

	* Add short descriptions for the new guest counters.
	  
	* Update the compat check for svmotion.
	  
	* AsyncSocket: validate that port number requested is within expected range.
	  
	* Route VmkCtl_Log* to bora/lib/public/log.h instead of syslog.
	  
	* MX_Lock should not use HLE on unpatched Haswell systems
	  
	  This changeset backs out previous changes to enable the
	  use of transactional memory on MX_Locks via HLE prefixes.
	  This is for the safety of all the released Haswell systems
	  that don't pick-up the microcode patch to disable TSX.
	  See Intel Haswell errata HSW136
	  
	* AsyncSocketResolveAddr should not read past what GetAddrInfo returns
	  
	  Use memcpy so we do not consume anything more.
	   
	* Fix bug in PEM cert cleanup.
	  
	  Openssl insists on seeing a header and footer on a PEM
	  cert.  Fix a bug in the code to add the header and footer
	  had a bug where an extra newline got added if the last
	  line of the cert was 64 chars.

	* The guest proxy self signed cert was not generated
	  correctly and caused	AMQP SSL hand shake to fail on the
	  guest side.
	  
	  Corrected the configuration settings in the
	  guestproxy-ssl.conf file.
	  
	* Bump up ovftool to 4.1.0
	  
	* Log errors in RandomBytesWin32.
	  
	* Vmtools will panic if channel is NULL.

	  Fix for RpcOut_send wrongly transferring a NULL pointer to
	  a lower function.

	* authPosix: use getspent when using shadow password, but not PAM
	  
	* Disable NullDriver backend only for forceQuiece case.
	  
	  In order to limit the impact of new behavior disable the
	  NullDriver backend only for forceQuiesce=TRUE cases which
	  are limited to HBR and VADP use cases.
	  
	* Create the support dir under /tmp instead of CWD.
	  
	  Using CWD could be unsafe because it might not have its
	  sticky bit set.  /tmp has the sticky bit set that allows
	  delete and rename operations on a dirent to the root and
	  the owner only.

	* Remove shutdown notification from Tools.
	  
	  We added shutdown notification in Tools to inform VMX
	  about Tools service shutting down. Shutdown notification
	  is not needed because VMX knows when guest closed the
	  channel.

	* Fix open vm tools build in Fedora.
	  
	  Some compilers issue a warning on the unused local.

	* Bump the tools version for vSphere 2015 release.
	  
	  Change the vSphere 2015 tools version to 9.10.0.
	  
	* Allow the network script to bring each individual interface up/down.
	  
	  Enhance the fallback solution when NetworkManager is not
	  installed. Configure each individual interface to bring it
	  up or down such that virtual machine suspend/resume
	  operations can be successful.
	  
	* deployPkg plugin: make deployPkg.cpp build as C or C++
	  
	  To reduce dependencies on C++ libraries, the deployPkg
	  plugin for Linux should be built with C, not C++.
	  
	* add deployPkg files to open-vm-tools tarball
	  
	  Add files for the deployPkg plugin to the open-vm-tools
	  tarball.  Add the flag --without-deploypkg to the
	  configure script. When the plugin is configured to build,
	  the build envoronment will be checked for the presence of
	  libmspack.
	  
	* Hosted Windows 10 support
	  
	* Low level identification of Windows 10
	  
	* Implement networkBootProtocol config option.
	  
	  This change adds the "networkBootProtocol" configuration
	  option, used to choose the default network boot protocol
	  used by the VM.
	  
	* File_ListDirectory returns the contents of a directory. If
	  another apllication or thread affects the directory while
	  the directory listing is running it is possible for the
	  OS to physically rearrange the contents of the directory
	  such that a file already listed will be seen again.
	  
	  This affects POSIXen due to the way readdir works.
	  
	  The contract for File_ListDirectory is that the contents
	  are unique strings (the names of files) so the readdir
	  data must be checked for uniqueness. No form of data 	ordering is ensured.
	  
	* Tools: Create GuestInfo_GetPrimaryIP as a IPv6 compliant version of NetUtil_GetPrimaryIP.
	  
	  Guest info has "best" attempt functionality for gathering
	  the primary address of a VM. This functionality was not
	  converted to IPv6 even though most of nicInfo already was.
	  This change adds the IPv6 functionality that was lacking.
	  
	  
	* Add vgauth to open vm tools
	  
	* Add support for a -k flag.
	  
	  Add support for a -k flag to kill the official instance
	  of the service.  This is intended to be used from a
	  service shutdown script.
	  
	* open-vm-tools: vgauth needs to link with libdl
	   
	  When building on Ubuntu after calling autogen.sh -i, the
	  build fails unless -ldl is added to libvgauth_la_LIBADD.
	  This change adds -ldl to libvgauth_la_LIBADD the same way
	  it's added to libvmtools and vix.
	   
	* GOSTable: Windows 10 as a unique guest
	  
	* Plumbing to expose (whitelisted) vsi-based stats in guest
	  
	  Add the ability to collect statistical VM information fro
	  within a guest.
	   
	  The general mechanism is a new guestrpc command
	  "guestinfo.stat.get", which can be used in isolation to
	  fetch a list of stats that are supported. The command
	  takes arguments "encoding", "stat", and "param", e.g.:

	     guestinfo.stat.get
	     guestinfo.stat.get xml resources
	     guestinfo.stat.get json vscsi scsi0:0

	  Storage and network devices are indexed by storage device
	  name and ethernet address, as those are the only "names"
	  VSI exposes. The command will be enabled by default
	  (similar to GuestSDK). There are some host stats here;
	  those are default-off and require the same opt-in config
	  setting that GuestSDK requires.
	   
	  There are three interfaces:

	   - GuestSDK offers a new VMGuestLib_StatGet /
	  	VMGuestLib_StatFree set of functions
	   - "vmware-toolbox-cmd stat raw" can take parameters
	  	(e.g. "vmware-toolbox-cmd stat raw xml resources")
	   - vmtoolsd --cmd can take the RPC directly
	  	(e.g. 'vmtoolsd --cmd="guestlib.stat.get"')

	  Sample commands:
	  
	  $ vmware-toolbox-cmd stat raw
	  session 
	  host 
	  resources 
	  vscsi scsi0:0
	  vnet 00:0c:29:1e:23:f3
	   
	  $ vmware-toolbox-cmd stat raw text vscsi scsi0:0
	  num.reads = 12605
	  num.writes = 1039
	  size.reads = 533612032
	  size.writes = 14279680
	  latency.reads = 1944173239
	  latency.writes = 102025122

	  $ vmtoolsd --cmd="guestlib.stat.get"
	  session 
	  host 
	  resources 
	  vscsi scsi0:0
	  vnet 00:0c:29:1e:23:f3
	   
	  # Example showing invalid input
	  $ vmtoolsd --cmd="guestlib.stat.get foo"
	  session 
	  host 
	  resources 
	  vscsi scsi0:0
	  vnet 00:0c:29:1e:23:f3
	   
	  $ vmtoolsd --cmd="guestlib.stat.get text session" 
	  session = 4004861987670969122
	  uptime = 1036293956
	  version = VMware ESX 6.0.0 build-00000
	  provider = 
	  uuid.bios = 56 4d 2c 53 43 56 66 8e-7c 05 fd 7e 51 1e 23 f3
	  
	  $ vmtoolsd --cmd="guestlib.stat.get text host"
	  host.cpu.processorMHz = 2399
	  host.cpu.coresPerPkg = 4
	  host.cpu.packages = 2
	  host.cpu.cores = 8
	  host.cpu.threads = 16
	  host.dmi.product = ProLiant ML350 G6
	  host.dmi.vendor = HP
	   
	  $ vmtoolsd --cmd="guestlib.stat.get text resources"
	  vm.cpu.reserved = 4798
	  vm.cpu.limit = 11995
	  vm.cpu.used = 224057517
	  vm.cpu.contention.cpu = 65606184
	  vm.cpu.contention.mem = 1488848
	  vm.numa.local = 1837248
	  vm.numa.remote = 0
	  guest.mem.reserved = 204800
	  guest.mem.limit = 1536000
	  guest.mem.mapped = 1810144
	  guest.mem.consumed = 1521680
	  guest.mem.swapped = 3236
	  guest.mem.ballooned = 27104
	  guest.mem.swapIn = 3416
	  guest.mem.swapOut = 6588
	  ovhd.mem.swapped = 0
	  ovhd.mem.swapIn = 0
	  ovhd.mem.swapOut = 0
	   
	  $ vmtoolsd --cmd="guestlib.stat.get yaml vnet 00:0c:29:1e:23:f3"
	  ---
	  num.tx:
	      type: accumulate
	      units: packets
	      value: 209
	  size.tx:
	      type: accumulate
	      units: bytes
	      value: 38137
	  num.rx:
	      type: accumulate
	      units: packets
	      value: 10920
	  size.rx:
	      type: accumulate
	      units: bytes
	      value: 1312789
	  reservation:
	      type: static
	      units: MBps
	      value: 0
	  limit:
	      type: static
	      units: MBps
	      value: -1
	  ...
	   
	  $ vmtoolsd --cmd="guestlib.stat.get xml vnet 00:0c:29:1e:23:f3"
	  <metrics session="4004861987670969122"><metric name="num.tx" type="accumulate" units="packets">209</metric><metric name="size.tx" type="accumulate" units="bytes">38137</metric><metric name="num.rx" type="accumulate" units="packets">10992</metric><metric name="size.rx" type="accumulate" units="bytes">1322161</metric><metric name="reservation" type="static" units="MBps">0</metric><metric name="limit" type="static" units="MBps">-1</metric></metrics>
	   
	  $ vmtoolsd --cmd="guestlib.stat.get json vnet 00:0c:29:1e:23:f3"
	  {"num.tx":{"type":"accumulate","units":"packets","value":209},"size.tx":{"type":"accumulate","units":"bytes","value":38137},"num.rx":{"type":"accumulate","units":"packets","value":11068},"size.rx":{"type":"accumulate","units":"bytes","value":1331791},"reservation":{"type":"static","units":"MBps","value":0},"limit":{"type":"static","units":"MBps","value":-1}}
	   
Change 3155461 by okurth@okurth-home on 2014/11/18 16:24:31

	  open-vm-tools: define USE_SLASH_PROC when we have procps
	  
	  The presence of procps is detected correctly, but that
	  condition wasn't set as a C macro.
	   
Change 3179137 by aoney@aoney-vsphere-2015-w1 on 2014/11/25 10:53:00

	  Integrate vmxnet3 and pvscsi changes needed for Microsoft driver certification
	  
Change 3194013 by mbellon@mbellon-vsphere-2015-2 on 2014/12/02 13:21:23

	  Remove the message that we detected multiple threads.
	  
Change 3195369 by ravindrakumar@ravindrakumar-vsphere-2015-4 on 2014/12/03 00:08:58

	  Add grabbitmqProxy plugin to open-vm-tools.
	  
	  - Publish grabbitmqProxy plugin code as part of
	    open-vm-tools.
	  - Makefile changes for building grabbitmqProxy plugin
	    along with open-vm-tools build
	  - Added guestproxy-ssl.conf file to server cert
	    configuration
	  - grabbitmqProxy plugin has a dependency on AsyncSocket. 	   	  To solve this: 
	    1. Disable all websocket related interfaces that are not
	       used by Tools code at all (using #ifndef VMX86_TOOLS)
	       in Tools build
	    2. Add the required wrapper functions to sslDirect.c 		     without any locks because Toolsd is single threaded.
	    3. Since AsyncSocket depends on SSL wrapper, we have
	       to have two implementations: 
	       a) open-vm-tools without SSL dependency;
	          use sslStubs.c.
	       b) open-vm-tools with SSL dependency;
	  	   use sslDirect.c.
	  - Fixed a security related issue commented in the code to
	    listen only on "loopback" connections.
	  - Added a configuration switch to listen on "loopback"
	    vs open network port.
	  - Fixed a minor bug in the grabbitmqProxy plugin where it
	    will not cleanup the VMCI listener if it fails to create
	    Rmq listener.
	  
	* Reimplement guestproxycerttool.pl in C.
	  
	  Reimplement guestproxycerttool.pl in C to remove perl
	  dependency and use the OpenSSL functions directly to
	  manage public/private key pair and certificates.
	   
	* Update copyright year.
	  
	  GuestSDK 9.10.0 will be released in vSphere 2015. Need to
	  update copyright year wherever applicable to 2015.
	  
	* Add guestproxycerttool (C-implementation) to open-vm-tools and OSPs.
	  
	  In order to get rid of perl dependency from open-vm-tools,
	  add guestproxycerttool (C-implementation) to open-vm-tools
	  and remove guestproxycerttool.pl from the package.
	  
	  Remove guestproxycerttool.pl from VMware Tools.
	  
	  Add version information to guestproxycerttool.
	  
	  Remove duplicate perl code from the Tar installer and use
	  the guestproxycerttool (C-implementation) instead.
	  
	* Update copyright years for files released to open-vm-tools.
	  
	* Update localized messages for Tools.
	  
	* GuestSDK: remove vmtools.dll/so dependency
	  
	  Changes during the 2015 release added a vmtools.dll/so
	  dependency	to the GuestSDK runtime library
	  (vmGuestLib.dll / libvmGuestLib.so) we install as part of
	  Tools, which broke GuestSDK.  Instead, statically link
	  the various libraries.

	* vmkBoot should not depend on the vmkapi headers.
	  
	  vmkBoot depends on the VMKAPI headers, because it
	  indirectly includes vmkapi.h (via vmk_exports.h).
	  Except for vmkapi/base/vmkapi_status.h, which is
	  included via return_status.h, there is no good reason
	  for this dependency to exist.

	* Change glib logging in RpcChannel to use Debug/Warning/Panic.
	  
	  Change glib logging in RpcChannel to use Debug/Warning/Panic
	  so RpcChannel logging can be controlled by different logging
	  stubs in different applications(rpctool/vgauth/toolsd etc).
	  
	* Clean up HGFS server unpack file name V3 arguments
	  
	  The HGFS server unpack file name argument for V3 packets
	  generates coverity warnings as it stands. It is also just
	  plain dubious in its usage using the out argument even when
	  not initialized in the failure case.

	* Fix nested logging for VmxLogger with vsocket channel.
	  
	* Harden HostinfoOSData against $PATH attacks.
	  
	  We are doing a popen("lsb_release... ") when attempting to
	  determine host details in hostinfoPosix.c. Using popen
	  means	that $PATH is walked when looking for the lsb_release
	  binary, and that may give an attacker the ability to
	  run a malicious version of	lsb_release.
	   
	  This change does two things,
	  
	  a) Hard code the path to lsb_release.
	  
	  b) Stop running HostinfoGetCmdOutput with elevated
	     privileges.

	* Implement VMware Tools for ESXi 6.0 guests.
	  
	  This change provides limited VMware Tools support for ESXi
	  6.0 guests.  The powerOps and guestInfo plugins are
	  supported. Only IPv4 addresses are reported, since those
	  are the only ones we can get through the vmkuser library.
	  
	  VMware Tools for ESXi 6.0 are packed as two VIBs on a
	  single ISO image.  One VIB contains the glib libraries
	  that aremissing from the standard ESX distribution, and
	  the other VIB contains the tools themselves.
	  
	* Report correct OS name for ESXi guests
	  
	  Prior to this change, vi client would say that the Guest
	  OS was "Other (32 bit)" whenever Tools were running in an
	  ESXi guest. Now, the Guest OS is reported as "VMware ESXi
	  5.x."

	  Note that Tools do not run in ESXi 4.x guests, and we
	  don't have a new guest OS type for ESXi 6.0 guests.
	  
	* Get rid of ASSERT_ALWAYS_AVAILABLE
	  
	* Get rid of ASSERT_LENGTH.
	  
	* Move ASSERT_OR_IN_PANIC() from public/vm_assert.h
	  to vmkernel.
	  
	* Make lib/location product-agnostic
	  
	  This change unifies/simplifies the Location query API:
	  
	  Location_GetRoot(), Location_GetLibrary(),
	  Location_GetFrameworks() -> Location_Get(<string tag>)
	  Location_GetLibrary_Addr(), Location_GetFrameworks_Addr()
	  -> Location_Get_Addr()
	  
	  Then it allows each product to independently specify its
	  own <string tag> to <actual sub-path under the root dir>
	  mappings. Currently all products use the same mappings:
	     "rootDir"   -> ""
	     "libDir"    -> "/Contents/Library"
	     "sslLibDir" -> "/Contents/Frameworks" (only lib/ssl was
	  	calling Location_GetFrameworks, so now is a good time
	  	to use the tag "sslLibDir" instead of "frameworks")
	  
	* desktopEvents: Leave libICE rug firmly under libSM.
	  
	  While the libICE spec's section on error handling suggests
	  applications close libICE connections in response to I/O
	  errors, libSM (which sits atop libICE) continues to refer
	  to such deceased libICE connections, and doing so during
	  shutdown leads to an app crash.

	  To work around this, we'll detach the ICE connection from
	  our application event loop but leave its handle alone.
	   
	* Remove SLPv2
	  
	* Remove AsyncSocket_SendTo
	  
	* Update AsyncSocketResolveAddr to allow AF_UNSPEC and AF_INET6 ai_family.
	  
	  AsyncSocketResolveAddr currently only accepts searches for
	  AF_INET. Update it to search for AF_INET6 or both with
	  AF_UNSPEC. Since we no longer need to return sockaddr_in for
	  AsyncSocket_SendTo, only populate sockaddr. Also add a
	  convenient IP string generation after resolve so all callers
	  do not need to do the same operation tp log the IP string
	  with port number.
	  
	* Provide a kill-switch for using vsocket in RpcChannel.
	  
	  Adding "void RpcChannel_SetBackdoorOnly(void)" API to allow
	  to disable vsocket if needed.
	  
	* Create a socketFamily switch in AsyncSocket_Connect and AsyncSocket_ConnectWebSocket for future IPv6 integration.
	  
	  Allow for future use of AF_UNSPEC when a connection does not 	care if it is AF_INET or AF_INET6. Since AsyncSocket does
	  not fully support AF_INET6 yet and our AF_INET6 test bed is
	  not yet completed, hard code all callers to AF_INET. 
	  
	* AsyncSocket: Removed unused AsyncSocket_BindUDP.
	  
	* Remove libDir, it is no longer used.
	  
	* AsyncSocket: Update AsyncSocket_GetRemoteIPAddress for IPv6 support.
	  
	  AsyncSocket_GetRemoteIPAddress offered the return of the
	  IP in integer and string formats, none of the callers
	  cared for the integer return so remove it. Update name
	  appropriately AsyncSocket_GetRemoteIPAddress->
	  AsyncSocket_GetRemoteIPStr. AsyncSocket_GetRemoteIPAddress
	  only supported the returning of a IPv4 string, utilize
	  Posix_GetNameInfo that uses getnameinfo which is IPv6
	  compliant.
	  
	* Remove NR_MPNS_PER_PAGE
	  
	* Make FileIO_AtomicUpdate fail gracefully when File_FullPath fails.
	  
	  Tolerate the underlying getcwd() failure and return an
	  error.
	  
	* Merge atomic FetchAndAdd64 with ReadAdd64.
	  
	  The Atomic_FetchAndAdd64 and Atomic_ReadAdd64 implement
	  the same interface: atomically increment a memory location
	  and return the old value. But the implementation differs:
	  
	  - ReadAdd64 uses lock;xadd whereas FetchAndAdd64 uses a
	    spin loop controlled by cmpxchg.
	  
	  - ReadAdd64 is available only for x86_64, whereas
	    FetchAndAdd64 is available for all architectures.
	  
	  This change combines the two in a single implementation
	  (as other functions in vm_atomic.h do): always use
	  lock;xadd on x86_64 architectures and fall back to the
	  spin loop on other architectures where this is not
	  available.
	  
	  Atomic_FetchAnd{Sub,Inc,Dec}64 are all implemented using
	  Atomic_FetchAndAdd64.
	  
	  Atomic_ReadAdd64 is now an alias for Atomic_FetchAndAdd64
	  (and similar for Sub, Inc, and Dec).
	  
	* Rename Atomic_FetchAdd
	  
	  Atomic_FetchAnd<Op> and Atomic_Read<Op> are aliases. The
	  current code uses a mixture of these. Let's agree on a
	  name and remove the alias. I propose using Atomic_Read<Op>
	  because some other interfaces (vmkapi and vmacore) use
	  this terminology. 

	  
	* AsyncSocket: Remove UDP socket support.
	  
	  UDP sockets are unused in the asyncsocket library.
	  Remove them. 

	* Introduce Id_IsSetUGid for detecting setuid/setgid binaries.
	  
	  There is a security issue in the way SSL_Init loads the
	  libss and libcrypto libraries: it first looks for libssl
	  and libcrypto in the directory where the calling binary
	  resides before moving on to check the configured install
	  directory. If the app	that calls SSL_Init is setuid or
	  setgid then an attacker can use this to raise privleges.
	  
	  The SSL_Init load library behavior is acceptable as long
	  as the app isn't setuid/setgid. This change adds a new
	  helper function that attempts determine if the calling app
	  is setuid/setgid.
	  
	* Update Workstation and Player version numbers.
	  
	* Integrate all VIX changes from Workstation to vmcore-main.
	  
	  Last week, a new version of VIX 1.13.0 was released.
	  Integrate the VIX changes from it.
	  
	  Update the vixWrapper config files for VIX 1.13.0
	  
	  Update the OSL file for VIX 1.13.0 GA
	  
 	Expand the product matrix for ESX 5.5
	  
	  Installer changes for VIX 1.13.0
	  
	  Bump up the version numbers for VIX 1.13.0
	  
	  Expand the product matrix for WS 10, WS-shared 10, and
	  Fusion 6.0
	  
	* Rename Atomic_FetchAnd*

	  This change converts the remaining uses of Atomic_FetchAnd*.
	  
	* Cache Tools conf path.
	  
	  Tools conf path is not going to change when Tools service
	  is running. Caching it in memory helps us avoid multiple
	  calls to registry as well as multiple attempts to create
	  same path that lead to log spew.
	  
	  Also added a check to not create the path if it already
	  exists.
	  
	  After this change, vmtoolsd will not recreate the confPath
	  if it gets deleted by someone. Only restarting the service
	  will create it again. This makes the behavior somewhat
	  similar to non-Windows platforms where we never create it.
	  
	* No more Atomic_Fetch.
	  
	  This removes the Atomic_FetchAnd<op> aliases from
	  vm_atomic.h. From now on, only the Atomic_Read<op>{32,64}
	  primitives are available.
	  
	  Also renamed the unfenced and lock variants using the
	  ReadAdd terminology.
	  
	* Add configuring of the Windows core dump flags for the tools service
	  
	  Currently the Windows tools service creates an exception
	  handler which will create a mini dump to foster debugging
	  of crashes in the field.  However, the mini dump only
	  creates a minimal memory file by default to ensure keeping
	  the dump size small. In specific situations some issues
	  would really benefit in creating larger memory dumps to
	  enable saving much process state information, such as heap
	  memory to enable better debugging.
	  
	  Thus it would be beneficial to allow a customer/user to
	  override the default mini dump settings to enable more
	  state information at the expense of disk space.
	  
	  The core dump flags settings can be viewed at:

	  http://msdn.microsoft.com/en-us/library/windows/desktop/ms680519(v=vs.85).aspx

	  It is expected that we can recommend that users set the
	  flags any required valid combination but mostly likely set
	  to 7 allowing a dump will full memory and handle data.
	  
	* Add surface logging to basicOps
	  
	  This change adds some basic surface logging to basicOps on
	  a loglevel.
	  
	* Id_IsSetUGid fails to compile on Android.
	  
	  glibc for Android doesn't have a __secure_getenv
	  or secure_getenv.

	* AsyncSocket: Update with sockaddr_storage in place of sockaddr/_in/_in6/_un/_vm throughout.
	  
	  Use sockaddr_storage as the container for sockaddr*
	  throughout asyncsocket.
	  
	  Update the rest of the Connect functions and callers.
	  Those calling AsyncSocket_ConnectIPStr can call
	  AsyncSocket_Connect directly now. AsyncSocket_ConnectIP is
	  left unchanged since it only accepts uint32 for ip, and
	  with a switch to IPv6 you should be moving from host byte
	  order conversions to hostname/ip string conversions. After
	  all the callers of AsyncSocket_ConnectIP are updated for
	  IPv6 support, we can remove this function.
	  
	  AsyncSocketBind needed to enable IPV6_V6ONLY if available,
	  if not avaiable we still allow the socket creation but log
	  a warning for later debugging with failed remote
	  connections.

	  One issue found was in linux, some distros may allow
	  IPv4-mapped IPv6 addresses without IPV6_V6ONLY being
	  available. For this special linux case added a
	  IN6_IS_ADDR_V4MAPPED validation into 	syncSocketAcceptInternal if IN6_IS_ADDR_V4MAPPED is
	  defined (define it for Linux only if it is not defined),
	  and in this case do not silently post a warning and
	  continue running, close the fd which ends the handshake
	  with the remote connection and return an error. For
	  Windows, only do these checks of Vista and later, prior to
	  Vista Windows did not support V4MAPPED.
	  
	  AsyncSocketResolveAddr needed changes to be used for
	  AsyncSocket_ListenAny. 
	  
	  Update all Listen functions and callers. Since all of the
	  callers of AsyncSocket_ListenIP were passing either *_ANY
	  or a Loopback address, create AsyncSocket_ListenAny and
	  AsyncSocket_ListenLoopback. Replace
	  AsyncSocket_ListenIPStr with AsyncSocket_ListenAddrStr
	  since it can now take either hostname or ip in string. All
	  listeners now use a single function to init/bind/listen.
	  
	  For now all callers are hard coded to IPv4.
	  
	* Save registers earlier during Panic.
	  
	  When setting up the arguments for a Panic() message, gcc
	  may discard useful registers thinking that they're no
	  longer necessary.
	   
	* Prepare the HGFS Windows client to use VMCI transport header version 2
	  
	  Prepare the Windows client for using either the V1 VMCI
	  transport header or the new V2 VMCI transport header and
	  fail over to version 1 if the V2 is not supported by a
	  server.

	* Get Mac OS system version from (Server|System)Version.plist
	  
	  During Fusion UI's startup, the main thread was blocked in
	  Hostinfo_GetOSName() during LogInitEx(). On a cold boot,
	  this could take as up to 7 seconds.

	  The system version info always comes from the
	  SystemVersion.plist or ServerVersion.plist file, so it's
	  better to just parse those.

	* Introduce VERIFY and VERIFY_BUG
	  
	* Create new V2 of VMCI transport header
	  
	  The new version of the transport header should be able to
	  be used for both directions of packets - client to server
	  and server to client. Currently, this is not the case with
	  V1 versions have two different headers for each direction
	  and almost being identical but not enough information
	  contained in either to allow for merging. Also, there was
	  no room made for expanding the V1 headers to include the
	  necessary additional fields. Hence, the need for V2.
	  
	* Add NORETURN to VERIFY_BUG, similar to ASSERT_NOT_IMPLEMENTED_BUG().
	  
	  
	* VERIFY should use _ASSERT_PANIC_NORETURN
	  
	  This minimal change modifies VERIFY to use a "no return"
	  attribute similar to how VERIFY_BUG works.
	  
	* Notify VMX when Toolsd is going down
	  
	  In the cases when guest is being rebooted manually or
	  Toolsd service has been stopped manually, we notify
	  VMX about the service going down. So that, VMX could
	  publish this information to hostd or any clients that
	  care about Tools heartbeat.
	  
	  This change covers only Toolsd (guest) side changes,
	  VMX and hostd changes will follow.

	* Add /proc/interrupts and /proc/irq/* to vm-support
	  
	  Add /proc/interrupts and /proc/irq/* to vm-support for
	  debugging need.  Also add /etc/modprobe.conf and 	/etc/modprobe.d/* for newer linux kernels.

	* lib/asyncsocket: add a low-latency mode for sends
	  
	  Avoid the round-trip through Poll when the owner of the 
	  socket indicates it is prepared for the possibility of
	  callbacks being invoked immediately.
	  
	* Remove HGFS from FreeBSD builds and packaging
	  
	  HGFS did not officially support FreeBSD as a guest but it
	  shipped as part of the open-vm-tools and as such needed to 	be kept up to date.  Remove it.
	  
	* MSG: Skip errno localization on unknown platforms.
	  
	  We implicitly attempt to localize system error strings
	  that are passed to a MSG format by storing the error code
	  and a platform type. A client can look at the error code
	  and generate its own error string based on the current 	encoding... at least that's the intent; this isn't
	  robustly implemented on all hosted platforms and it's not
	  (really) used on ESX.
	  
	  When the "platform" is not Windows, Linux or OS X the code
	  hits an ASSERT_NOT_IMPLEMENTED. That's not good because
	  the library is used in Tools.
	  
	  The easiest way to address this bug is to not panic when
	  the platform is unknown. Just skip MSGFMT_ARG_ERRNO in
	  that case.
	  
	* Replace CPU_MemBarrier with Atomic_MFence
	  
	  CPU_MemBarrier currently uses 'mfence' for INTEL and
	  Atomic_MFence for others. As the comments indicate, it was
	  felt at the time that 'mfence' is faster than
	  Atomic_MFence on intel based systems. However, this does
	  not seem to be true any more.
	  
	* Eliminate ASSERT_BUG_DEBUGONLY()
	  Also remove a couple of ASSERT_BUG() uses.
	  
	* Get rid of NOT_REACHED_BUG.
	  
	  This macro was minimally used.

	* Small vm_assert.h simplifcation for the vmkernel.
	  
	  The NOT_IMPLEMENTED and NOT_REACHED definitions in
	  vm_assert.h for the vmkernel contained a VMX86_DEBUG
	  clause that didn't do anything.

	* Change shutdown notification RPC failure message to debug.
	  
	  VMX could be too old to understand shutdown notification
	  message. Therefore, it is better to log the failure as a
	  debug message instead of warning.
	  
	* Convert all remaining uses of ASSERT_BUG into something else

	* Cleanup ASSERTs in asyncsocket, backdoor, http, hashMap and misc
	  
	  Some cleanup of ASSERT_NOT_IMPLEMENTED() and
	  ASSERT_MEM_ALLOC() in various locations.
	  
	* Eliminate some "legacy IPC baggage".
	  
	  IPC is gone, so the dummy arg to Config_Write can go, too.
	  
	* Fix tools_obj_linux64 build (license file mismatch)
	  
	  The copyrights were updated as part of the ASSERT fixup,
	  but the fix negelected to change the corresponding license
	  files.  This broke the license parser. Fix the license
	  files.
	  
	* ASSERT_* conversion in namespaceDb, poll* and vigor*
	  
	  Remove usage of ASSERT_NOT_IMPLEMENTED and ASSERT_MEM_ALLOC.
	  
	* Convert the HGFS uses of ASSERT_DEVEL into ASSERT or remove
	  
	* ASSERT_* conversion in lib/file, lib/thread and
	  lib/alloctrack.

	  The following changes we made:

	    ASSERT_NOT_IMPLEMENTED(x)     -> VERIFY(x)
	    ASSERT_NOT_IMPLEMENTED(FALSE) -> NOT_IMPLEMENTED()
	    ASSERT_NOT_IMPLEMENTED(0)     -> NOT_IMPLEMENTED()
	    ASSERT_NOT_IMPLEMENTED_BUG(x) -> VERIFY_BUG(x)
	    ASSERT_MEM_ALLOC(_x)          -> VERIFY(_x)
	  
	* Add arm64 support in vm_basic_{types,defs}.h
	  
	  This patch introduces support for 64-bit ARMv8 types
	  suitable for the aarch64 GNU toolchain.

	* Add an error function hook to PollDefault
	  
	  On a few occasions in the past, we have had customers
	  reporting that they hit one of the NOT_IMPLEMENTED in
	  pollDefault.  Those cases are all on Windows, and in the
	  cases that we have investigated fully, the problem comes
	  from some third party program/driver that interferes
	  with our ability to use a localhost socket.  PollDefault
	  cannot really function in such systems, but this change
	  provides a error function hook so that an application can
	  fail gracefully.
	  
	* Add arm64 support in vm_[basic_]asm.h
	  
	  64-bit ARM assembler macros and architecture definition.
	  
	* asyncWebSocket: improve rmks warning message when WebSocket connection fails due to bad SSL cert.
	  
	  Now returns ASOCKERR_CONNECTSSL instead of the generic
	  ASOCKERR_CONNECT.
	  
	* Add SIGABRT handling in support scripts.
	  
	* Skip freezing remote mounts
	   
	  Remote mounts aren't freezable. It's possible that opening
	  a remote mount may hang indefinitely, which can leave the
	  filesystem frozen.
	   
	* lib/file: Various fixes to FileIOP(read|write)vInternal and FileIO_(Readv|Writev).
	  
	  There were two issues in FileIOPreadvInternal and
	  FileIOPwritevInternal which could lead to VM crashes or
	  silent data corruption:
	  
	  * Incorrect condition to stop scanning the list of iovecs
	    which might have been processed.  We'd always overshoot by
	    one and then incorrectly conclude that the disk was full.
	  
	  * The 'offset' of the read/write was not being advanced for
	    completed iovecs, causing retries to perform their
	    operation on the same region as had successfully
	    completed.
	  
	  FileIO_Readv and FileIO_Writev also contained the first of
	  those issues.
	  
	* Start clean up of APIs used by the HGFS server library
	  
	  The change is the first in a series to make the HGFS
	  server use callbacks instead of hardcoding external APIs
	  within its library.  This first set is the
	  HgfsServerPolicy triple of callbacks that are used to
	  enumerate shares and until now have been hardcoded into
	  the HGFS server library.
	  
	  This will make the relocation of the library simpler and
	  more easily extended to other environments, such as View
	  Client.
	  
	* Clean up the HGFS server shares interface to the HGFS server part II
	  
	  Make the tools HGFS server build pass the share
	  enumeration callbacks down into the channel manager and on
	  to the HGFS server.

	* Ignore disk UUIDs from the paths to be frozen.
	  
	  disk.EnableUUID is usually set to FALSE by default for
	  Linux guests. However, if a VM has disk.EnableUUID set to
	  TRUE, VMX sends the disk UUIDs as the paths to freeze to
	  syncDriver. As we don't support quiescing specific disks,
	  we ignore the disk UUIDs.
	   
	* Revert an unnecessary initialization in ulRec.c.

	* Clean up the HGFS server use of the policy share enumeraton APIs
	  
	  This change moves the hardcoded copies of the HGFS server
	  policy APIs for enumerating shares into one place instead
	  of scattered throughout the server library.
	  
	  This will mean then they can be replaced by the
	  enumeration APIs passed in from the HGFS server manager
	  code.
	  
	* fix HostinfoGetOSShortName to support Debian 7.x
	  
	* remove unnecessary constraints for ABSOLUTELY_NOINLINE define
	  
	* More clean up the HGFS server manager, policy manager APIs
	  
	  This is to tidy up some of the APIs passed around and used
	  in the handling of shares between the UI and the HGFS
	  server itself.  Currently, the server manager initializes
	  the policy manager with callbacks directly into the HGFS
	  server itself and also into the HGFS channel manager.
	  
	  This change makes this more consistent by making the
	  policy manager use only the HGFS server manager. The HGFS
	  server manager then calls through the channel manager
	  which calls on to the HGFS server library. These calls are
	  then consistent with the other interfaces into the HGFS
	  server library.
	  
	  Furthermore, the change creates a new HGFS server callback
	  object which holds the session callbacks and the register
	  share entry point to the server library.
	  
	* AsyncSocket: Remove AsyncSocket_ConnectIP
	  
	* AsyncSocket: Allow listener sockets for IPv4 and IPv6 from the same requester asock struct
	  
	* lib/uuid: Add CreateRandomEFI, and cleanup
	  
	  This change allows lib/uuid to create random EFI GUIDs.
	  (Which is useful if you want to create disk and partition
	  GUIDs on a disk using a GPT partition scheme.) Also did
	  some cleanup.
	  
	  1) In uuid.h, declare all types before functions.
	  
	  2) Declare a new UUIDRFC4122 type and make
	  UUID_CreateRandomRFC4122V4 return that instead of a
	  string. Callers can trivially call UUID_ConvertToText if
	  they need a string.
	  
	  3) Fix UUID_CreateRandomRFC4122V4 so all the bits it
	  generates are truly random.
	  
	  4) Updated ConvertPackedToBin and GetHostId to use an
	  EFIGUID structure instead of hardcoding the offset of
	  structure fields and casting pointers..
	  
	  5) In UUID_ConvertToText, applied what the comment
	  suggested.
	  
	  6) In CreateRandomUnstylizedString, renamed the function:
	  what is generated is a binary buffer, not a string.
	  De-duplicated the comment about space and time.
	  Renamed and re-typed both parameters to match modern
	  conventions.
	  
	* Fix buffer overflow in perfMonLinux
	  
	* AsyncSocket: hostname/IP string connection functions should attempt both IPv4 and IPv6 connections.
	  
	  Now that we have dual socket listeners, would should
	  attempt connections on both IPv4 and IPv6 resolved
	  addresses. 
	  
	  For now we are attempting IPv4 first since there is a
	  possibility of a resolved address that we cannot actually
	  connect to. If this happens there can be a timeout on the
	  connection attempt. Making an assumption that a IPv6
	  adoption is low at this time, we will try to keep the
	  downtime unseen by most customers and attempt the most
	  used first. This timeout will only be noticed on a dual
	  stack client env with only a IPv6 listener env where the
	  server hostname some how resolves to IPv4 on the client.

	* lib/lock: lock tracking tree optimization
	  
	* Fast send on the asynNamedPipe if Write completes synchronously.
	  
	  In our asyncNamedPipe implementation, we submit data on
	  the pipe using WriteFile which can complete either
	  synchronously or asynchronously. In the case when write
	  completes synchronously, we register a real time poll
	  callback and write the next buffer only when the callback
	  has fired.  This can take a significant amount of time and
	  results in unnecessary head of the line blocking. This fix
	  changes this behavior and sends the next element in the
	  transmit buffer immediately if the current element was
	  sent synchronously. The current behavior is retained for
	  asynchronously completing I/O.
 
	* increase MAX_MPN to 38 bits
	  
	* lib/lock: wrapped MXUser locks should have proper names
	  
	* finish conversion of invalid_mpn64 and max_mpn64
	  
	  This is the last change that drops 64 from invalid_mpn64
	  and max_mpn64 names and removes definitions from
	  vm_basic_types.h
	   
	* Change Mul64x3264 family of functions to round instead of truncating

	  Converting between units should round to the nearest
	  integral value of the target units.  Formerly it
	  truncated, so converting back and forth, even for small
	  values, would often result in a smaller value each time,
	  depending on the exact conversion factor and value being
	  converted.
	   
	  Updated UserTimeTSToUS to work with the new behavior
	  instead of doing its own rounding.
	  
	* Update descriptions for Windows 8 and Server 2012 product names.
	  
	  Added all known Windows product names.
	  
	* Tools L10n checkin of updated/missing localized files
	  
	* Checkin localized files for vmware tools

	* Use UTF-8 encoding for filenames returned by File_ListDirectory
	  
	  Some of the functions in lib/file were incorrectly
	  assuming filenames returned by File_ListDirectory were
	  using default encoding. This worked fine on Linux/Mac, but
	  on Windows the code assumed the strings were encoded in
	  Windows 1252.
	  
	* Add ProductState_GetBundleIdentifier 
	  

	* Bump VIX version to 1.14.
	  
	* Vigor: publish the vmSupportStatus information
	  
	  The status of vm-support tool running in the guest needs
	  to be published in Vigor.
	  
	* Support Linux Quiescing for vSphere Replication
	  
	  Currently, vSphere Replication only supports quiescing on
	  Windows platform. This patch adds support for quiescing on
	  Linux platform. 

	  Now, if the VM is running Linux Guest OS, HBR would
	  support File System Quiescing.

	  In tools : If VM is running Linux Guest OS, we would only
	  allow SyncDriver quiescing.
	  
	* Introduced a new file API to check if directory is
	  empty: File_IsVmfsEmptyDirectory

	* Fix AsyncSocket reference leak when using IVmdbPoll
	  
	* make superuser check case-insensitive
	  
	  the code that checks a Windows user to see if its in the
	  Administrator group doesn't do a case-insensitive
	  comparison, so user 'administrator' wasn't properly
	  considered part of the group.
	  
	* Fix a debug statement to avoid compiler change issues.
	  
	  A compiler upgrade caused it to try to use some newish
	  formating code from GLIBCXX_3.4.9, which doesn't exist
	  on some slightly old distros (like my RHEL 5.6 dev box).
	  Rewrite to avoid this.
	  

	* Make a LogonUser variant that supports interactiveLogon flag
	  
	  In order for an access token to easily work with the
	  user's desktop, add the logon sessions's SID to
	  the token.  For a name/password logon, this requires
	  rewriting LogonUser() as an LsaLogonUser() implementation
	  that allows additional SIDs at token creation.
	  
	  
	* lib/lock: drop backward compatibility
	  

	* Add RpcChannel_Free API to free RpcChannel send results.
	  
	* The Log Facility should not be involved with core dumps.

	  Make the core dump code use File_Rotate directly.
	  
	* There is only one use of Log_RemoveFile and it is easily
	  rewritten to avoid its use. Log_SetAlwaysKeep is an
	  interlock for Log_Remove.
	  
	  The Log_SetAlwaysKeep is unnecessary as the Log Facility
	  will never remove a log file. With Log_RemoveFile gone
	  there is no need for Log_SetAlwaysKeep too.
	  
	* lib/log: Log_CopyFile can go
	  
	  There are no uses anymore.
	  
	* [VDDK] Expose errors in addition to VixError translation in VixDiskLibVim.
	  
	  Make original errors, which VixDiskLibVim runs into,
	  available to VixDiskLib.  VixDiskLib is updated to log the
	  base VixError with original error & its type stripped off.
	  VixDiskLibVim extracts VIM fault information and passes it
	  to VixDiskLib as a string, along with the base VixError.
	  
	* lib/log: an overhaul
	  
	  Over the years the Log Facility has become complex.
	  Fix this.

	* lib/log: Log_InitWith routines should return "LogOutput *"
	  
	* lib/log: syslog should have a helper function
	  
	  The syslog output should have a simple helper function,
	  just like the other outputs. Use the helper function.
	  
	* lib/file: File_GetParent doesn't work on a directory
	  
	  The routine documentation subtly states that it was
	  designed for files. Regardless, let's make this work with
	  no surprises.
	  
	* lib/log: Another refactor
	  
	  Now that we have Log_InitWithSyslogSimple, remove the
	  remaining places that really don't need to deal with the
	  complexities of initialization.
	  
	* lib/log: Handle product state information easier

	  The Log Facility is not a product, as such it should not
	  have direct dependencies on the ProductState library.
	  None-the-less we want to make registering the ProductState
	  information with the Log Facility easy.
	  
	  Use inline wrapper functions to provide the information. 
	  
	* fix bogus glib usage causing whines
	  
	  ReloadConfig gets called from all over, and at init time
	  things aren't fully set up.  glib gets mad if you pass
	  a NULL object to it, which was happening at startup, so
	  guard against that to prevent scary-looking (but benign)
	  warnings from showing up.
	  
	* lib/log: Explain Log_SetProductInfo and the InitWith functions
	  
	  Provide clarity concerning what's going on.
	  
	* Removed redundant ToolsCore_ReloadConfig call.
	  
	* lib/lock: remove VMX86_VMX
	  
	  Here we clear the MXUser side of lib/lock of VMX86_VMX
	  dependencies.
	  
	* make Subject comparison case insensitive
	  
	  Subjects are a username and optional hostname combination. 
	  Neither of those are case sensitive.

	  
	* fix some negative test cases
	  
	  There are a bunch of guestOps bugs that expect access
	  errors when manipulating files in unreadable directories. 
	  The old code was blindly turning any File_Exists() failure
	  into FILE_NOT_FOUND, when it should instead use the errno
	  so it can return FILE_NOT_FOUND or ACCESS (or something
	  else).
	   
	  Note that this is not being done for VIX-only operations,
	  just for functions that are either just for vSphere
	  guestOps or are shared with them.

	* lib/log: Intermediate change for LogLevel.
	  
	  The logLevel tools use Config_NotSet so add it to the Log
	  CfgInterface. This way all of the log code can be
	  converted to using the cfgInterface and there will no
	  complex dependencies within lib/log.
	  
	  Convert the existing routine to use the cfgInterface.
	  
	  Change the name and parameter of the routine to that of
	  the final destination. Follow-up changes will alter the
	  internals of LogLevel as well as where the set-up calls
	  are made.
	  
	* LogLevel: all in one place
	  
	  Now that the LogLevel_Configure isn't directly dependent
	  on Config_Get* it can be brought together with the rest of
	  the log level tools.
	  
	* lib/log: Factor out all Config_Get references
	  
	  With this change all paths into the Log Facility are via a
	  CfgInterface - there is no direct dependency on
	  Config_Get* anywhere in the Log Facility. This makes it
	  perfectly clear that any Config_Get* dependencies are the
	  responsibility of the Log Facility using application.
	  
	* Foundry: Shift functions used in Vigor and hostd to open source
	  
	  A few functions need to be moved to the open source
	  portion of Foundry so that Vigor and hostd can use them.
	  
	* lib/lock: Avoid try lock on exclusive locks

	  Newer processors essentially make try locks on exclusive
	  locks forbidden.
	  
	* lib/lock: modern sizeof usage

	* lib: more modern sizeof with a few calloc fixes thrown in
	  	
	* lib/log: InitWithCustom handles LOG too
	  
	* calloc, SafeCalloc and a few modern sizeof
	  
	* lib/lock: no stats locks
	  
	  We have some locks that are contended by design. Allow
	  them to be ignored by the stats system.
	  
	* OVFtool version (4.0.0)

	  Updated version number to 4.0.0


2013.04.16  Dmitry Torokhov  <dtor@vmware.com>
	This release tag contains commits up to the following id:
	867ea989d5e6889abcac77b4c7dae7db2651df58


2012.12.26  Dmitry Torokhov  <dtor@vmware.com>
	This release tag contains commits up to the following id:
	530ef7f26ed041ab1b6655f2cdc79f3af97fc50b


2012.10.14  Dmitry Torokhov  <dtor@vmware.com>
	This release tag contains commits up to the following id:
	d85408321c66c927bffdb05106a26581244edd4a

2012.05.21  Dmitry Torokhov  <dtor@vmware.com>
	This release tag contains commits up to the following id:
	482332b8d4282df09838df5ea4c58df9cdb4faf3


2012.03.13  Dmitry Torokhov  <dtor@vmware.com>
	This release tag contains commits up to the following id:
	0114aabd54bf2db4556563b7149c4fbbdec3d87b


2011.12.20  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	dfca5cf9d1c2335c5d001deedd9266c84956b508


2011.11.20  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	6c197b8e5eccf32bfee0e2452d8926968182aada


2011.10.26  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	6271fde90248a4fd49e38aa61498db9e1dbf37c3


2011.09.23  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	05baddbed1c5e47e9789a44d30bb217d7184232a


2011.08.21  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	2b3d76ba776f55d06fb5b62499b189ebd6bc1c75


2011.07.19  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	5bed6f1369ca6e9c2c7fbaf4205d86e50f219c5f


2011.06.27  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	166bbe1d28da4dab763b9568f163c8dca99ced9c


2011.05.27  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	3793ddc9c9b5facf376a2625d4c2252aa9bd3daa


2011.04.25  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	3112c27981074deb53e86e30e1c168d55e42220c


2011.03.28  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	ec43520f5f3a50f5a980a73d22ae231380f97555


2011.02.23  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	96cf4718ac0aff1743e50a2165599306ba442fe1


2011.01.24  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	60c470337c8932a6d9564130dcaf06c7a1a3df53


2010.12.19  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	5aef2b20a519788613350752575bcba0ac71df79


2010.11.17  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	11c0273ed4269f6f7a92f82f6c822df7da4c8720


2010.10.18  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	2162c5d770cdac3b0e275907a1a5d22ece8ce23c


2010.09.19  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	c92a8bfbb406a906bcd2fb9ef6801f92c5b64d1f


2010.08.24  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	94e63742d734b41638d37580602de4232da5ece6


2010.07.25  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	b15cffc7961b97129d0b77643db42b4d4d8e3da7


2010.06.16  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	ec87703fccdd0f954a118640c0b097e383994391


2010.04.25  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	6fafd672e006208c1e479b297e19618170ff19bd


2010.03.20  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	7cdbb623125729b41bf54068568dfbcc2dd58733


2010.02.23  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	8baa8588d5fd4cf64efb17164cb70c86c758d0c6


2010.01.19  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	8ee82a5774ae7badeb98ecf4dc629c7e9aac7077


2009.12.16  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	0d28106da5684dc31ea52ebb5a2dc6a0af5c1d61


2009.11.16  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	6f4cdd0f38be020d722f2393c0b78d7cd13f04d2


2009.10.15  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	d2f1b83daab1d7882fd651ad1cc77c729bbd9760


2009.09.18  Marcelo Vanzin  <mvanzin@vmware.com>
	This release tag contains commits up to the following id:
	8bb94fbfbdf65b53b87279cf81529756dba7a2ca

	Other changes not captured in the git logs:

	* Resync with internal dev branch (2009.08.24)

	* hgfsmounter/hgfsmounter.c: allow hgfs users to set ttl to 0 at mount time.

	* lib/guestApp/guestApp.c, lib/include/conf.h, lib/include/netutil.h,
	  lib/include/procMgr.h, lib/include/system.h, lib/vixTools/vixTools.c,
	  lib/vmCheck/vmcheck.c: remove (now unused) Netware checks.

	* lib/message/*, modules/freebsd/vmhgfs/Makefile,
	  modules/linux/vmhgfs/Makefile.*, modules/solaris/vmhgfs/Makefile: remove
	  unused message transport abstraction. The rpcChannel library is now used to
	  do RPC abstraction.

	* modules/*/vmmemctl/*: refactor of the vmmemctl module as part of adding
	  support for Mac OS guests.

	* modules/linux/pvscsi/pvscsi.c: don't clobber RESERVATION_CONFLICT sdstat
	  up from linux pvscsi driver.

	* modules/linux/shared/*: VMCI changes unrelated to the guest driver.

	* modules/linux/vmhgfs/fsutil.c, modules/linux/vmhgfs/inode.c: fix the case
	  where two directories refer to the same inode.

	* scripts/linux/*: support older versions of NetworkManager.

2009-08-24	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.08.19)

	* configure.ac: remove support for Linux kernels < 2.6.9.

	* lib/include/vmtools.h, libvmtools/vmtoolsLog.c, doc/api/services/util.txt:
	  add new log handled that allows appending to existing log files, and fix
	  an issue where old log files would be "rotated" whenever the config file
	  was reloaded.

	* lib/appUtil/appUtilX11.c, lib/ghIntegration/ghIntegrationX11.c,
	  lib/include/appUtil.h: fix compilation issues on FreeBSD when unity
	  was enabled.

	* lib/dnd/dndLinux.c, lib/include/vmblock_user.h, tests/testVmblock/*: add
	  vmblock tests and, as part of the change, do some refactoring of vmblock
	  related functions.

	* lib/guestInfo/guestInfo.c, lib/include/wiper.h, lib/wiper/*,
	  toolbox/toolboxcmd-shrink.c, toolbox/toolboxShrink.c: refactor the wiper
	  structures so that they behave the same on Win32 and other platforms, and
	  also reuse data structures already in use by other parts of the code. This
	  fixes an "use after free" issue that toolbox-cmd had on Win32.

	* lib/guestInfo/guestInfo.c, lib/guestInfo/guestInfoInt.h,
	  lib/guestInfo/guestInfoPosix.c, lib/guestRpc/nicinfo.x,
	  lib/include/guestInfo.h, lib/include/netutil.h, lib/include/slashProc.h,
	  lib/netutil/netUtilLinux.c, lib/slashProc/*,
	  services/plugins/guestInfo/guestInfoServer.c: add support for sending more
	  network-related information to the host, such as routing tables and name
	  servers.

	* lib/hgfsBd/hgfsBd.c: don't log RPC errors when HGFS is disabled.

	* lib/hgfsHelper/*, lib/include/hgfsHelper.h, lib/vixTools/vixTools.c: new
	  library with functions to query information about HGFS; expose some HGFS
	  properties through VIX.

	* lib/hgfsServer/*, lib/hgfsServerPolicyGuest/hgfsServerPolicyGuest.c,
	  lib/include/hgfsServerPolicy.h: fix checking of whether an object belongs
	  to a particular share; this was causing issues with invalid information
	  being returned in certain cases.

	* lib/hgfsServer/*, lib/include/hgfsProto.h: changes to support new VIX API
	  calls (mostly affecting Win32 only).

	* lib/include/guestCaps.h, lib/include/unityCommon.h: add boilerplate for new
	  RPCs for setting windows as sticky / non-sticky (not yet implemented).

	* lib/include/hgfsProto.h: new definitions for the next version of the HGFS
	  protocol.

	* lib/include/xdrutil.h: make XDRUTIL_ARRAYAPPEND() more type-safe when using
	  GCC.

	* lib/misc/codesetOld.c: fix some issues with UTF16 -> UTF8 conversion.

	* lib/rpcChannel/rpcChannel.c, libvmtools/signalSource.c,
	  libvmtools/vmtools.c, libvmtools/vmtoolsConfig.c: g_assert -> ASSERT.

	* lib/unityWindowTracker/unityWindowTracker.c: fix issue with z-ordering of
	  modal dialogs.

	* libvmtools/vmtoolsConfig.c: fix some old config translation issues.

	* modules/freebsd/shared/*, modules/freebsd/vmblock/*: make vmblock work on
	  FreeBSD 8.

	* modules/freebsd/vmmemctl/*, modules/linux/vmmemctl/*,
	  modules/solaris/vmmemctl/*, : refactoring and code changes to support the
	  driver on Mac OS X.

	* modules/linux/vmblock/*, modules/linux/vmci/*, modules/linux/vsock/linux/*:
	  remove compatibility code for older kernels.

	* modules/linux/vmhgfs/*: fix memory leak in HgfsAccessInt().

	* modules/linux/vmxnet3/*: fix kunmap usage in vmxnet3_shm, and reset the
	  shared pages when the char device is closed.

	* modules/linux/vsock/linux/af_vsock.{c,h}, modules/linux/vsock/linux/util.c:
	  add vsock protocol negotiation for notifyOn ops. This allows the driver to
	  negotiate with the remove end which version of the notification protocol to
	  use.

	* modules/linux/vsock/linux/notify.c, modules/linux/vsock/linux/notify.h,
	  modules/linux/vsock/linux/notifyQState.c,
	  modules/linux/vsock/linux/vsockPacket.h: add pktOn protocol. This new
	  protocol improves performance by detecting changes in the queue state
	  instead of sending WAITING_READ and WAITING_WRITE packets.

	* services/plugins/hgfsServer/hgfsPlugin.c,
	  services/plugins/resolutionSet/resolutionSet.c,
	  services/vmtoolsd/mainLoop.c, services/vmtoolsd/pluginMgr.c,
	  services/vmtoolsd/toolsRpc.c: load plugins even when an RPC channel cannot
	  be instantiated (i.e., when running outside of a virtual machine); this
	  allows plugins to perform actions (at load time) also when running outside
	  virtual machines (e.g., to undo some configuration done when the OS was run
	  in a VM).

	* services/vmtoolsd/mainLoop.c, services/vmtoolsd/mainPosix.c,
	  services/vmtoolsd/toolsCoreInt.h: handle SIGHUP differently; instead of
	  stopping the service, just re-load the config data. This should make it
	  easier to integrate the tools service with other tools such as logrotate.

	* toolbox/toolbox-cmd.c, toolbox/toolboxcmd-stat.c: remove memory info query,
	  which didn't really return useful information.

	* vmware-user/copyPasteUI.cpp: if the clipboard/primary with most recent
	  timestamp has no data on it, try the other before giving up during
	  copy/paste.

2009-07-22	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.07.17)

	* configure.ac: fix detection of "dot" and its usage in the doxygen config
	  file.

	* configure.ac, libguestlib/Makefile.am, libguestlib/vmguestlib.pc.in:
	  install vmguestlib headers and add new pkgconfig script.

	* lib/dndGuest/dnd.{cc,hh}, lib/include/dndBase.h, vmware-user/dndUI.{cpp,h}:
	  fix an issue where the DnD code would prevent drops to other windows in
	  Unity mode, instead of just intercepting drops to the desktop.

	* lib/dndGuest/dnd.{cc,hh}, lib/dndGuest/dndRpc.hh, lib/dndGuest/dndRpcV3.cc,
	  lib/include/dndBase.h, vmware-user/dndUI.{cpp,h}: fix an issue where the
	  host Unity code would cause an undesired drop event.

	* lib/dndGuest/dnd.{cc,hh}, lib/dndGuest/dndRpc.hh, lib/dndGuest/dndRpcV3.cc,
	  lib/include/dndBase.h: cleanup mouse simulation code, and fix an issue
	  where a drag would be canceled if the contents were dragged out of a guest
	  and then back in.

	* lib/dndGuest/dndRpcV3.cc, vmware-user/copyPasteDnDWrapper.cpp,
	  vmware-user/dndUI.cpp, vmware-user/dndUI.h, vmware-user/dragDetWnd.cpp,
	  vmware-user/dragDetWnd.h: several DnD fixes; make the DnD code behave
	  more like other GTK applications (based on analysing the flow of signals
	  on a test widget), and get rid of one of the detection windows, merging
	  both the Unity and non-Unity windows. Also, some code refactoring.

	* lib/ghIntegration/*, lib/guestRpc/*, lib/include/guestCaps.h,
	  lib/include/unityCommon.h: add stubs for a few new GHI functions (setting
	  window focus, tray icon updates and enhanced app info) - currently only
	  implemented on Win32.

	* lib/ghIntegration/ghIntegrationX11.c: examine WM_CLASS when determining
	  which DE Tools are running in. The previous code was failing to show a
	  few entries set as "OnlyShowIn=xxx" because checking WM_NAME wasn't enough
	  to properly detect the desktop environment in certain cases.

	* lib/guestApp/guestAppPosixX11.c: use gconftool-2 to detect the user's
	  browser, since gnome-open fails to open "file://" URLs which contain query
	  strings. Also, use "kde-open" when running under KDE.

	* lib/guestInfo/guestInfo.c, lib/include/wiper.h, lib/wiper/wiperPosix.c:
	  allow shrinking LVM partitions.

	* lib/include/appUtil.h: partial refactoring of icon retrieval code.

	* lib/include/dbllnklst.h, lib/misc/dbllnklst.c: inline linked list
	  functions.

	* lib/include/guest_os.h, lib/misc/hostinfoPosix.c: add a couple of
	  distros to the known distro list.

	* lib/include/netutil.h, lib/netUtil/netUtilLinux.c: add Linux interface
	  name, index lookup routines.

	* lib/include/system.h, lib/system/systemLinux.c,
	  services/plugins/timeSync/timeSync.c: fixes a few bugs in the backwards
	  time sync code, mostly due to unit mismatches.

	* lib/include/unityWindowTracker.h, lib/unity/unity.c,
	  lib/unity/unityPlatform.h, lib/unity/unityPlatformX11Window.c,
	  lib/unityWindowTracker/unityWindowTracker.c: expose two new properties in
	  the window tracker to save an RPC to retrieve those properties.

	* lib/include/vmtoolsApp.h, services/vmtoolsd/mainLoop.c,
	  services/vmtoolsd/pluginMgr.c, services/vmtoolsd/toolsCoreInt.h: add
	  support for "application providers", which allow plugins to add support to
	  new kinds of application frameworks through vmtoolsd.

	* lib/unity/unityPlatformX11.c: only enable GIO channels when Unity is
	  actually active.

	* lib/unity/*: cleanup old GTK1 code.

	* libvmtools/vmtoolsConfig.c: don't complain if config file is empty.

	* modules/linux/dkms.conf, modules/linux/dkms.sh: fix dkms.conf, and provide
	  a script to create a dkms tree from open-vm-tools.

	* modules/linux/shared/vmci_queue_pair.h, modules/linux/vmci/vmciKernelIf.c:
	  remove two (now) unneeded functions.

	* modules/linux/vmhgfs/*: code cleanups, properly initialize the list head,
	  and allow receives to timeout so that hibernation works.

	* modules/linux/vmxnet/vmxnet.c, modules/linux/vmxnet3/vmxnet3_drv.c: fix
	  drivers for kernels 2.6.29+.

	* modules/linux/vmxnet3/*: add shared memory support for faster communication
	  between user space and the device backend; this doesn't affect the regular
	  driver functionality, but is used by some VMware code not part of Tools.

	* modules/linux/vsock/*: fix an issue where it was possible for users to send
	  VMCI datagrams directly to the hypervisor.

	* scripts/common/vmware-user.desktop: work around a bug in KDE where desktop
	  files with "NoDisplay" fail to autostart.

	* scripts/freebsd/suspend-vm-default: use netif to bring down interfaces,
	  since dhclient doesn't understand "-r" in the default install.

	* services/plugins/vmbackup/*: add some new code used by enhancements being
	  done in the Win32 version of the plugin.

	* services/vmtoolsd/mainPosix.c: fix running in background when executing
	  vmtoolsd while relying on PATH.

	* services/vmtoolsd/Makefile.am: point to the correct plugin install
	  directory.

	* toolbox/*: better command line handling in the CLI utility, plus some code
	  cleanup.

	* vmware-user/copyPaste.c, vmware-user/copyPasteDnDWrapper.cpp,
	  vmware-user/copyPasteDnDWrapper.h, vmware-user/dnd.c: properly unregister
	  RPCs to avoid multiple registrations (and the ensuing ASSERT) in certain
	  cases.

	* vmware-user/copyPasteUI.{cpp,h}: change way data is retrieved from the
	  clipboard, using the gtk+ clipboard wait APIs (which turn out to be more
	  reliable than the previous approach).

2009-06-18	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.06.15)

	* docs/api/Makefile.am: replace all variables in the doxygen conf file with
	  the correct values.

	* lib/appUtil/appUtilX11.c: try alternate file extensions during icon search.
	  Sometimes a package lists its icon as icon-foo.png, but the package didn't
	  include icon-foo.png.	 Instead, it included icon-foo.xpm.	 Ex: Ubuntu
	  8.04's hwtest.

	* lib/guestApp/guestAppPosixX11.c: change detection of the default browser so
	  that the new help system works; the help files are not yet available in
	  open-vm-tools.

	* lib/hgfs/*, lib/include/cpName.h, lib/include/cpNameLite.h,
	  lib/include/hgfsUtil.h: avoid compiling certain parts of the source in
	  kernel modules.

	* lib/hgfsServer/*: return correct error when files / directories don't
	  exist.

	* lib/include/hgfsChannel.h, modules/linux/vmhgfs/*: added support for vsock
	  channel for HGFS.

	* lib/include/util.h, lib/misc/utilMem.c: un-inline a bunch of functions to
	  reduce the size of binaries.

	* lib/include/vm_tools_version.h: bumped Tools version.

	* lib/resolution/resolutionX11.c: fix for issue where the host would send
	  a "topology set" command with a top-left corner that was not (0, 0) and
	  cause the screen to be reconfigured in the wrong way.

	* lib/unity/unityPlatformX11Window.c: check for errors in calls to
	  XQueryTree.

	* lib/wiper/wiperPosix.c: check return of fgets() to avoid compiler warnings.

	* libvmtools/vmtools.c: fix initialization of wiper library on Win32.

	* modules/Makefile.am: install vsock header file on Linux.

	* modules/freebsd/vmhgfs/*, modules/linux/vmci/*, modules/linux/vsock/*:
	  changes related to 64-bit Mac drivers, don't affect either the FreeBSD
	  or Linux drivers.

	* modules/linux/vmhgfs/hgfs.h: removed duplicate file.

	* modules/linux/vmhgfs/fsutil.c, modules/linux/vmhgfs/inode.c,
	  modules/linux/vmhgfs/module.h: fix issue where two files would get the
	  same inode number in some situations.

	* modules/linux/vmxnet/vmxnet.c: re-probe vmxnet2 device features on resume
	  from hibernate, to cover the case where a VM is resumed on a platform with
	  a different version of the device backend (bug #2209565).

	* scripts/resume-vm-default, scripts/suspend-vm-default: use NetworkManager
	  to handle networking where it is available.

	* services/plugins/hgfsServer/Makefile.am, services/plugins/vix/Makefile.am:
	  fix installation of vmusr plugins that are shared with vmsvc.

	* services/plugins/timeSync/timeSync.c: fix backwards time sync.

	* services/vmtoolsd/cmdLine.c, toolbox/toolbox-cmd.c: print build number as
	  part of "-v" output.

	* toolbox/toolboxcmd-shrink.c: correctly ignore unsupported partitions when
	  shrinking.

	* toolbox/toolbox-gtk.c: changes for the new help system, not yet available
	  for open-vm-tools.

	* toolbox/toolboxInt.{c,h}, toolbox/toolboxScripts.c: some code refactoring.

	* vmware-user/Makefile.am: fix linking when compiling without gtkmm.

2009-05-22	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.05.18)

	* configure.ac, m4/vmtools.m4: check for PAM and enable PAM support when
	  available.

	* configure.ac, services/plugins/*/Makefile.am, tests/*/Makefile.am: avoid
	  the "-rpath" hack to create plugins, using plugin_LTLIBRARIES instead (and
	  manually fixing things when necessary). Thanks to Dominique Leuenberger for
	  the suggestion (and sample patch).

	* docs/api/Makefile.am: fix doc target directories.

	* configure.ac, lib/Makefile.am, lib/deployPkg/*, lib/include/deployPkg.h:
	  remove the deployPkg code, which depends on some VMware code that is not
	  yet open source.

	* lib/backdoor/*, lib/hgfs/*, lib/hgfsBd/*, lib/include/*,
	  lib/include/compat/*, lib/message/*, lib/misc/dbllnklst.c,
	  lib/rpcOut/rpcout.c: as part of sharing code between user-level code and
	  kernel modules, some files have been tagged with more than one license.

	* lib/dndGuest/*, lib/include/dndBase.h, lib/include/dndMsg.h,
	  lib/include/unity*, lib/unity/unityPlatformX11.c: implement mouse movement
	  from within the guest; this avoids a dependency on "unofficial" mouse APIs
	  in the VMware host code, making DnD more reliable, and makes a few things
	  (such as cancelling an ongoing DnD operation) easier.

	* lib/file/filePosix.c: make File_FullPath()'s behavior consistent when the
	  input path starts with a '/'.

	* lib/ghIntegration/ghIntegration.c: send more info about the "start menu"
	  contents to the host (only usable for Windows guests).

	* lib/ghIntegration/ghIntegrationX11.c: prettify the category names of menu
	  items. This is a temporary solution before actually reading this
	  information from .desktop files.

	* lib/guestApp/guestApp.c, libguestlib/vmGuestLib.c, lib/include/guestApp.h,
	  toolbox/toolbox-gtk.c, vmware-user/foreignVM*, vmware-user/vmware-user.cpp,
	  configure.ac, lib/Makefile.am, lib/include/socketMgr.h, lib/socketMgr.*:
	  remove code related to "foreign VM" support, which was never really used.

	* lib/guestInfo/guestInfo.c, lib/include/wiper.h, lib/wiper/wiperPosix.c:
	  properly report disk info for LVM volumes.

	* lib/hgfsServer/hgfsDirNotify*, lib/hgfsServer/hgfsServer.c: add support
	  for directory / file monitoring. It's currently only implemented on
	  Mac OS X.

	* lib/hgfsServer/hgfsServer*: fix issue where it was possible to
	  create a file on a read-only share on Windows hosts.

	* lib/hgfsServer/hgfsServer*, lib/hgfsServerManagerGuest/*,
	  lib/include/hgfs*.h, services/plugins/hgfsServer/hgfsPlugin.c,
	  services/plugins/vix/foundryToolsDaemon.c: some refactoring caused by the
	  work to make HGFS support pluggable transports.

	* lib/include/procMgr.h, lib/procMgr/procMgrPosix.c:
	  remove ProcMgr_GetAsyncStatus().

	* lib/include/vmsupport.h, scripts/vm-support, xferlogs/xferlogs.c,
	  services/plugins/guestInfo/guestInfoServer.c: new feature to automatically
	  collect support data from the guest from the VMware UI.

	* lib/panicDefault/*, lib/user/*: change file names to avoid clash with
	  another file (Mac OS linker doesn't really like that).

	* lib/rpcChannel/rpcChannel.c: try to reinitialize the outbound channel on
	  failure.

	* lib/vixTools/vixTools.c, lib/include/vixCommands.h,
	  lib/include/vixOpenSource.h: add backend for new VIX API call to list the
	  guest's filesystems.

	* libvmtools/vmtoolsLog.c: lazily open the log file, instead of opening it
	  during configuration of the log system. This way two processes can use the
	  same conf file and not overwrite each other's log files (assuming the conf
	  data is sane).

	* modules/Makefile.am, modules/linux/vmci/Makefile.kernel,
	  modules/linux/vsock/Makefile.kernel: don't store VMCI module symbols in
	  /tmp during build; this avoids a possible symlink attack that could cause
	  data to be overwritten when building open-vm-tools.

	* modules/*/*, vmblock-fuse/*: remove a lot of duplicated files by either
	  moving them to a shared location or reusing files that were already
	  available elsewhere.

	* modules/freebsd/vmblock/subr.c, modules/freebsd/vmblock/vmblock_k.h,
	  modules/freebsd/vmblock/vnoops.c: fix a possible kernel crash caused by
	  trying to read / write to the mount point (something vmware-user does to
	  detect whether it's using fuse or non-fuse vmblock).

	* modules/linux/pvscsi/*: adds support for a generic msg framework that is
	  currently used to deliver hot-plug/unplug notifications; get rid of a few
	  divisions; fix a bug where pvscsi_probe could return 0 (aka success) if
	  a call to kmalloc() failed; remove a few unused fields.

	* modules/linux/shared/vmci*: mostly changes related to the host VMCI drivers
	  (removed user-level queue-pair daemon, added support for trusted VMCI
	  endpoints) to keep binary compatibility between the host and guest VMCI
	  drivers.

	* modules/linux/hgfs/inode.c: check host's access rights when checking file
	  permissions, so that permissions are correctly checked when the guest's
	  user id is different from the host's user id.

	* modules/linux/bdhandler.*, modules/linux/filesystem.c; modules/linux/tcp.*,
	  modules/linux/transport.*,: postpone opening the channels so that module
	  can load successfully even if shared folders are disabled on the host;
	  fix a synchronization problem between recv and close/open; allow
	  hibernation to work by timing out the recv thread; correctly handle
	  failures in recv, including injecting a dummy error to the pending
	  requests when the recv thread exits; move the recv code to the channel's
	  implementation so that it can be simpler.

	* modules/linux/vmxnet3/vmxnet3.c, modules/linux/shared/compat_pci.h: fix
	  Wake-On-LAN for 2.6.27 and newer Linux guests.

	* modules/linux/vsock/linux/*: changes to support trusted VMCI host apps;
	  pull out notification and stats logging code into their own files.

	* modules/solaris/vmhgfs/vnode.c: do not substitute errors returned by
	  uiomove() calls with EIO, propagate returned error code (which is EFAULT)
	  up the stack.

	* services/vmtoolsd/Makefile.am, scripts/common/linux/pam.d/vmtoolsd-x64,
	  scripts/common/linux/pam.d/64/vmtoolsd: install the 64-bit PAM config
	  file with the correct name.

	* services/plugins/powerOps/powerOps.c: fix running default scripts by
	  making sure the path to the script is absolute.

	* services/vmtoolsd/Makefile.am, services/vmtoolsd/pluginMgr.c: use info
	  from the configure step to define the plugin path; this avoids requiring
	  a symlink to be placed in /etc/vmware-tools for vmtoolsd to be able to
	  find the plugins.

	* services/vmtoolsd/toolsRpc.c: send the build information to the host so
	  it's logged in the VM's logs.

	* toolbox/toolbox-cmd.c, toolbox/toolboxcmd-*, toolbox/toolboxCmdInt.h:
	  make string comparison case-insensitive on Win32.

	* toolbox/toolboxcmd-shrink.c: properly finish the shrinking process by
	  sending the "disk.shrink" RPC to the host.

	* toolbox/toolboxScripts.c: fix showing default settings for power ops
	  scripts (should show default script enabled, not script disabled).

	* vmblock-fuse/Makefile.am: fix compilation on FreeBSD.

	* vmware-user/copyPasteUI.cpp: disallow copy-paste text of size greater than
	  4MB, instead of truncating the data.

	* vmware-user/dndUI.*, lib/dndGuest/dnd.cc, lib/include/dndBase.h: remove
	  drag timeout callback (which was not needed), and add new signal to
	  indicate that a GH DnD was cancelled.

	* vmware-user/Makefile.am: remove C++ link hack (not needed now since
	  vmware-user has C++ code already).

2009-04-23	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.04.17)

	* configure.ac, Makefile.am, docs/*: build API docs for vmtools; the
	  documentation files are provided under a BSD-style license.

	* configure.ac, Makefile.am, guestd/*, lib/Makefile.am, lib/guestInfo/*,
	  lib/include/vmbackup_def.h, lib/include/vmBackup.h, lib/vmBackupLib/*,
	  libvmtools/Makefile.am, services/plugins/vmbackup/vmbackup_def.h: remove
	  guestd from open-vm-tools, and clean up code in other places that was only
	  there because of guestd.

	* configure.ac, modules/solaris/vmblock/*, modules/solaris/vmmemctl/*: add
	  Solaris vmblock and vmmemctl driver sources. The vmmemctl module also
	  includes a user-level daemon (vmmemctld.c).

	* lib/conf/conf.c, lib/include/conf.h, libvmtools/vmtoolsConfig.c: remove
	  unused config options.

	* lib/deployPkg/toolsDeployPkg.h: code refactoring.

	* lib/dnd/dndClipboard.c: if size of clipboard exceeds the maximum backdoor
	  packet size, only keep text data (dropping the RTF data).

	* lib/dnd/dndLinux.c, lib/include/dnd.h, lib/include/vmblock.h,
	  vmware-user/copyPaste.c, vmware-user/dnd.c, vmware-user/vmware-user.cpp,
	  vmware-user/vmwareuserint.h, vmware-user-suid-wrapper/main.c: detect
	  whether plain vmblock or vmblock-fuse is being used, allowing the same
	  executable to be used with either.

	* lib/dndGuest/*, vmware-user/copyPaseDnDWrapper.{cpp,h},
	  vmware-user/dndUI.{cpp,h}, vmware-user/dragDetWnd.{cpp,h}:
	  vmware-user/vmware-user.cpp: more DnD V3 protocol work.

	* lib/ghIntegration/*, lib/include/guestCaps.h, lib/include/unityCommon.h:
	  work related to mapping Outlook folders over HGFS and exposing the Windows
	  Recycle Bin to the host (doesn't really affect open-vm-tools).

	* lib/ghIntegration/ghIntegrationX11.c: restore the native environment when
	  launching external applications. This doesn't really affect open-vm-tools.

	* lib/guestRpc/*, vmware-user/copyPasteUI.{cpp,h}: implement RTF and file
	  contents copy & paste.

	* lib/include/circList.h, lib/include/vm_basic_math.h,
	  lib/include/vm_device_version.h, modules/linux/*, modules/Makefile.am:
	  changes to share files between the user space code and the kernel code,
	  instead of duplicating the same source files in different places.

	* lib/include/rpcChannel.h, lib/rpcChannel/*, tests/testDebug/testDebug.c,
	  test/vmrpcdbg/debugChannel.c: some code cleanup, and fix crash when dealing
	  with multiple reset messages.

	* lib/include/system.h, lib/system/systemLinux.c,
	  services/vmtoolsd/mainPosix.c: remove System_Daemon() (replaced with
	  Hostinfo_Daemonize()).

	* lib/include/unityCommon.h, lib/unity/*: ressurrect UNITY_RPC_WINDOW_SHOW
	  and UNITY_RPC_WINDOW_HIDE RPCs.

	* lib/procMgr/procMgrPosix.c: fix ProcMgr_IsProcessRunning().

	* lib/system/systemLinux.c: fix shutdown / reboot commands on Solaris; fix
	  rebuilding of native environment from variables set by VMware scripts (this
	  last one doesn't really affect open-vm-tools).

	* lib/unicode/unicodeSimpleTypes.c: speed up UnicodeIANALookup, and fix case
	  where C++ constructors could call UnicodeIANALookup before Unicode_Init()
	  was called by lazily creating the internal cache.

	* libguestlib/*: link libguestlib against libvmtools. This avoids having
	  two definitions of certain symbols (like Debug()) when an application
	  links to both libraries.

	* modules/linux/vmblock/linux/control.c: only set directory entry owner when
	  needed.

	* modules/linux/vmhgfs/bdhandler.{c,h}, modules/linux/vmhgfs/dir.c,
	  modules/linux/vmhgfs/file.c, modules/linux/vmhgfs/filesystem.c,
	  modules/linux/vmhgfs/fsutil.c, modules/linux/vmhgfs/inode.c,
	  modules/linux/vmhgfs/module.{c,h}, modules/linux/vmhgfs/page.c,
	  modules/linux/vmhgfs/request.{c,h}, modules/linux/vmhgfs/super.c,
	  modules/linux/vmhgfs/tcp.{c,h}, modules/linux/vmhgfs/transport.{c,h}:
	  cleanup use of atomic variables in HGFS; add a transport abstraction layer,
	  and add an initial version of a socket-based transport (not yet stable and
	  not yet supported by any released VMware product).

	* modules/linux/vmxnet3/vmxnet3.c: fix build on kernel 2.6.29.

	* modules/linux/vsock/af_vsock.c: export more functions to other kernel
	  modules; some changes to statistics gathering code.

	* modules/solaris/vmhgfs/filesystem.c: make module loadable on Solaris 9.

	* modules/solaris/vmhgfs/vnode.c: unify mapping of HGFS to Solaris error
	  codes.

	* scripts/*: restart network before running user scripts in resume scripts.

	* services/plugin/powerOps/powerOps.c: fix running default power scripts.

	* services/vmtoolsd/pluginMgr.c: better error logging.

	* toolbox/toolbox-cmd.c: fix help string.

	* vmblock-fuse/block.c: fix vmblock-fuse compilation on FreeBSD.

2009-03-18	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.03.13)

	* configure.ac: check for FreeBSD kernel tree when building modules; warn
	  about which version of make to use when building kernel modules on FreeBSD
	  and Solaris; add compiler defines for identifying Solaris 9 and 11.

	* configure.ac, modules/Makefile.am: handle SYSDIR on FreeBSD.

	* guestd/main.c, modules/solaris/vmhgfs/Makefile: remove HGFS-related that
	  is now obsolete with the recent changes to the HGFS module on Solaris.

	* guestd/toolsDaemon.c: default to the configuration dir when the power
	  script path is not absolute.

	* guestd/toolsDaemon.c, lib/include/guestInfo.h, lib/netUtil/netUtilLinux.c:
	  handle case when all network interfaces have been disabled and send an
	  "unknown" IP address to the host.

	* guestd/toolsDaemon.c, services/vmtoolsd/toolsRpc.c: always send
	  TOOLS_VERSION_UNMANAGED from an open-vm-tools build, so there's no need for
	  a config file option anymore.

	* hgfsclient/*: make it link to libvmtools to avoid code duplication.

	* lib/appUtil/appUtil.c: update list of "skippable" apps when figuring out
	  an application's path.

	* lib/auth/authPosix.c, scripts/linux/pam.d/*, guestd/Makefile.am,
	  services/vmtoolsd/Makefile.am : change the name of the PAM application to
	  "vmtoolsd" to reflect the new service name.

	* lib/dnd/dndFileContentsUtil.h, lib/dnd/dndInt.h, lib/dndGuest/*.hh, and
	  corresponding files in lib/include: relocate private headers.

	* lib/ghIntegration/ghIntegration.c, lib/ghIntegration/ghIntegrationInt.h,
	  lib/ghIntegration/ghIntegrationX11.c, lib/include/unityCommon.h: glue code
	  for Outlook mirrored folder, which does not affect open-vm-tools.

	* lib/guestRpc/guestlibV3.x, lib/include/vmGuestLib.h,
	  libguestlib/vmGuestLib.c: add new guestlib counters.

	* lib/include/conf.h, toolbox/toolbox-gtk.c: remove the need for the
	  "helpdir" config option; this doesn't really affect open-vm-tools since the
	  help files are not yet included.

	* lib/include/guest_os.h, lib/misc/hostinfoPosix.c: more guest OS names; fix
	  name used to identify Solaris to match what VMware's host code expects.

	* lib/include/guestStats.h: documentation changes.

	* lib/include/hostinfo.h, lib/user/hostinfoPosix.c: add a new function that
	  behaves like daemon(3), but is more Mac OS-friendly.

	* lib/include/toolsLogger.h, lib/Makefile.am, lib/toolsLogger/*: removed
	  library, which is not used anymore.

	* lib/include/vm_basic_types.h, lib/misc/timeutil.c: fixes to compile under
	  (Open) Solaris 11.

	* lib/include/vmtoolsApp.h, services/plugins/vmbackup/stateMachine.c,
	  services/vmtoolsd/mainLoop.c, services/vmtoolsd/mainPosix.c,
	  services/vmtoolsd/serviceObj.c, services/vmtoolsd/toolsCoreInt.h: add new
	  signal handler to gather debugging information from a running vmtoolsd
	  instance.

	* lib/misc/posixPosix.c: fix off-by-one error.

	* lib/unity/unity.c, lib/unity/unityPlatform.h, lib/unity/unityPlatformX11.c,
	  lib/unity/unityPlatformX11Settings.c: always send Unity updates using RPCI;
	  this avoids a possible race between replying to an incoming RPC and sending
	  an Unity update from a different thread; also, API documentation updates.

	* lib/unity/unityPlatformX11.c: verify the DnD detection window was
	  initialized before actually using it.

	* lib/unity/unityPlatformX11Settings.c, lib/unity/unityPlatformX11Window.c:
	  reset _NET_WM_DESKTOP as necessary before exiting Unity; this could cause
	  guest taskbars to disappear when in Unity mode.

	* lib/unity/unityPlatformX11.c, lib/unity/unityPlatformX11Window.c,
	  lib/unity/unityX11.h: examine WM_CLIENT_LEADER when gathering application
	  information; certain applications use this property to define the window
	  where the WM_COMMAND property should be.

	* lib/vixTools/vixTools.c: do not follow symlinks when deleting files in the
	  guest using the VIX API.

	* libvmtools/vmtools.c, libvmtools/vmtoolsLog.c: allow the logging subsystem
	  to be re-configured, and clean up the logging data when unloading the
	  library; allow ${USER} and ${PID} to be used in log file paths.

	* modules/freebsd/vmblock/subr.c, modules/freebsd/vmblock/vnops.c: fix kernel
	  panic on FreeBSD 7.

	* modules/linux/*/Makefile: remove GCC version check.

	* modules/linux/*/compat_wait.h: fix COMPAT_DEFINE_WAIT for "vanilla" 2.4
	  kernels.

	* modules/linux/vmhgfs/Makefile.normal: fix build of HGFS module on 2.4
	  kernels.

	* modules/linux/vmxnet/*, modules/linux/vmxnet3/*: avoid using compat
	  functions when they're not needed; add compatibility functions for
	  newer Linux kernels.

	* modules/linux/vsock/linux/af_vsock.c: fix two races; one when the socket
	  state changed between calls to VSockVmciRecvStreamCB and
	  VSockVmciRecvPktWork, and another when trying to read from the socket after
	  a RST arrived after the socket got a detach notification.

	* modules/solaris/vmxnet3/*: add Solaris vmxnet3 driver.

	* rpctool/*: add "rpctool", a simple, stand-alone tool to send RPC commands
	  to the host software.

	* services/plugins/guestInfo/guestInfoServer.c: don't cache configuration
	  data.

	* services/plugins/guestInfo/perfMonLinux.c: fix problem with overwriting
	  flags after GuestInfoMonitorReadMeminfo() was called. (Same as fix to
	  lib/guestInfo on previous release.)

	* services/plugins/powerOps/powerOps.c: handle power ops-related options
	  sent from the host.

	* services/vmtoolsd/mainLoop.c: handle re-loading the configuration file.

	* services/vmtoolsd/mainPosix.c: exec after forking on Mac OS, since
	  CoreFoundation classes don't work after a fork.

	* services/vmtoolsd/pluginMgr.c: allow both 32 and 64 bit plugins to be
	  installed on Solaris by loading them from the appropriate directory;
	  add library loading code that is not really needed (nor used) in
	  open-vm-tools.

	* services/vmtoolsd/toolsRpc.c: send another "capability" the host expects
	  from Tools.

	* toolbox/toolbox-gtk.c: add F1 shortcut to invoke help.

	* toolbox/toolboxScripts.c: fix issue with freeing data that should not be
	  freed.

	* vmware-user/*: implement the new DnD protocol (V3).


2009-02-18	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.02.13)

	* configure.ac, m4/vmtools.m4: clean up a lot of the library detection code.

	* configure.ac: remove support for gtk+ 1.2 (code already depended on it in
	  any case); enforce need for glib 2.6.0 or later due to new code being
	  added; add detection for gtkmm; check for C++ compiler when it's needed;
	  reorder the include path to avoid clashing with system headers in some
	  situations.

	* guestd/foundryToolsDaemon.*, vmware-user/foundryToolsDaemon.*,
	  guestd/Makefile.am, vmware-user/Makefile.am: moved shared source files to
	  a new place to avoid duplication.

	* hgfsmounter/hgfsmounter.c: add support for Solaris.

	* lib/appUtil/appUtilX11.c: fix loading of icons when the name has a period.

	* lib/dnd/dndClipboard.c, lib/dnd/dndInt.h, lib/dnd/dndMsg.c,
	  lib/dnd/Makefile.am, lib/dndGuest/*, lib/include/copyPasteBase.h,
	  lib/include/copyPaste.hh, lib/include/copyPasteRpc.hh,
	  lib/include/copyPasteRpcV3.hh, lib/include/dndBase.h,
	  lib/include/dndClipboard.h, lib/include/dndFileContentsUtil.h,
	  lib/include/dndFileList.hh, lib/include/dnd.h, lib/include/dnd.hh,
	  lib/include/dndInt.h, lib/include/dndMsg.h, lib/include/dndRpc.hh,
	  lib/include/dndRpcV3.hh, lib/include/dndTransportGuestRpc.hh,
	  lib/include/dndTransport.hh, lib/include/libExport.hh,
	  vmware-user/copyPaste.cpp, vmware-user/copyPasteUI.{cpp,h},
	  vmware-user/copyPasteV3.h, vmware-user/copyPasteWrapper.{cpp,h},
	  vmware-user/dnd.cpp, vmware-user/Makefile.am,
	  vmware-user/vmware-user.{c,cpp}, vmware-user/vmwareuserInt.h,
	  vmware-user/stringxx/string.{cc,hh}, vmware-user/stringxx/ubstr_t.hh: add
	  support for new version of the DnD protocol.

	* lib/guestInfo/guestInfoPerfMonLinux.c: fix problem with overwriting flags
	  after GuestInfoMonitorReadMeminfo() was called.

	* lib/guestRpc/guestlibV3.x, lib/include/vmGuestLib.h,
	  libguestlib/vmGuestLib.c: add new host stats.

	* lib/guestRpc/Makefile.am: fix a few compatibility issues with non-GNU
	  versions of make.

	* lib/hgfsServer/hgfsServer.c, lib/hgfsServer/hgfsServerInt.h,
	  lib/hgfsServer/hgfsServerLinux.c, */hgfsProto.h,
	  modules/freebsd/vmhgfs/vnops.c, modules/freebsd/vmhgfs/vnopscommon.{c,h}:
	  don't trust the local VFS layer, check the HGFS server to see if an
	  operation would succeed.

	* lib/include/rpcChannel.h, lib/rpcChannel/*: add new Guest RPC channel
	  abstraction library used by the new "core services" code.

	* lib/include/vmrpcdbg.h, tests/*: add test code from the "core services"
	  project.

	* lib/include/vmtoolsApp.h, lib/include/vmtoolsd_version.h,
	  services/vmtoolsd/*: add "vmtoolsd", the new service "shell" used in the
	  "core services" project.

	* lib/unity/unityPlatformX11Window.c: don't send initial "region" updates for
	  shaped windows. This works around an issue where resizing a shaped window
	  would not work as expected in Unity mode.

	* lib/wiper/wiperPosix.c: fix major number detection for disks on newer Linux
	  kernels.

	* libvmtools/Makefile.am: link more libraries needed by vmtoolsd and the new
	  plugins.

	* modules/linux/pvscsi/pvscsi.c, modules/linux/pvscsi/pvscsi_version.h: use
	  PCI-specific memory allocation functions and update driver version.

	* modules/linux/vmci/vmciKernelIf.c: disable queue pair support in the host
	  version of the driver on older Linux kernels. This doesn't affect the
	  guest driver.

	* modules/linux/vmci/vmci_queue_pair.h: implement MSG_PEEK support on
	  Linux driver.

	* modules/linux/vmhgfs/bdhandler.c, modules/linux/vmhgfs/compat_sched.h,
	  modules/linux/vmmemctl/os.c: fix issue with HGFS module interfering with
	  suspend / hibernation on newer Linux kernels (bug #2523263).

	* modules/linux/vmhgfs/compat_cred.h, modules/linux/vmhgfs/file.c,
	  modules/linux/vmhgfs/filesystem.c, modules/linux/vmhgfs/inode.c: changes
	  for compatibility with newer Linux kernels, where it's not possible to
	  change fsuid/capabilities directly anymore.

	* modules/linux/vmhgfs/compat_pagemap.h, modules/linux/vmhgfs/page.c:
	  fix warning, and compatibility changes for newer Linux kernels
	  (2.6.28.1 and newer; bug #2530616).

	* modules/linux/vmhgfs/inode.c: fix creation of symlinks (bug #2531303).

	* modules/linux/vmxnet/vmxnet.c: use PCI-specific memory allocation
	  functions.

	* modules/linux/vmxnet/vmxnet.c, modules/linux/vmxnet3/vmxnet3.c: add option
	  to disable LRO.

	* modules/linux/vsock/af_inet.{c,h}, modules/linux/vsock/util.{c,h}: add
	  MSG_PEEK support; remove ifdefs that were disabling support for queue
	  pairs on the host kernel module; fix compilation with certain versions
	  of gcc (bug #2531283).

	* modules/solaris/vmhgfs/*: move backdoor handling code to the HGFS driver;
	  this makes the user-level code to handle the driver (currently in
	  vmware-guestd) obsolete.

	* modules/solaris/vmxnet/*: add vmxnet driver for Solaris, under the CDDL.

	* services/plugins/*: add all currently available "core services" plugins.
	  The current set of plugins provide the functionality available in
	  vmware-guestd; there are a few plugins that replace functionality from
	  vmware-user, but not all features are ported yet (and vmtoolsd - with
	  vmware-user plugins - and vmware-user cannot run at the same time).

	* toolbox/toolboxAbout.c: fix the copyright character.

	* toolbox/toolbox-cmd.c: reword a few messages, fix typos.

	* toolbox/toolboxCmdInt.h, toolbox/toolboxcmd-record.c,
	  toolbox/toolbox-gtk.c, toolbox/toolboxRecord.c: remove the "record"
	  functionality from tools (due to internal request).

	* toolbox/toolboxInt.c, toolbox/toolboxScripts.c, toolbox/toolbox-scripts.c:
	  changes to use the new config file format used by the "core services" code.

	* */Makefile.am: make sure 'rm' and 'mv' are being used instead of $(RM) and
	  $(MV) (which are not defined by automake; bug #2492040).

2009-01-21	Marcelo Vanzin	 <mvanzin@vmware.com>
	* Resync with internal trunk (2009.01.19)

	* configure.ac: detect the presence of FUSE libraries.

	* configure.ac, Makefile.am: compile kernel modules for Solaris, and
	  vmblock-fuse module if FUSE is available.

	* lib/ghIntegration/ghIntegrationX11.c: retrieved localized application
	  names.

	* lib/guestInfo/guestInfo.c, lib/guestInfo/guestInfoPosix.c,
	  lib/include/hostinfo.h, lib/misc/hostinfo_misc.c, lib/misc/hostinfoPosic.c,
	  lib/vixTools/vixTools.c: refactoring to move code shared with other VMware
	  products to a common library.

	* lib/guestRpc/guestlibV3.x, lib/guestRpc/Makefile.am,
	  lib/include/vmGuestLib.h, libguestlib/*: add new iteration of the
	  "guestlib" protocol. This is a more extensible solution than the current
	  protocol, and should make it easier to add new information when needed.

	* lib/include/dynarray.h, lib/include/dynbuf.h, lib/misc/dynarray.c,
	  lib/misc/dynbuf.c: make some DynArray/DynBuf functions inline for speed.

	* lib/include/unityCommon.h: more documentation about the Unity protocol.

	* lib/unity/unityPlatformX11.c: fix Unity<->guest desktop ID mappings.

	* libvmtools/vmtoolsLog.c: change the way log domains are configured; now
	  sub-domains inherit the default handler for the app if no handler is
	  specified.

	* modules/freebsd/vmhgfs/state.c, modules/freebsd/vmhgfs/state.h,
	  modules/freebsd/vmhgfs/vnopscommon.{c,h}: implement support for mmap on
	  the Mac OS driver, which allows running executables from an HGFS
	  share. The FreeBSD module still does not support this functionality.

	* modules/freebsd/vmhgfs/transport.{c,h}: refactoring for sharing structure
	  definitions.

	* modules/linux/pvscsi/pvscsi.c, modules/linux/vmblock/linux/module.c,
	  modules/linux/vmci/vmci_drv.c, modules/linux/hgfs/module.c,
	  modules/linux/vmmemctl/os.c, modules/linux/vmsync/sync.c,
	  modules/linux/vmxnet/vmxnet.c, modules/linux/vmxnet3/vmxnet3.c: add support
	  for Novell's proprietary module info tag ("supported").

	* modules/linux/vmci/vmciKernelIf.c: add support for VMCI queue pairs on
	  the host. This does not affect the driver when it runs inside virtual
	  machines.

	* modules/linux/vmci/*.h, modules/linux/vsock/*.h: some changes in the common
	  code to support Mac OS X, and also queue pairs on the Solaris VMCI module.

	* modules/linux/vsock/af_vsock.{c,h}: add functions for registering with
	  the vsock driver from within the kernel.

	* modules/linux/*/Makefile: add $(LINUXINCLUDE) to the compiler flags; this
	  allows compiling the modules against recent kernels which removed that
	  from $(KBUILD_CPPFLAGS).

	* modules/Makefile.am: add support for compiling Solaris kernel modules.

	* modules/solaris/vmhgfs/*: initial release of the Solaris HGFS driver in
	  open-vm-tools. Driver is licensed under the CDDL 1.0.

	* vmblock-fuse/*: add the user-level implementation of the vmblock driver,
	  which is build on top of FUSE, to open-vm-tools. vmware-user hasn't yet
	  been modified to use this version of vmblock.

	* vmware-user/copyPaseV3.h: new header introduced during development of the
	  next version of copy paste / DnD for X11 platforms.


2008-11-23  Marcelo Vanzin  <mvanzin@vmware.com>
	* Resync with internal trunk (2008.12.19)

	* configure.ac, */Makefile.am: standardize on using libtool archives for
	  the libraries. This also means several makefiles were removed, since
	  there's no need to build two archives of the same library anymore.

	* configure.ac: add logic to detect glib 2.6; this is the minimum version
	  required by the "Core Services" project. Currently it's an optional
	  dependency.

	* configure.ac: disable Unity when user specifies --disable-multimon.

	* configure.ac: actually build the pvscsi modules if the detected kernel
	  version supports it.

	* configure.ac, Makefile.am, lib/guestInfo/Makefile.am,
	  lib/stubs/Makefile.am, libvmtools/*, lib/include/vmtools.h: add the
	  "vmtools" shared library used in the "Core Services" project. The library
	  is a collection of a lot of other libraries used by most VMware Tools
	  programs, and adds some functionality on top of glib that is used in the
	  "Core Services" project. Currently no other components from that project
	  are available as part of open-vm-tools.

	* lib/deployPkg/deployPkgLog.h, lib/deployPkg/toolsDeployPkg.h: moved private
	  headers out of the public header directory.

	* lib/guestRpc/Makefile.am, modules/Makefile.am: fix the makefiles so that
	  it's possible to build open-vm-tools from a directory different from the
	  source dir.

	* lib/hgfsServer/hgfsServer.c: changes to support aliases on Mac OS hosts.

	* lib/hgfsServer/hgfsServerLinux.c: changes to map Windows attributes to
	  Mac OS FileInfo.

	* lib/include/circList.h: removed unused file.

	* lib/include/unityCommon.h, lib/unity/unity.c: changes to add documentation
	  to various application RPCs used in Tools.

	* lib/misc/posixPosix.c, toolbox/toolboxScripts.c: fix include path for
	  syslimits.h on FreeBSD.

	* lib/unity/unityPlatformX11.c: better detection of the guest's work area
	  boundaries; fixes a problem when dragging a Window in Unity mode with
	  the host's task bar on the left/right of screen would result in weird
	  behavior.

	* lib/unity/unityPlatformX11Settings.c, lib/unity/unityPlatformX11Window.c,
	  lib/unity/unityX11.h: preserve the _NET_WM_DESKTOP setting when hiding
	  windows; this fixes a problem where hiding a panel and later restoring it
	  would result in the wrong _NET_WM_DESKTOP property being set for the panel,
	  causing it to only display on the first virtual desktop.

	* modules/linux/vmci/*: minor changes related to internal development of the
	  Mac OS drivers.

	* modules/linux/vmhgfs/page.c: fix HGFS driver for kernel 2.6.28.

	* modules/linux/vsock/linux/af_vsock.c: added code to gather some performance
	  statistics for the driver.

	* toolbox/toolbox-gtk.c: a few fixes to the help functionality.

	* vmware-user/vmware-user.c, vmware-user-suid-wrapper/main.c: change the
	  "blockFd" argument to have an extra dash so it follows the convention of
	  common command line parsing libraries.

	* Other bug fixes and changes in shared code that don't affect open-vm-tools.

2008-11-18  Marcelo Vanzin  <mvanzin@vmware.com>
	* Resync with internal trunk (2008.11.14)

	* lib/include/vm_version.h: Bumped TOOLS_VERSION.

	* guestd/toolsDaemon.c, lib/include/vm_app.h: changes related to host-side
	  configuration of power operations.

	* hgfsclient/hgfsclient.c, lib/dnd/dndCommon.c, lib/dnd/dndLinux.c,
	  lib/hgfs/*, lib/hgfsServer/*, lib/include/cpName.h, lib/include/dnd.h,
	  lib/include/hgfsEscape.h, lib/include/staticEscape.h, modules/*/vmhgfs/*,
	  vmware-user/dnd.c: refactor the HGFS character escaping code; escape
	  invalid characters when the sender allows characters in the file name that
	  the receiver does not allow.

   * lib/hgfsServer/hgfsServerLinux.c: return proper error code when the
     remote path points to a non-existent directory.

	* lib/deployPkg/deployPkg.c, lib/deployPkg/deployPkgLog.c,
	  lib/include/deployPkg.h, lib/include/rpcin.h, lib/rpcin/rpcin.c:
     refactoring for the Tools Core Services project.

	* lib/dnd/dndCommon.c: don't ASSERT if the staging directory is not
	  actually a directory.

	* lib/dynxdr/xdrutil.c, lib/include/xdrutil.h: more XDR-related utility
	  functions.

	* lib/file/file.c, lib/file/fileLockPrimitive.c, lib/include/vm_basic_defs.h:
	  replace use of strtok with strtok_r.

	* lib/guestApp/guestApp.c, lib/include/guestApp.h: more utility functions.

	* lib/guestApp/guestApp.c, lib/include/backdoor_def.h, vmware-user/pointer.c:
	  add the ability to detect whether the mouse hardware can be used in
     absolute mode, which allows for auto grab / auto ungrab to work.

	* lib/guestInfo/guestInfo.c, lib/guestInfo/guestInfoPosix.c,
     lib/guestRpc/nicinfo.x: provide the prefix length of an IPv6 address in a
     separate field of the NicInfo struct.

	* lib/guestInfo/guestInfoPerfMonLinux.c: reduce log spew.

	* lib/guestInfo/guestInfoServer.c, lib/include/guestInfo.h: changes related
	  to how the VMware code in the host handles Tools version information.

	* lib/include/unityCommon.h: changes related to documenting the Unity API.

	* lib/include/unity.h, lib/unity/*: remove a few unused RPCs, add a new
	  function used to notify the host of the status of Unity.

	* modules/freebsd/vmhgfs/state.c, modules/vmhgfs/freebsd/vnops.c,
     modules/vmhgfs/freebsd/vnopscommon.*: support symlinks on FreeBSD and
     Mac OS.

   * modules/freebsd/vmhgfs/worker.c: fix mutex not being unlocked in some
     error paths.

	* modules/linux/dkms.conf: add rudimentary dkms support.

	* modules/linux/pvscsi/*: add a driver for VMware's paravirtualized SCSI
	  device.

	* modules/linux/*/Makefile, modules/linux/vmci/Makefile.kernel,
	  modules/linux/vsock/Makefile.kernel: add support for exporing symbols,
	  needed for dependent modules to load if a kernel >= 2.6.26 is compiled
	  with CONFIG_MODVERSIONS. Make the vsock module reference the vmci module's
	  symbols.

	* modules/vmmemctl/freebsd/os.c: add sysctl to get driver status. Information
	  can be retrieved with "sysctl vm.vmmemctl".

   * modules/linux/vmci/vmci_defs.h, modules/linux/vmci/vmci_call_defs.h,
     modules/linux/vsock/vmciHostKernelAPI.h: changes related to VMCI work
     on VMware ESX.

	* modules/linux/vsock/linux/*: improve performance of some applications by
	  improving the poll behavior and sending less packets when waiting
	  for a response.

   * modules/linux/vmsnc/sync.c: fix panic on kernels < 2.6.20.

	* modules/linux/vmxnet3/vmxnet3.c, modules/linux/vmxnet3/vmxnet3_int.h,
     modules/linux/vmxnet3/vmxnet3_version.h: inherit net device features to
     avoid having the kernel setting the PSH flag on every TCP packet (among
     other issues).

	* modules/*/*/*: Reflected changes from elsewhere.

	* scripts/common/vmware-user.desktop: add missing "Type" information; fixes
	  auto-start of vmware-user on Ubuntu 8.10.

	* toolbox/*: fix a GTK+ warning caused when trying to unref a dialog
	  instance from a signal callback.

	* vmware-user/copyPaste.c: work around an issue when OpenOffice's "cut"
	  command is used; it sets the timestamp of both the clipboard and the
	  primary selection, but only puts data in the clipboard.

	* Other files: minor refactorings, and changes unrelated to open-vm-tools.

2008-10-13  Adar Dembo  <adar@vmware.com>
	* Resync with internal trunk (2008.10.09)

	* configure.ac, modules/Makefile.am: Added a command-line option to
	skip privileged operations during make install (requested by Dennis
	Leroy). Integrated new vmxnet3 kernel module.

	* configure.ac, lib/guestInfo/Makefile.am,
	lib/guestInfo/guestInfoPerfMonLinux.c, lib/include/vm_procps.h:
	Removed open-vm-tools dependency on libproc-dev by providing some procps
	bits and pieces in our own vm_procps.h (Sourceforge bug 1960947).

	* hgfsmounter/Makefile.am: Removed chown calls. Only call chmod
	if we're running as root (requested by Dennis Leroy).

	* */foreignVMToolsDaemon.c, */foundryToolsDaemon.[ch],
	lib/guestInfo/guestInfo.c, lib/guestInfo/guestInfoServer.c,
	lib/include/guestInfoServer.h, lib/include/vixTools.h,
	lib/rpcin/rpcin.c, lib/vixTools/vixTools.c, vmware-user/copyPaste.c,
	vmware-user/vmware-user.c: More refactoring from the Tools core
	services project.

	* */foundryToolsDaemon.c: Changed HGFS mounting behavior such that the
	global HGFS share is mounted at /mnt/hgfs instead of relying on
	"mount -a".

	* guestd/toolsDaemon.[ch], lib/include/backdoor_def.h,
	lib/include/system.h, lib/include/vm_app.h, lib/system/systemLinux.c:
	Added backwards time synchronization functionality. Moved Tools scripts
	checking from VMX to guestd.

	* hgfsmounter/hgfsmounter.c: Added handling for multiple "-o" flags on
	the command line.

	* lib/dynxdr/dynxdr.c: Fixed x_putint32 behavior on 64-bit Solaris.

	* lib/file/*, lib/include/codeset.h, lib/include/file.h,
	lib/include/fileIO.h, lib/include/hostinfo.h,
	lib/include/loglevel_user.h, lib/include/productState.h,
	lib/include/timeutil.h, lib/include/unicodeTypes.h,
	lib/include/vixCommands.h, lib/include/vix.h,
	lib/include/vm_basic_asm.h, lib/include/vm_basic_types.h,
	lib/include/vm_legal.h, lib/include/vm_product.h,
	lib/include/win32util.h, lib/include/x86cpuid.h, lib/misc/codeset.c,
	lib/misc/codesetOld.[ch], lib/misc/posixPosix.c, lib/misc/timeutil.c,
	lib/region/region.c, lib/string/bsd_vsnprintf.c, lib/unicode/*,
	lib/user/hostinfoPosix.c, modules/freebsd/vmhgfs/sha1.c,
	modules/*/*/vm_device_version.h, modules/linux/*/vmci_iocontrols.h,
	modules/linux/*/vmci_version.h, modules/linux/vmhgfs/hgfsEscape.h:
	Changes from work unrelated to open-vm-tools on internal trunk.

	* lib/ghIntegration/ghIntegrationX11.c: Fixed some bugs in menu-spec and
	desktop-entry-spec support in Linux guests.

	* lib/guestApp/guestApp.c, lib/include/guestApp.h,
	lib/include/statelogger_backdoor_def.h, toolbox/Makefile.am,
	toolbox/toolbox-cmd.c, toolbox/toolbox-gtk.c, toolbox/toolboxCmdInt.h,
	toolbox/toolboxGtkInt.h, toolbox/toolboxInt.h, toolbox/toolboxRecord.c,
	toolbox/toolboxcmd-record.c: Patches from Yiwen Zhang to add basic
	record/replay controls to the gtk and command-line toolbox apps.

	* lib/guestInfo/guestInfoPosix.c: Fixed a bug where we assumed the
	primary interface's addresses were all IPv4 addresses.

	* lib/guestInfo/guestInfoServer.c: Fixed a memory leak.

	* lib/guestRpc/Makefile.am, lib/guestRpc/unityActive.x,
	lib/include/guestCaps.h, lib/include/unityCommon.h, lib/unity/unity.c,
	vmware-user/Makefile.am: Added new unityActive xdr protocol, used for
	tracking whether Unity is enabled or not.

	* lib/hgfsServer/hgfsServer.c, lib/hgfsServer/hgfsServerLinux.c,
	lib/hgfsServerPolicyGuest/hgfsServerPolicyGuest.c,
	lib/include/hgfsProto.h: Fixed bug where we were invalidating HGFS
	handles on the share of entire drive ("/"). Added optional symlink
	following behavior to HGFS server. Fixed a UTF-8 validation issue.
	Added volume ID field to attribute fields.

	* lib/include/vm_tools_version.h: Bumped internal Tools backdoor
	version.

	* lib/include/vm_version.h: Bumped TOOLS_VERSION.

	* lib/procMgr/progMgrPosix.c: Fixed impersonation behavior so that
	uids are passed to setresuid instead of gids. Added alternate way to
	list processes in situations where a process lacks a command line.

	* lib/region/region.c: Reforked xorg miregion.c and apply open-vm-tools
	specific patches.

	* lib/unity/*, lib/unityWindowTracker/unityWindowTracker.c: Fixed an
	overflow that lead to a panic when a window title exceeded 1024 bytes.
	Fixed some initialization assumptions when using virtual desktops.

	* lib/unity/unityPlatformX11Window.c: Fixed an issue with restacking
	windows above non-existent windows. Other minor fixes.

	* modules/*/*/*: Reflected changes from elsewhere.

	* modules/linux/*/Makefile.kernel: Changed clean target to remove
	Module.markers and modules.order.

	* modules/linux/vsock/include/compat_sock.h,
	modules/linux/vsock/*: Fixed several issues in vsock.

2008-09-03  Adar Dembo  <adar@vmware.com>
	* Resync with internal trunk (2008.08.29)

	* Makefile.am, aclocal.m4, m4/*: Moved macros to 'm4' subdir.

	* compile, config.guess, config.sub, config/*, depcomp, install-sh,
	ltmain.sh, missing: Moved auxiliary build tools to 'config' subdir.

	* configure.ac: Moved macros and auxiliary build tools into separate
	subdirectories. Added command line option to force the use of gtk1 over
	gtk2. Cosmetic fixes. Reworked libicu detection. Switched over to
	libtool-2.2. Added library check for new gdk symbol. Added library
	check for libnotify. Reworked use of macros from AC_PATH_XTRA and
	some X11 library checks.

	* */foundryToolsDaemon.c, toolbox/toolbox-cmd.c, guestd/main.c,
	lib/guestInfo/guestInfoPerfMonLinux.c, lib/guestInfo/guestInfoPosix.c,
	lib/misc/posixPosix.c, lib/panic/panic.c, lib/system/systemLinux.c,
	modules/linux/vsock/linux/util.c, xferlogs/xferlogs.c: Added checks for
	return codes of certain functions and passed %s to formatted string
	functions where appropriate (needed to compile on Ubuntu Intrepid).

	* lib/appUtil/appUtilX11.c: Fixed command line skipping logic and added
	more icon paths. Removed unnecessary chdir(2) canonicalization logic.

	* lib/deployPkg/runDeployPkgPosix.c, lib/file/fileIO.c,
	lib/file/fileIOPosix.c, lib/file/fileLockPrimitive.c,
	lib/file/filePosix.c, lib/hgfsServer/hgfsServerLinux.c,
	lib/include/bsdfmt.h, lib/include/file.h, lib/include/fileIO.h,
	lib/include/iovector.h, lib/include/msgfmt.h, lib/include/str.h,
	lib/include/vm_basic_defs.h, lib/include/vm_basic_types.h,
	lib/misc/hostname.c, lib/misc/idLinux.c, lib/misc/posixPosix.c,
	lib/SLPv2Parser/*.c, lib/wiper/wiperPosix.c, toolbox/toolboxScripts.c:
	Added FreeBSD compatibility glue.

	* guestd/toolsDaemon.c, lib/file/file.c,
	lib/foundryMsg/foundryPropertyListCommon.c, lib/image/imageUtilPng.c,
	lib/include/appUtil.h, lib/include/backdoor_def.h, lib/include/conf.h,
	lib/include/cpuid_info.h, lib/include/guest_os.h,
	lib/include/hostinfo.h, lib/include/imageUtil.h,
	lib/include/imageUtilTypes.h, lib/include/log.h,
	lib/include/loglevel_user.h, lib/include/netutil.h,
	lib/include/posix.h, lib/include/timeutil.h, lib/include/util.h,
	lib/include/uuid.h, lib/include/vix.h, lib/include/vixOpenSource.h,
	lib/include/vm_atomic.h, lib/include/vm_legal.h,
	lib/include/vm_version.h, lib/include/x86cpuid.h,
	lib/misc/codesetOld.c, lib/misc/timeutil.c, lib/string/bsd_vsnprintf.c,
	lib/user/util.c, lib/user/utilPosix.c, lib/vixTools/vixTools.c,
	modules/linux/*/vmci_kernel_if.h, modules/linux/vmxnet/compat_timer.h,
	toolbox/toolboxCmdInt.h, toolbox/toolboxcmd-*.c:
	Changes from work unrelated to open-vm-tools on internal trunk.

	* lib/ghIntegration/ghIntegration.c,
	lib/guestRpc/ghiGetBinaryHandlers.x: Don't send oversized messages.
	Increased maximum number of binary handlers.

	* lib/ghIntegration/ghIntegrationX11.c, lib/guestApp/guestAppPosix.c,
	lib/include/guestApp.h, lib/include/system.h, lib/system/systemLinux.c,
	toolbox/toolbox-gtk.c: Improved "run program" functionality by
	restoring program environment and stripping any VMware wrapper script
	changes to LD_LIBRARY_PATH.

	* lib/guestApp/guestAppPosixX11.c: Now using glib to open URLs instead
	of system(3). Improved gnome and kde session detection.

	* lib/guestApp/Makefile.am: This library needed GTK_CPPFLAGS too.

	* lib/guestInfo/guestInfoInt.h, lib/guestInfo/guestInfoPosix.c,
	lib/guestInfo/guestInfoServer.c: Added logic to optionally convert
	subnet mask to an ASCII string.

	* lib/guestRpc/Makefile.am: Cleaned up generated xdr headers better.

	* lib/hgfsServer/hgfsServer.c, lib/hgfsServer/hgfsServerInt.h,
	lib/hgfsServer/hgfsServerLinux.c: Fixed	problems when packing V3
	replies.

	* lib/hgfsServer/hgfsServerLinux.c: Fixed UTF-8 normal form D/C
	conversions on the root directory.

	* lib/include/dndGuest.h: Changed preprocessor usage to allow gtk1 to
	access UnityDnD.

	* lib/include/dnd.h, vmware-user/copyPaste.c: Code motion.

	* lib/include/guestCaps.h: Resort the capabilities table.

	* lib/include/rpcin.h, lib/rpcIn/rpcin.c, : Beginnings of the Tools
	core services. This is a full-fledged refactoring of the Tools
	userlevel apps to a "service" vs. "plugin" programming model.

	* lib/include/vmblock.h, modules/*/vmblock/block.c,
	modules/*/vmblock/stubs.c, modules/*/vmblock/stubs.h: Changes needed
	to support the fuse-based implementation of vmblock (coming soon).

	* lib/include/vm_tools_version.h: Some Tools version bumps.
	
	* modules/*/*/*: Reflected changes from elsewhere.

	* modules/*/*/compat/compat_stdarg.h: Added compatibility wrappers for
	stdarg features.

	* modules/freebsd/vmhgfs/debug.*: Cosmetic fixes.

	* modules/freebsd/vmhgfs/*: Make driver compliant with HGFSv3.

	* modules/*/vmmemctl/vmballoon.c: Allow module to yield the processor
	when allocating many pages.

	* modules/linux/*/autoconf/cachector1.c,
	modules/linux/*/include/compat_sched.h,
	modules/linux/*/include/compat_semaphore.h,
	modules/linux/*/include/compat_slab.h,
	modules/linux/vmblock/linux/filesystem.c,
	modules/linux/*/Makefile.kernel,
	modules/linux/vmhgfs/bdhandler.c, modules/linux/vmhgfs/filesystem.c,
	modules/linux/vmhgfs/module.h, modules/linux/vmhgfs/request.c,
	modules/linux/vmsync/sync.c, modules/linux/vsock/linux/af_vsock.c: Fix
	modules for 2.6.27 kernels.

	* modules/linux/*/Makefile: Fixed DRIVER target.

	* modules/linux/vmci/vmci_drv.c: Moved interrupt registration to be
	after driver initialization.

	* modules/linux/vsock/linux/af_vsock.c,
	modules/linux/vsock/linux/af_vsock.c: Added optimized flow control
	protocol.

	* toolbox/toolboxScripts.c, toolbox/toolboxShrink.c: Cosmetic fixes.

	* vmware-user/copyPaste.c, vmware-user/dnd.c: Fixed edge case behavior
	with file copy paste and DnD.

	* vmware-user/modconfig.c, vmware-user/notify.c,
	vmware-user/vmware-user.c, vmware-user/vmwareuserInt.h: Added stubbed
	modconfig module out-of-date notification framework. Not useful for
	open-vm-tools, hence the stubs.

2008-08-08  Adar Dembo  <adar@vmware.com>
	* Resync with internal trunk (2008.07.24)

	* configure.ac, */Makefile.am: Landed support for command line Toolbox,
	Unity, vsock, and vmci. Refactored and reformatted a few things.
	Improved portability by using $(SED) and AC_PROG_SED instead of "sed",
	$(MKDIR_P) and AC_PROG_MKDIR_P instead of "mkdir -p", $(LN_S) and
	AC_PROG_LN_S instead of "ln -s". Changed icu feature detection and
	linking to rely on C++ linker instead of C linker. Fixed module
	compilation checks on FreeBSD. Fixed $(DESTDIR) handling (patch by Mike
	Auty). Refactored lib/strUtil into lib/misc. Changed hgfsmounter
	install hook to symlink mount.vmhgfs. Renamed libghIntegrationStub to
	libGhIntegrationStub. Fixed compilation of lib/guestApp when using
	--without-x (reported by Martin Preishuber). Renamed libunityStub to
	libUnityStub. Fix build on FreeBSD by using ":=" instead of "=" when
	exporting module directories. The vmware-user desktop link now executes
	vmware-user-suid-wrapper. Properly install vmware-user-suid-wrapper.

	* */foundryToolsDaemon.c, lib/vixTools/vixTools.c: Use a larger result
	packet when handling impersonated HGFS requests (since HGFSv3 uses
	larger packets).

	* guestd/main.c: Moved foreign VM check.

	* guestd/toolsDaemon.*: Added plumbing for HGFS usability library
	calls.

	* hgfsmounter/hgfsmounter.c: Added support for passing options to
	the MacOS HGFS driver.

	* lib/appUtil/*, lib/include/appUtil.h: New library for Unity support.

	* lib/auth/authPosix.c: Don't try using PAM from the Tools.
	
	* lib/dnd/dndCommon.c, lib/dnd/dndLinux.c, lib/file/file.c,
	lib/file/fileIOPosix.c, lib/file/filePosix.c, lib/include/dnd.h,
	lib/include/loglevel_user.h, lib/include/panic.h, lib/include/posix.h,
	lib/include/strutil.h, lib/unicode/unicodeBase.h,
	lib/include/unicodeOperations.h, lib/include/vix.h,
	lib/include/vm_app.h, lib/include/vm_assert.h,
	lib/include/vm_product.h, lib/include/x86cpuid.h, lib/misc/codeset.c,
	lib/misc/hashTable.c, lib/misc/strutil.c, lib/misc/timeutil.c,
	lib/panic/panic.c, lib/string/bsd_vsnprintf.c, lib/strUtil/*,
	lib/unicode/unicodeCommon.c, lib/unicode/unicodeSimpleBase.c,
	lib/unicode/unicodeStatic.c, lib/user/hostinfoPosix.c,
	lib/user/util.c, lib/user/utilPosix.c: Changes from work unrelated to
	open-vm-tools on the internal trunk.

	* lib/backdoor/backdoorInt.h, lib/deployPkg/runDeployPkgInt.h,
	lib/dnd/dndInt.h, lib/file/fileInt.h, lib/guestInfo/guestInfoInt.h,
	lib/hgfs/cpNameInt.h, lib/hgfsServer/hgfsServerInt.h,
	lib/impersonate/impersonateInt.h, lib/include/backdoorInt.h,
	lib/include/bsd_output_int.h, lib/include/cpNameInt.h,
	lib/include/dndInt.h, lib/include/fileInt.h,
	lib/include/guestInfoInt.h, lib/hgfsServer/hgfsServerInt.h,
	lib/include/impersonateInt.h, lib/include/runDeployPkgInt.h,
	lib/include/toolsLoggerInt.h, lib/include/unicodeInt.h,
	lib/string/bsd_output_int.h, lib/toolsLogger/toolsLoggerInt.h,
	lib/unicode/unicodeInt.h: Moved some internal header files out of
	the general include directory and into the appropriate libraries.

	* lib/ghIntegration/*: New library for Unity support.

	* lib/guestApp/guestAppPosixX11.c: Reset the value of LD_LIBRARY_PATH
	before running the web browser.

	* lib/guestInfo/guestInfoPosix.c, lib/include/guest_os.h: Fixed a typo
	in Mandriva guest detection. Added Asianux.

	* lib/guestInfo/guestInfoServer.c: Fixed behavior for sending nicInfo
	updates to the host (patch by Jason Lunz).

	* lib/guestRpc/ghi*.*: New xdr protocol for Unity support.

	* lib/guestRpc/nicinfo.x: Correctly applied LGPL to file.

	* lib/hgfs/cpNameLinux.c: Allow building for versions of Solaris newer
	than 10.

	* lib/hgfsServer/hgfsServer.c,
	lib/hgfsServerPolicyGuest/hgfsServerPolicyGuest.c,
	lib/include/hgfsServerPolicy.h: Provide an override setting for
	disabling case conversion during file lookups.

	* lib/hgfsServer/hgfsServerLinux.c: Only perform case insensitive
	file lookups if a case sensitive lookup fails.

	* lib/image/imageUtilPng.c, lib/include/imageUtil.h,
	lib/include/imageUtilTypes.h: New library for
	Unity support.

	* lib/include/conf.h, toolbox/toolbox-gtk.c: Robustified the help page
	discovery mechanism.

	* lib/include/dndGuest.h: Allow inclusion of header into source files
	without GTK2 support.

	* lib/unity/*, lib/include/guestCaps.h, lib/include/unityCommon.h: New
	library for Unity support.

	* lib/include/hgfsUtil.h: Fixed a precedence issue in a macro.

	* lib/raster/*, lib/include/rasterConv.h: New library for Unity support.

	* lib/region/*, lib/include/region.h: New library for Unity support.

	* lib/include/system.h: Added new OS type for WinXP 64-bit, reformatted
	enums.

	* lib/unityWindowTracker/*, lib/include/unityWindowTracker.h: New
	library for Unity support.

	* lib/include/vm_version.h: Bumped TOOLS_VERSION.

	* lib/wiper/wiperPosix.c: Replaced BSD_VERSION with __FreeBSD_version.

	* modules/*/*/*: Reflected changes from elsewhere.

	* modules/freebsd/vmhgfs/*: Reflected changes from MacOS HGFS work, and
	fixed file permissions so that they're not all owned by root.

	* modules/linux/vmblock/linux/dentry.c: Changed d_revalidate to
	properly invalidate negative dentries.

	* modules/linux/vmci/*: Landed the Virtual Machine Communication
	Interface guest module.

	* modules/linux/vmmemctl/os.c: Fixed vmmemctl to build on 2.6.26
	(reported by Pavol Rusnak).

	* modules/linux/vmsync/sync.c: Fixed vmsync to build on 2.6.26
	(reported by Pavol Rusnak).

	* modules/linux/vsock/*: Landed the VMCI sockets interface module.

	* modules/linux/vmxnet/vmxnet.c, modules/linux/vmxnet/vmxnet2_def.h,
	modules/linux/vmxnet/vmxnetInt.h: Increased rx ring size for enhanced
	vmxnet2.

	* toolbox/*: Refactored pieces of GTK Toolbox and landed the command
	line Toolbox. Fixed mnemonic collisions in the GTK Toolbox.

	* vmware-user/copyPaste.c: Fixed several bugs with file copy paste
	behavior.

	* vmware-user/notify.c, vmware-user/vmware-user.c,
	vmware-user/vmwareuserInt.h: Added stubs for notification framework.

	* vmware-user/pointer.c: Reverted fix for bug with clipboard retry
	behavior.

	* vmware-user/vmware-user.c: Fixed build with gtk 1.2 (reported by
	Stephen Duncan). Added signal handlers for SIGUSR1/SIGUSR2 used by
	VMware Tools installer to reload vmware-user cleanly during a Tools
	upgrader. Reload vmware-user on a fatal X I/O error. Don't panic if
	run outside of a VM. Don't leave Unity mode on a Tools reset.
	
2008-07-01  Adar Dembo  <adar@vmware.com>
	* Resync with internal trunk (2008.06.30)

	* configure.ac, lib/guestApp/*, toolbox/Makefile.am,
	vmware-user/Makefile.am: Split lib/guestApp into two libraries, one
	with X11 functionality, and one without. Improved detection of
	gnome-open.

	* guestd/*, lib/netUtil/netUtilLinux.c: guestd now compiles for MacOS
	guests.
	
	* guestd/main.c, lib/include/system.h, lib/system/systemLinux.c:
	Refactored GuestdWritePidfile into System_Daemon.

	* guestd/toolsDaemon.c: Fixed a backwards time synchronization issue.
	Thanks to Eric Castan for reporting the bug.

	* lib/conf/conf.c, lib/include/conf.h: Removed obsolete configuration
	keys and values.

	* lib/file/*, lib/dict/*, lib/foundryMsg/*, lib/include/backdoor_def.h,
	lib/include/codeset.h, lib/include/config.h,
	lib/include/file_extensions.h, lib/include/fileInt.h,
	lib/include/loglevel_user.h, lib/include/msg.h, lib/include/msgid.h,
	lib/include/posix.h, lib/include/preference.h, lib/include/unity.h,
	lib/include/vixCommands.h, lib/include/vix.h,
	lib/include/vmbackup_def.h, lib/include/vmBackup.h,
	lib/include/vm_basic_defs.h, lib/include/vm_basic_types.h,
	lib/include/vm_product.h, lib/include/win32util.h,
	lib/include/x86cpuid.h, lib/misc/codeset.c, lib/misc/codesetOld.c,
	lib/misc/codesetOld.h, lib/misc/posixPosix.c, lib/strUtil/strutil.c,
	lib/user/hostinfoPosix.c, lib/user/util.c,
	lib/vmBackupLib/stateMachine.c, modules/*/vmxnet/net.h: Changes from
	work unrelated to open-vm-tools on the internal trunk.

	* lib/guestRpc/Makefile.am: Added comment about misuse of CFLAGS.

	* lib/hgfsServer/hgfsServer.c: Corrected pointer arithmetic so that
	new node and search allocation works consistently in 64-bit apps.

	* lib/hgfsServer/hgfsServerLinux.c, lib/include/hgfsProto.h: Added
	HGFS_ATTR_HIDDEN_FORCED and set it when returning hidden files.
	
	* lib/hgfsServer/*, lib/hgfsServerPolicy/hgfsServerPolicyGuest.c,
	lib/include/hgfsServerInt.h, lib/include/hgfsServerPolicy.h:
	Refactored and cleaned up some code.

	* lib/include/resolution.h, lib/resolution/*,
	vmware-user/vmware-user.c: Refactored some functions.

	* lib/include/vm_legal.h: Added another patent to the patent string.

	* lib/include/vm_tools_version.h: Added a pair of Tools version macros.

	* lib/include/vm_version.h: Bumped Tools product version.

	* lib/Makefile.am: Included a fix for compilation --without-x. Thanks to
	Mark Foster for reporting the issue.

	* lib/misc/Makefile.am, lib/misc/shared/Makefile.am: Realphabetized
	some sources and added missing source files.

	* lib/misc/posixWin32.c: Removed unneeded file from tree.

	* lib/procMgr/procMgrPosix.c: Made safe for -fPIC and for MacOS.

	* modules/*/*/*: Reflected changes from elsewhere.

	* modules/freebsd/vmhgfs/*: Added some code to handle codeset
	conversions between UTF-8 precomposed and decomposed strings.

	* modules/linux/vmhgfs/*: Refactored string escaping/unescaping code.

	* toolbox/*: Added mnemonics for some buttons.

	* vmware-user/pointer.c: Fixed bug in clipboard retry behavior.

	* vmware-user/vmware-user.c: Added handlers for SIGUSR1 and SIGUSR2
	to facilitate smooth vmware-user upgrades with respect to the vmblock
	kernel module.
	
2008-06-20  Elliot Lee  <elliot@vmware.com>

	* Resync with internal trunk (2008.06.13)

	* FreeBSD 7/8 fixes from Martin Blapp.

	* Fix getpwnam_r etc. on FreeBSD & Solaris.

	* configure.ac: Add --without-kernel-modules,
	--with-linux-release, and --with-linuxdir (gissa).

	* configure.ac, lib/guestRpc/*, lib/guestInfo/guestInfo.c,
	lib/guestInfo/guestInfoServer.c, lib/dynxdr/*,
	{vmware-user,guestd}/foreignVMToolsNetworking.c, guestd/Makefile.am,
	{vmware-user,guestd}/foundryToolsDaemon.c, lib/include/dynxdr.h,
	lib/include/guestInfo.h, lib/include/vmxrpc.h,
	lib/include/xdrutil.h, lib/Makefile.am, lib/netUtil/*,
	lib/vixTools/Makefile.am: Add support for XDR encoding of RPC
	values, including the NicInfoV2 structure.

	* guestd/stub.c, hgfsclient/Makefile.am, hgfsclient/stub.c,
	hgfsclient/stub-user-util.c, hgfsmounter/Makefile.am,
	hgfsmounter/stub.c, lib/stubs/*, libguestlib/Makefile.am,
	libguestlib/stubs.c, toolbox/Makefile.am, toolbox/stub.c,
	vmware-user/stub.c: Centralize stubs.

	* lib/guestInfo/guestInfoPerfMonLinux.c: Convert ioInRate and
	ioOutRate to be in terms of KB instead of pages.

	* lib/hgfsBd/hgfsBd.c, lib/hgfsServer/hgfsServer.c,
	lib/hgfsServer/hgfsServerLinux.c: Large packet support, and
	additional case-insensitivity fixes.

	* lib/include/hgfsBd.h, lib/include/hgfs.h,
	lib/include/hgfsProto.h: Add HGFS error code.
	
	* lib/hgfs/hgfsUtil.c, lib/guestInfo/Makefile.am,
	lib/guestInfo/guestInfoPosix.c, lib/guestApp/guestApp.c,
	lib/foundryMsg/foundryMsg.c, lib/file/fileLockPrimitive.c,
	lib/file/fileIOPosix.c, lib/file/fileLockPosix.c,
	guestd/toolsDaemon.c, guestd/debugStdio.c, guestd/main.c,
	lib/hgfsServerManagerGuest/hgfsServerManagerGuest.c,
	lib/include/codeset.h, lib/include/cpuid_info.h,
	lib/include/dnd.h, lib/include/file_extensions.h,
	lib/include/fileInt.h, lib/include/ghIntegration.h,
	lib/include/guestApp.h, lib/include/guestStats.h,
	lib/include/hgfsServerInt.h, lib/include/hgfsUtil.h,
	lib/include/hostinfo.h, lib/include/loglevel_user.h,
	lib/include/netutil.h, lib/include/panic.h, lib/include/posix.h,
	lib/include/unicode*.h, lib/include/util.h, lib/include/vix.h,
	lib/include/vixTools.h, lib/include/vm_app.h,
	lib/include/vm_basic_defs.h, lib/include/vm_product.h,
	lib/include/vm_tools_version.h, lib/include/vm_version.h,
	lib/include/x86cpuid.h, lib/misc/codeset.c, lib/misc/codesetOld.c,
	lib/misc/codesetOld.h, lib/misc/hashTable.c, lib/misc/hostname.c,
	lib/misc/timeutil.c, lib/panic/panic.c, lib/string/str.c,
	lib/sync/syncMutex.c, lib/system/systemLinux.c, lib/unicode/*.c,
	lib/unityStub/*, lib/user/hostinfo.c, lib/user/hostinfoPosix.c,
	lib/vixTools/*, modules/linux/vmxnet/*, toolbox/debugStdio.c,
	vmware-user/debugStdio.c, vmware-user/dnd.c, vmware-user/main.c:
	Bug fixes.

	* modules/linux/vmxnet/*: Remove unused BPF code. Add ethtool
	callbacks to get & set driver settings.

	* lib/user/util.c: Add function for getting backtraces.

	* lib/resolution/*, vmware-user/*, lib/Makefile.am, configure.ac:
	Move resolution-changing code into separate library.

	* guestd/main.c, lib/include/tools.h: Allow disabling tools
	version reporting to the host, via config file.

	* lib/rpcIn/*, lib/include/rpcin.h, guestd/toolsDaemon.c,
	toolbox/toolbox-gtk.c: Updated RPC API

	* lib/include/dndGuest.h: Helper API for DnD code

	* modules/freebsd/vmhgfs/*, modules/freebsd/vmmemctl/*,
	modules/freebsd/vmblock/*, modules/linux/vmhgfs/*,
	modules/linux/vmmemctl/*: Reflect changes from main source tree.

	* vmware-user/copyPaste.c: Copy/paste cleanup.

	* vmware-user/vmware-user.c: Updated locking code to use X11
	display instead of lockfiles.

2008-06-03  Adar Dembo  <adar@vmware.com>
	* Resync with internal trunk (2008.05.28).

	* configure.ac, Makefile.am, */Makefile.am: Added rudimentary
	`make install` support. Fixes Sourceforge bug 1839981.

	* configure.ac, Makefile.am, vmware-user-suid-wrapper/*: Added
	vmware-user-suid-wrapper to help autostart vmware-user. Added some
	informational tags to AC_DEFINE macros.

	* */debugStdio.c: Fixed a format string vulnerability
	in Debug. Allocate fd on the stack in DebugToFile.

	* lib/auth/authPosix.c, lib/dnd/dndCommon.c, lib/dnd/dndLinux.c
	lib/impersonate/impersonate.c: Add inclusion of vmware.h and refactor
	some include statements.

	* lib/file/file.c, lib/include/file.h: Added File_UnlinkNoFollow
	function.

	* lib/file/fileIO.c, lib/file/fileLockPrimitive.c,
	lib/include/fileIO.h: Added error case for ENAMETOOLONG to FileIO_Lock.
	Constified 'buf' in FileIO_Pwrite.

	* lib/file/fileIOPosix.c: Removed coalescing and decoalescing code.
	Consolidated some Unicode calls.

	* lib/file/filePosix.c: Reworked some error handling logic.

	* lib/foundryMsg/foundryMsg.c: Refactored buffer encoding and decoding
	logic into a single pair of functions.

	* lib/foundryMsg/foundryThreads.c, lib/include/foundryThreads.h
	lib/include/util.h, lib/misc/util_misc.c: Changed generic thread type
	from uintptr_t to Util_ThreadID.

	* lib/hgfsServer/*, lib/hgfs/hgfsProto.h, modules/linux/vmhgfs/*:
	Additional HGFSv3 fixes and refactoring.

	* lib/include/dbllnklst.h, lib/misc/dbllnklst.c: Constified argument to
	DblLnkLst_IsLinked.

	* lib/include/dnd.h: Added support for DnD of RTF.

	* lib/include/fileInt.h: Removed prototype of FileLockFileSize.

	* lib/include/hashTable.h, lib/misc/hashTable.c: Cosmetic changes.
	Added HashTable_ReplaceIfEqual.

	* lib/include/loglevel_user.h: Added hpet loglevel.

	* lib/include/msg.h: Removed prototype of MsgSetPostStderrBlock.

	* lib/include/posix.h: Removed certain includeCheck allowances.

	* lib/include/productState.h: Added VDM client product.

	* lib/include/unicode*, lib/unicode/*: Ongoing i18n work.

	* lib/include/vixCommands.h: Added command to set snapshot information.

	* lib/include/vix.h: Added more errors and a new flag.

	* lib/include/vixOpenSource.h: Reworked asserts and added VIX_ASSERT.

	* lib/include/vm_app.h: Added Tools tray app.

	* lib/include/vm_product.h: Reworked VMRC product definitions and added
	VDM client product definitions.

	* lib/include/vm_tools_version.h: Added WS65 Tools version.

	* lib/include/vm_version.h: Bumped Tools version. Added logic for VMRC
	product.

	* lib/include/x86cpuid.h: Modified a flag and trimmed an unneeded macro.

	* lib/misc/codesetOld.c: Implement UTF-16 codest conversion to UTF-8
	for CURRENT_IS_UTF8.

	* lib/misc/dynbuf.c: Modified dynbuf growing behavior.

	* lib/misc/posixDlopen.c, lib/misc/posixInt.h, lib/misc/posixPosix.h:
	Refactored codeset conversion code into PosixConvertToCurrent.

	* lib/misc/posixWin32.c: Added some path checks.

	* lib/misc/timeutil.c: Win32-wrappified TimeUtil_GetTimeFormat.

	* lib/misc/vmstdio.c: Reduce virtual memory usage and add '\r' as a line
	ending in StdIO_ReadNextLine.

	* lib/rpcout/rpcout.c: Added comments.

	* lib/str/str.c: Cosmetic changes.

	* lib/vixTools/vixTools.c: Added unlink(2) logic to avoid deleting
	symlink targets. Cosmetic changes.

	* modules/*/*/*: Reflect changes from elsewhere in the source tree.

	* modules/linux/vmhgfs/super.c: Fix vmhgfs to properly report the
	available space on the host (Sourceforge bug 1924246).

	* vmware-user/vmware-user.c: Add advisory locking code to help maintain
	only one vmware-user instance per X session.

	* xferlogs/xferlogs.c: Fix a formatted string vulnerability.

2008-05-12  Elliot Lee  <elliot@vmware.com>

	* Resync with internal trunk (2008.05.08).

	* configure.ac, **/Makefile.am: Use CPPFLAGS instead of
	CFLAGS to eliminate warning about proc/sysinfo.h.

	* guestd/foreignVMToolsNetworking.c,
	vmware-user/foreignVMToolsNetworking.c
	lib/hgfsServer/hgfsServerLinux.c, lib/include/hgfsServerInt.h,
	modules/linux/vmhgfs/bdhandler.c, modules/linux/vmhgfs/dir.c,
	modules/linux/vmhgfs/file.c, modules/linux/vmhgfs/filesystem.h,
	modules/linux/vmhgfs/fsutil.h, modules/linux/vmhgfs/inode.c,
	modules/linux/vmhgfs/link.c, modules/linux/vmhgfs/module.h,
	modules/linux/vmhgfs/page.c, modules/linux/vmhgfs/request.c,
	modules/linux/vmhgfs/request.h: Whitespace cleanups.

	* guestd/main.c: Removed "blessed app" code for starting
	vmware-user. Hooray!

	* lib/deployPkg/deployPkg.c: Remove unneeded Utf8 conversion for
	Windows.

	* lib/file/filePosix.c: Use new Posix_RealPath implementation.

	* lib/guestApp/guestApp.c, lib/include/guestApp.h: Remove/cleanup
	UTF-8 related RPC functions.

	* lib/guestInfo/guestInfoPerfMonLinux.c,
	lib/guestInfo/guestInfoPosix.c, lib/include/guestInfo.h,
	lib/include/guestInfoInt.h, lib/include/guestStats.h: Rename
	structures to GuestMemInfo, GuestNicInfo, and GuestDiskInfo.

	* lib/guestInfo/guestInfoServer.c, lib/include/guest_msg_def.h: As
	above, and also GUESTMSG_MAX_IN_SIZE moved to guest_msg_def.h, and
	misc locking updates. Also add GuestInfoServer_Main(), and cleanup
	whitespace.

	* lib/hgfsServer/hgfsServer.c: Cleanup UTF-8 handling.

	* lib/include/codeset.h: Update defines that indicate whether the
	current platform is using UTF-8.

	* lib/include/dnd.h: Add prototypes for a couple of string
	conversion functions.

	* lib/include/file_extensions.h: Add OVF and Archived OVF file extensions.

	* lib/include/file.h: C++ guard thingies. Update a couple of
	function prototypes to work on file descriptors instead of
	filenames.

	* lib/include/hashTable.h, lib/include/guest_os.h,
	lib/include/loglevel_defs.h, lib/include/stats_user_defs.h,
	lib/include/stats_user_setup.h, lib/include/str.h,
	lib/include/unicodeTypes.h, lib/include/util.h: Allow inclusion in
	kernel modules...

	* lib/include/loglevel_user.h: As above, and add a couple of
	loglevel variables.

	* lib/include/util.h, lib/misc/util_misc.c: Allow inclusion in
	kernel modules as above, and add some utility functions on Windows
	for manipulating canonical paths.

	* lib/include/hgfsProto.h, lib/include/hgfsUtil.h: Move
	request/reply payload macros to hgfsProto.h.

	* lib/include/hgfsServerPolicy.h: Add ShareList management
	prototypes and structure members.

	* lib/include/msg.h: Add function prototypes for creating and
	posting lists of messages.

	* lib/include/system.h: Add types & functions related to desktop
	switch monitoring on Windows.

	* lib/include/unicodeOperations.h: Add/update inline unicode operations.

	* lib/include/vixCommands.h: Add VIX requests and events.

	* lib/include/vmbackup_def.h, lib/vmBackupLib/stateMachine.c: Move
	backup status enum to public header.

	* lib/include/vm_basic_asm_x86_64.h: Div643232 now also works on MSC.

	* lib/include/vm_basic_defs.h: Add debug output macros for Windows drivers.

	* lib/include/vm_basic_types.h: Update the FMTPD macro, add
	SCANF_DECL macro for arg checking on scanf-like functions.

	* lib/include/x86cpuid.h: Defines for AMD L2/L3 cache separately, and CPUID for Nehalem.

	* lib/misc/codesetOld.c: Bug fixes and general unicode handling updates. 

	* lib/system/systemLinux.c: Use Posix_Getenv/Posix_Setenv impls.

	* lib/vixTools/vixTools.c, lib/vmBackupLib/scriptOps.c: Bug fixes.

	* modules/freebsd/*, modules/linux/*: Updates to correspond to
	updates of files in main tree.

	* modules/freebsd/vmhgfs/hgfs_kernel.h: Bug fixes.

	* modules/freebsd/vmxnet/vm_device_version: Add
	SCSI_IDE_HOSTED_CHANNEL define, update SCSI_MAX_CHANNELS.

	* modules/freebsd/vmxnet/vmnet.def: Add capabilities for IPv6
	checksumming and TSO, and large packet TSO.

	* lib/include/vmblock.h, modules/linux/vmblock/linux/control.c,
	modules/linux/vmblock/linux/vmblockInt.h: Use a macro to better
	abstract the vmblock mount point & device.

	* vmware-user/vmware-user.c: Add SIGPIPE to the list of signals
	that vmware-user handles.
	
2008-05-02  Adar Dembo  <adar@vmware.com>

	* Resync with internal trunk (2008.04.19).

	* configure.ac, guestd/Makefile.am, hgfsclient/Makefile.am,
	lib/misc/*/Makefile.am, lib/string/*/Makefile.am, toolbox/Makefile.am,
	vmware-user/Makefile.am, xferlogs/Makefile.am: Added libicu support for
	codeset conversions. This includes some makefile logic as well as
	autoconf arguments for controlling libicu behavior at compile-time.

	* */foreignVMToolsNetworking.c, lib/vixTools/vixTools.c: Unicode fixes.

	* */foundryToolsDaemon.c, lib/foundryMsg/vixTranslateErrOpenSource.c,
	lib/panic/panic.c, lib/printer/printer.c: Added calls to Win32 Unicode
	wrappers.

	* guestd/main.c: Cleaned up guestInfo server when guestd shuts down.

	* guestd/toolsDaemon.c, vmware-user/resolution.c: Disabled multi-mon
	advertisement for Win2k.

	* lib/auth/authPosix.c, lib/dnd/dndLinux.c, lib/file/*,
	lib/impersonate/impersonatePosix.c, lib/include/mntinfo.h,
	lib/sync/syncWaitQPosix.c, lib/user/hostinfoPosix.c, lib/user/util.c,
	lib/user/utilPosix.c, lib/wiper/wiperPosix.c: Added calls to POSIX
	Unicode wrappers. 

	* lib/file/*: Replaced calls to string functions with calls to
	the "safe" family of string functions.

	* lib/dict/dictll.c, lib/include/dictll.h: Detect and tolerate UTF-8
	dictionary files that contain the UTF-8 BOM.

	* lib/err/*, lib/include/err.h, lib/include/msgfmt.h,
	lib/include/msg.h: Added support for localization of error strings.

	* lib/foundryMsg/foundryThreads.c, lib/include/foundryThreads.h,
	lib/misc/util_misc.c: Added opaque type for threads/process IDs.

	* lib/guestInfo/guestInfoServer.c: Removed separate thread context.

	* lib/hgfsServer/*, lib/include/hgfs*.h: Additional HGFSv3 cleanup.

	* lib/hgfsServer/hgfsServerLinux.c: Added calls to POSIX Unicode
	wrappers. Fixed some alias detection code for MacOS.

	* lib/include/backdoor_def.h: Added backdoor call for debugging events.

	* lib/include/bsdfmt.h, lib/string/bsd_vsnprintf.c,
	lib/string/bsd_vsnprintfw.c: Replaced BSDFmt_WCSonv with
	BSDFmt_WChartoUTF8.

	* lib/include/codeset.h, lib/include/codesetOld.h, lib/misc/codeset.c,
	lib/misc/codesetOld.c, lib/string/convertutf.h: Implemented
	libicu-backed codeset layer. When building without libicu, fallback on
	codesetOld.

	* lib/include/guestApp.h: Added wide versions of dictionary functions.

	* lib/include/loglevel_user.h: Added two new loglevels.

	* lib/include/posix.h, lib/misc/posixPosix.c: Added new POSIX wrappers.

	* lib/include/str.h: Clarified the use of some functions.

	* lib/include/syncMutex.h, lib/include/syncWaitQ.h: Removed unneeded
	macros.

	* lib/include/unicode*.h, lib/unicode/*: Ongoing Unicode work.

	* lib/include/util.h: Added Util_FreeStringList, removed Util_FreeList.

	* lib/include/uuid.h: Added new UUID creation scheme.

	* lib/include/vix*.h: Tweaked some VIX commands, errors, and properties.

	* lib/include/vmBackup.h, lib/vmBackupLib/scriptOps.c,
	lib/vmBackupLib/stateMachine.c: Moved disabled targets logic from
	library to Windows VSS provider.

	* lib/include/vm_basic_asm_x86*.h: Allow emitted FX functions to
	modify main memory as a side effect.

	* lib/include/vm_tools_version.h: Bump Tools version.

	* lib/include/vm_version.h: Added several product versions.

	* modules/linux/vmhgfs/*: Additional cleanup for HGFSv3. Use new kthread
	wrapper when possible. Bump module version.

	* modules/linux/vmmemctl/*: Use new kthread wrapper when possible.
	Remove dead delayed work code. Bump module version.

	* modules/linux/*/compat_kthread.c: Added kthread wrapper implementation
	for modules that use kernel threads.

	* modules/*/*/*: Reflect header file changes from elsewhere in the
	source code tree.

	* vmware-user/copyPaste.c, vmware-user/pointer.c,
	vmware-user/vmwareuserInt.h: Stop wastefully polling for pointer
	updates if the VMX is new enough.

	* xferlogs/xferlogs.c: Fixed a warning in the call to fwrite.
	(Thanks to Denis Leroy for reporting this bug.)
	
	
2008-04-14  Elliot Lee  <elliot@vmware.com>

	* Resync with internal trunk (2008.04.01).

	* Fixed legal header on all LGPL-licensed files.

	* vmware-user/resolution.c: Normalize the display topology that
	comes in from the host, and report 'global_offset' capability.

	* toolbox/Makefile.am, vmware-user/Makefile.am,
	lib/misc/Makefile.am, lib/misc/atomic.c, lib/Makefile.am,
	lib/atomic/*, hgfsclient/Makefile.am: Move libAtomic stuff into libmisc

	* vmware-user/foundryToolsDaemon.c, lib/vixTools/vixTools.c,
	lib/include/hgfsServerInt.h, guestd/toolsDaemon.c,
	guestd/foundryToolsDaemon.c: Remove WIN9XCOMPAT, and some
	SOCKET_MGR code.

	* vmware-user/copyPaste.c: Copy/paste fixes for cross-platform
	operation.

	* modules/linux/vmxnet/vmnet_def.h: Add SG_SPAN_PAGES capability.

	* modules/linux/vmxnet/vm_device_version.h: Update some device limits.

	* modules/linux/*/compat_sched.h: Add TASK_COMM_LEN define.

	* modules/linux/*/compat_kernel.h,
	modules/linux/*/kernelStubsLinux.c: Add vsnprintf define.

	* modules/linux/*/x86cpuid.h: Add new CPUs.

	* modules/linux/vmhgfs/vmhgfs_version.h: Bump HGFS version.

	* modules/linux/*/vm_basic_asm_x86.h,
	modules/linux/*/vm_basic_asm_x86_64.h,
	lib/include/vm_basic_asm_x86.h, lib/include/vm_basic_asm_x86_64.h:
	Formatting fixes, and change asm directives used.

	* modules/linux/vmhgfs/module.h,
	modules/linux/vmhgfs/filesystem.c,
	modules/linux/vmhgfs/bdhandler.c,
	modules/linux/*/compat_kthread.h: compat_kthread fixes.

	* modules/freebsd/vmxnet/net_compat.h,
	modules/freebsd/vmxnet/if_vxn.c: Updates for FreeBSD 7.0.
	(Thanks to Martin Blapp for contributing to these changes.)

	* lib/misc/util_misc.c, lib/include/loglevel_user.h,
	lib/user/hostinfoPosix.c, lib/misc/hostname.c: Bugfix.

	* lib/unityStub/unityStub.c, lib/include/unity.h: Add stub and enums
	related to DnD support.

	* lib/unicode/unicodeSimpleTypes.c,
	lib/unicode/unicodeSimpleTransforms.c,
	lib/unicode/unicodeSimpleBase.c, lib/unicode/unicodeCommon.c,
	lib/include/unicodeTypes.h,
	lib/include/unicodeTransforms.h,
	lib/include/unicodeBase.h, lib/include/unicodeCommon.h: Add
	additional Unicode-related functions.

	* lib/sync/syncMutex.c, lib/include/syncMutex.h: Add TryLock method.

	* lib/strUtil/strutil.c: Add int64-related functions.

	* lib/string/str.c: Compile fix

	* lib/string/bsd_output_shared.c: Better handling of floating
	point on Windows.

	* lib/include/progMgr.h, lib/procMgr/procMgrPosix.c: Clarify that
	the strings are in UTF-8, do conversion as needed.

	* lib/include/posix.h, lib/misc/posixPosix.c,
	lib/misc/posixWin32.c, lib/file/filePosix.c: Add new Posix_
	function implementations, and unicodify existing ones.

	* lib/misc/hashTable.c, lib/include/hashTable.h: Add lock-less hash
	table functions.

	* lib/misc/util_misc.c, lib/include/w32util.h: Add a couple of
	Win32 utility functions.

	* lib/include/vm_version.h: Add WS5 config version.

	* lib/include/vm_atomic.h: Add typecasts to atomic operations to
	make compilers stop complaining, and expand the AtomicUseFence option.

	* lib/include/vm_app.h: Add a couple of HGFS-related options.

	* lib/include/vix.h: Update a few errors and other macros.

	* lib/include/vixCommands.h, lib/foundry/foundryMsg.c: Change a
	bunch of structure members from int32 to uint32, and add a parsing
	function.

	* lib/include/msgfmt.h, lib/include/msg.h: Additional
	message-handling prototypes.

	* lib/include/guestInfoInt.h, lib/include/guestInfo.h,
	lib/guestInfo/Makefile.am, lib/guestInfo/guestInfoServer.c,
	lib/guestInfo/guestInfoPosix.c,
	lib/guestInfo/guestInfoPerfMonLinux.c: Add IPv6 support, and the
	ability to read mem stats on Linux.

	* lib/include/fileIO.h, lib/file/fileIOPosix.c: Add MacOS function
	related to Time Machine.

	* lib/guestApp/guestApp.c: Use Posix_ variants of functions.

	* lib/ghIntegrationStub/ghIntegrationStub.c: Add GHI capabilities
	stubs.

	* lib/dnd/dndCommon.c, lib/file/file.c: Use new Unicode_Format()
	function, bugfix.

	* guestd/main.c: Fix a security bug.

	* configure.ac: Allow calling libdnet 'dumbnet' for Debian
	systems. Detect libprocps.

2008-03-19  Adar Dembo  <adar@vmware.com>

	* Resync with internal trunk (2008.03.13).

	* vm_version.h: Updated Tools version.

	* configure.ac: Added dynamic dnet detection and --without-dnet flag.

	* guestd/debugStdio.c, lib/include/system.h, lib/system/systemLinux.c:
	Modified debugging to file behavior to prepend debug strings with human
	readable timestamps.

	* guestd/main.c, guestd/toolsDaemon.c, lib/conf/conf.c,
	lib/guestApp/guestApp.c, lib/include/guestApp.h: Internationalized
	GuestApp_GetInstallPath and GuestApp_GetconfPath.

	* lib/auth/authPosix.c, lib/dnd/dndLinux.c, lib/file/*,
	lib/impersonate/impersonatePosix.c, lib/include/fileInt.h,
	lib/include/posix.h, lib/misc/posix*.c: Refactored, extended, and made
	use of the set of POSIX internationalization-safe function wrappers.

	* lib/dnd/dndCommon.c, lib/include/dnd.h, lib/include/dndInt.h,
	vmware-user/copyPaste.c, vmware-user/dnd.c: Replaced some duplicated
	UTF-8 formatting code with calls to lib/unicode.

	* lib/guestInfo/guestInfoPosix.c: Replaced the old syscall-based
	implementation of nicinfo with a simpler implementation that uses dnet.

	* lib/guestInfo/guestInfoServer.c, lib/include/guestInfo.h,
	lib/include/guestInfoInt.h: Added Win32 implementation of
	meminfo. POSIX implementation to follow.

	* lib/hgfsServer/hgfsServerLinux.c: Replaced a direct readlink(3) call
	with a call to the POSIX wrapper for readlink(3). Relax an overeager
	ASSERT in symlink checking when using the special empty share.

	* lib/include/codeset.h, lib/string/bsd_vsnprintf.c, lib/string/str.c,
	lib/unicode/unicodeSimpleOperations.c, lib/unicode/unicodeSimpleUTF16.h:
	Refactored ICU routines from unicodeSimpleUtf16.h to codeset.h, which
	is now licensed under the ICU license (BSD variant).

	* lib/include/file.h, lib/file/file.c: Added function File_StripSlashes.

	* lib/include/hgfsProto.h: Removed an A acute from a comment to allow
	the file to be built on Windows systems where the default language isn't
	English.

	* lib/include/hostinfo.h, lib/include/util.h, lib/user/hostinfoPosix.c,
	lib/user/util.c, lib/user/utilPosix.c: More conversions to
	lib/unicode. Added Util_ZeroFreeStringW function for Windows in util.h.

	* lib/include/msg.h: Removed obsolete NO_MSGFMT macro.

	* lib/include/unicodeBase.h, lib/unicode/unicodeCommon.c,
	lib/unicode/unicodeSimpleBase.c: Added some more encoding functions.

	* lib/include/vixCommands.h, lib/include/vixOpenSource.h: Added another
	user credential type, some command flags, some command layouts, some
	error codes, some properties, and tweaked existing commands.

	* lib/include/vixTools.h: Added VixToolsUserIsMemberOfAdministratorGroup
	function.

	* lib/include/vm_assert.h, lib/include/vm_basic_defs.h: Move IMPLIES to
	vm_basic_defs.h. Removed some vprobes definitions.

	* lib/include/vmBackup.h, lib/vmBackupLib/scriptOps.c,
	lib/vmBackupLib/stateMachine.c: Added infrastructure to disable
	quiescing targets from a config file.

	* lib/include/vm_basic_asm.h: Changed __GET_CPUID2 handling for Windows.

	* lib/include/vm_produt.h: Added VDM product.

	* lib/include/vm_tools_version.h: Bumped internal Tools version.

	* lib/include/win32util.h, lib/misc/hostname.c, lib/misc/util_misc:
	Refactored functions to separate set of Win32 wrappers (next to the
	POSIX wrappers mentioned earlier).

	* lib/misc/codeset.c: Made CodeSetGetCurrentCodeSet non-static.

	* lib/misc/*/Makefile.am: Added POSIX wrappers to build system.

	* lib/strUtil/strutil.c: Fixed bug in StrUtil_EndsWith function.

	* lib/include/unicodeTypes.h, lib/unicode/unicodeSimpleTypes.c: Removed
	ISO-8859-11 encoding. Added cross-reference of IANA character set
	names, windows code pages, and ICU encodings.

	* lib/vixTools/vixTools.c: Impersonation tweaks.

	* modules/*/*/*: Reflect header file changes from elsewhere in the
	source code tree.

2008-03-11  Adar Dembo  <adar@vmware.com>

	* vm_version.h: Updated Tools version.

	* modules/vmblock/linux/*: Make vmblock build under 2.6.25-rc2.
	The dentry and mount objects have been moved out of struct
	nameidata and into the new struct path. Also, path_release() is
	now path_put().

	* modules/vmsync/linux/*: Make vmsync build under 2.6.25-rc2.
	The same changes were needed here as in vmblock above.

2008-03-10  Adar Dembo  <adar@vmware.com>

	* vm_version.h: Updated Tools version.

	* modules/vmhgfs/linux/*: Make vmhgfs build under 2.6.25-rc1.
	The iget() function has been removed and filesystems are now
	expected to implement it themselves using iget_locked().

2008-02-27  Elliot Lee  <elliot@vmware.com>

	* configure.ac, guestd/Makefile.am, toolbox/Makefile.am,
	vmware-user/Makefile.am: Allow passing custom LDFLAGS in to
	build process (patch by Mike Auty).

	* Resync with internal trunk (2008.02.27).

	* guestd/foundryToolsDaemon.c, lib/vixTools/vixTools.c,
	vmware-user/foundryToolsDaemon.c: Win9x compat changes.

	* guestd/toolsDaemon.c: Style fixes.

	* hgfsmounter/hgfsmounter.c: Bug fixes.

	* lib/dnd/dndLinux.c, lib/dnd/dndCommon.c: Move some code to the
	platform-independant file, some DnDv3 support.

	* lib/include/dnd.h, lib/include/dndInt.h: DnDv3 support.

	* lib/file/file.c, lib/file/fileIO.c, lib/file/fileIOPosix.c,
	lib/file/fileLockPrimitive.c, lib/file/filePosix.c,
	lib/include/file_extensions.h, lib/include/fileInt.h,
	lib/include/fileIO.h: Move functions around, Unicode fixes, misc
	fixes.

	* lib/foundryMsg/foundryPropertyListCommon.c: Error handling fixes.

	* lib/hgfsServer/*.c, lib/include/hgfs*.h,
	modules/freebsd/vmhgfs/*, modules/linux/vmhgfs/*: HGFS v3 support,
	updates to improve code re-use between the FreeBSD and MacOS X
	ports, and updates to make the Linux port build on 2.6.25-rc1 (but
	not rc2, yet).

	* lib/include/auth.h, lib/include/codeset.h,
	lib/include/hostinfo.h, lib/include/str.h, lib/include/unicode*.h,
	lib/include/vm_basic_types.h, lib/misc/hostname.c,
	lib/unicode/*.c, lib/user/hostinfoPosix.c: Unicode fixes.

	* lib/include/backdoor_def.h: Add a new command for use by the
	BIOS in checking the GuestOS against Darwin.

	* lib/include/dynarray.h, lib/misc/dynarray.c,
	lib/misc/Makefile.am, lib/misc/shared/Makefile.am: Add Dynarray
	implementation.

	* lib/include/bsdfmt.h, lib/include/bsd_output_int.h,
	lib/string/bsd_output_shared.c, lib/string/bs_vsnprintf.c,
	lib/string/bsd_vsnwprintf.c, lib/string/str.c: Rework built-in
	printf implementation, esp. for Unicode fixes.

	* lib/include/ghIntegration.h: Shuffle types around.

	* lib/include/loglevel_user.h, lib/include/unity.h,
	lib/syncDriver/syncDriverPosix.c, lib/user/util.c,
	toolbox/toolbox-gtk.c: Misc fixes.

	* lib/include/vmBackup.h, lib/vmBackupLib/scriptOps.c,
	lib/vmBackupLib/stateMachine.c, lib/vmBackupLib/vmBackupInt.h:
	Rework scripts for freeze & thaw operations.

	* lib/include/vm_product.h, lib/include/vm_version.h: Add new
	product defs (VMRC).

	* lib/include/vm_tools_version.h: Add ESX 3.5U1 product.

	* lib/include/vixCommands.h, lib/include/vix.h: Add new VIX
	commands and error code.

	* lib/include/win32util.h: Add misc Win32 utilities.

	* modules/*/*/*: Reflect header file changes from elsewhere in the
	source code tree.

2008-02-13  Adar Dembo  <adar@vmware.com>

	* Resync with internal trunk (2008.02.12).

	* configure.ac, lib/unityStub/*, lib/ghIntegrationStub/*,
	lib/Makefile.am, vmware-user/Makefile.am, vmware-user/vmware-user.c:
	Added lib/unityStub and lib/ghIntegrationStub. Unity and guest-host
	integration features for X11 guests are on the way.

	* configure.ac, guestd/Makefile.am, lib/fileUtf8/*,
	lib/vixTools/vixTools.c, vmare-user/Makefile.am: lib/file is now fully
	internationalized. Removed unneeded lib/fileUtf8.

	* foundryToolsDaemon.c: Fixed a leak of the sync driver handle.

	* guestd/toolsDaemon.c: Send guestd's "config directory" to the VMX for
	publishing.

	* hgfsmounter/hgfsmounter.c: Port to MacOS.

	* lib/dnd/*, lib/err/err.c, lib/file/*, lib/include/dnd*,
	lib/include/file*, lib/include/unicode*, lib/include/util.h,
	lib/unicode/*, lib/user/utilPosix.c: More Unicodification.

	* lib/file/file.c, lib/include/file.h: Added File_EnsureDirectory.

	* lib/foundryMsg/foundryMsg.c, lib/guestInfo/guestInfoServer.c,
	lib/misc/codeset.c, lib/misc/vmstdio.c,
	lib/SLPv2Parser/SLPv2MsgAssembler.c, lib/user/util.c: Removed some
	unneeded casts.

	* lib/foundryMsg/foundryThreads.c, lib/include/foundryThreads.h: Added
	FoundryThreads_Free.

	* lib/guestInfo/*, lib/include/guest_os.h, lib/include/guestInfo.h:
	Refactored GetSystemBitness. Removed osNames.h.

	* lib/hgfsServer/hgfsServerLinux.c: Modified MacOS alias resolution code
	so as not to mount volumes. Made HGFS query volume code more resilient
	to failures.

	* lib/include/backdoor_def.h: Added commands for VAssert.

	* lib/include/escape.h, lib/misc/escape.c: Escape_Do is no longer
	declared inline.

	* lib/include/hashTable.h, lib/misc/hashTable.c, lib/misc/Makefile.am,
	lib/misc/shared/Makefile.am: Renamed from hash.[ch].

	* lib/include/iovector.h, lib/include/vm_basic_types.h: Added
	SectorType definition.

	* lib/include/loglevel_user.h: Added additional log levels.

	* lib/include/msgfmt.h: Modified for use in VMKERNEL. Added
	MsgFmt_GetArgswithBuf.

	* lib/include/msg.h: Added Msg_AppendVob for ESX.

	* lib/include/stats_user*: Modified some preprocessing steps. Added
	SETUP_WANT_GETVAL to retrieve named stat counter values.

	* lib/include/str.h: Modified behavior Str_* family of functions for
	Windows.

	* lib/include/strutil.h, lib/strUtil/strutil.c: Removed Split, Grep,
	GrepFd, and GrepFree. Added EndsWith and DecimalStrToUint.

	* lib/include/syncWaitQ.h, lib/sync/*: Modified SyncWaitQ_Add and
	SyncWaitQ_Remove to use PollDevHandle fd types instead of int fd types.

	* lib/include/timeutil.h, lib/misc/timeutil.c: Added
	TimeUtil_GetLocalWindowsTimeZoneIndex and some helper functions.

	* lib/include/util.h, lib/user/utilPosix.c: Added Util_BumpNoFds.

	* lib/include/vixCommands.h: Added commands for device hotplug and
	remote debugging.

	* lib/include/vix.h, lib/include/vixOpenSource.h: Added some new errors
	and properties. Added more VM manipulation functions.

	* lib/include/vm_atomic.h: Comment cleanup and added VMKERNEL-specific
	calls for fencing.

	* lib/include/vm_basic_asm_x86_64.h: Added inline routines to save and
	restore ES1.

	* lib/include/vm_basic_types.h: Added some types and cleaned up a bit.

	* lib/include/vm_legal.h: Updated COPYRIGHT_YEARS.

	* lib/include/vm_product.h: Added hostd service name.

	* lib/include/x86cpuid.h: Cleaned up the file and added some definitions
	for Penryn processors.

	* lib/misc/codeset.c: Added new UTF-16 --> UTF-8 conversion routine.

	* lib/misc/util_misc.c, lib/user/util.c: Moved Util_GetCurrentThreadId
	and friends to util_misc.c.

	* lib/procMgr/procMgrPosix.c: Cleaned up some code and reworked
	asynchronous process execution so as to properly track the grandchild's
	pid instead of the child's pid.

	* lib/string/bsd*: Reorganized BSD formatter.

	* lib/string/str.c: Updated unit tests. Added some Windows corner case
	behavior for Str_Vsnwprintf.

	* lib/strUtil/strutil.c: Fixed some corner cases in existing functions
	that call strtoul.

	* lib/vixTools/vixTools.c: Changed signature of VixToolsImpersonateUser.
	Changed error code handling in a few places.

	* modules/freebsd/vmhgfs/*: Refactored a lot of code so that it can be
	safely reused within the MacOS vmhgfs module.

	* modules/*/*/kernelStubs*: Removed dead System_Uptime function.

	* modules/linux/*/compat_wait.h: Reworked VMW_HAVE_EPOLL macro. Added
	waitqueue helper macros for older kernels.

	* modules/linux/vmhgfs/file.c, modules/linux/vmhgfs/fsutil.*,
	modules/linux/vmhgfs/inode.c: Added HgfsSetUidGid function and used it
	to preserve uid/gid after creating a directory.

	* modules/linux/vmhgfs/vmhgfs_version.h: Bumped driver version.

	* modules/linux/vmsync/compat_workqueue.h: Basic implementation of
	work queues and delayed work queues (using taskqueues and timers) for
	older kernels.

	* modules/linux/vmsync/sync.c: Modified internal state to use new
	compatible work queue implementation.

	* modules/linux/vmxnet/compat_ioport.h,
	modules/linux/vmxnet/compat_netdevice.h,
	modules/linux/vmxnet/compat_pci.h,
	modules/linux/vmxnet/compat_skbuff.h,
	modules/linux/vmxnet/vmxnetInt.h: Added and refactored
	compatibility macros for use in vmxnet3 and vmci sockets modules.

	* modules/linux/vmxnet/vmxnet.c: Hide some kernel functions behind
	compatibility macros.

2008-01-23  Adar Dembo  <adar@vmware.com>

	* Resync with internal trunk (2008.01.08).

	* configure.ac, guestd/Makefile.am, hgfsclient/Makefile.am,
	lib/Makefile.am, toolbox/Makefile.am, vmware-user/Makefile.am:
	integrated lib/unicode for internationalizing strings.

	* guestd/main.c: Stopped using pgrep for finding existing instances
	of guestd. Removed ancient bandwidth test code.

	* guestd/toolsDaemon.c: Moved initial send of the guest's uptime from
	when guestd sends its version to when guestd registers its
	capabilities.

	* lib/file/*, lib/include/file*.h : Massive overhaul of lib/file to
	integrate the new unicode strings that are i18n-safe. Quite a bit of
	cleanup and refactoring as well.

	* lib/file/file.c: Addition of File_PrependToPath function.

	* lib/file/fileIOPosix.c: Addition of FileIO_SetExcludedFromTimeMachine
	and FileIO_PrivilegedPosixOpen functions.

	* lib/fileUTF8/fileUTF8Linux.c, lib/include/fileUTF8.h: Removal of some
	casts and addition of FileUTF8_GetSize function.

	* lib/foundryMsg/foundryMsg.c, lib/misc/vmstdio.c,
	lib/SLPv2Parser/SLPv2MsgAssembler.c: Addition of some casts.

	* lib/foundryMsg/foundryPropertyListCommon.c: Robustified some error
	cases.

	* lib/foundryMsg/vixTranslateErrOpenSource.c,
	lib/include/vixOpenSource.h: Added VIX_E_OUT_OF_MEMORY error code.
	Added Vix_TranslateCOMError function. ADded VIX_DEBUG macro.

	* lib/guestInfo/guestInfoServer.c, lib/include/guestInfo.h: Added some
	casts and refactored some functions. Also fixed a crash that hinders
	backwards compatibility.

	* lib/hgfs/cpNameUtil.c, lib/hgfs/cpNameUtilLinux.c,
	lib/hgfsBd/hgfsBd.c, lib/include/cpName.h, lib/include/cpNameLite.h,
	lib/include/escBitvector.h, lib/include/hgfsUtil.h,
	lib/message/messageBackdoor.c, lib/message/message.c,
	lib/message/messageStub.c, lib/rpcout/rpcout.c,
	modules/freebsd/vmhgfs/kernelStubs.h: Made safe for inclusion in MacOS
	kernel module code.

	* lib/include/backdoor.h: Refactored some type definitions.

	* lib/include/bsd_output_int.h, lib/include/safetime.h,
	lib/string/bsd_output_shared.c: Made safe for Win64 builds.

	* lib/include/dynbuf.h: Added DynBuf_AppendString function.

	* lib/include/err.h: Assorted cleanup.

	* lib/include/escape.h, lib/misc/escape.c: Converted Escape_Do to be
	inline. Some cleanup.

	* lib/include/guest_os.h: Assorted cleanup.

	* lib/include/hash.h, lib/misc/hash.c, lib/misc/Makefile.am,
	lib/misc/shared/Makefile.am: Added basic hash table implementation.

	* lib/include/hostinfo.h, lib/user/hostinfoPosix.c: Refactored and
	added several timekeeping functions.

	* lib/include/localconfig.h, lib/include/util_shared.h: Modified
	statements for include check.

	* lib/include/log.h: Changed the value of some macros when debugging.

	* lib/include/loglevel_defs.h: Refactoed some code, added macros for
	use in the VMM.

	* lib/include/loglevel_user.h: Added loglevels for some new components.

	* lib/include/msgfmt.h: Added new functions.

	* lib/include/msg.h: Added new Msg_LocalizeList function.

	* lib/include/netutil.h: Modified prototypes for two Windows-only
	functions.

	* lib/include/preference.h: Added new Preference_GetInt64 and
	Preference_SetFromString functions.

	* lib/include/strutil.h, lib/strUtil/strutil.c: Cleaned up and added
	some new functions.

	* lib/include/su.h: Cleanup.

	* lib/include/syncMutex.h, lib/sync/syncMutex.c: Added NetWare
	implementation of some synchronization primitives.

	* lib/include/unicode*, lib/unicode/*: New library for handling
	Unicode-aware strings.

	* lib/include/util.h, lib/user/util.c: Assorted refactoring and
	addition of some new functions, one related to backtracing.

	* lib/include/vixCommands.h: New commands for vprobes, replay, message
	dialogs, and others, plus cleanup of some existing commands.

	* lib/include/vm_assert.h: Added IMPLIES macro.

	* lib/include/vm_atomic.h, lib/include/vm_basic_asm.h: Refactored for
	safe Win64 builds.

	* lib/include/vm_basic_defs.h: Added compatibility code for __va_copy.

	* lib/include/vm_basic_types.h: Added FMTH for printing the value of
	handles. Set a new #pragma to ignore size_t truncation warnings on
	Windows. Added several other macros, as well as a ssize_t definition
	for some versions of BSD.

	* lib/include/vm_legal.h: Added more patents to the patent string.

	* lib/include/vm_product.h: Added new macros for some products.

	* lib/include/vm_tools_version.h: Added macros for certain older Tools
	versions and for PRODUCT_BUILD_NUMBER refactoring.

	* lib/include/vm_version.h: Tweaked some product expiration dates and
	versions. Refactored many uses of BUILD_NUMBER to PRODUCT_BUILD_NUMBER.

	* lib/include/x86cpuid.h: Tweaked definition of RDTSCP flag. Refactored
	BIT_MASK macro to VMW_BIT_MASK.

	* lib/misc/base64.c: Modified calling contract for Base64_EasyEncode.

	* lib/misc/codeset.c: Tweaked casts and preprocessor conditioning.

	* lib/misc/idLinux.c: Added IdAuthCreateWithFork and reworked several
	other functions to work around a bug in Apple's detection of GUI
	processes.

	* lib/misc/util_misc.c: Moved W32Util_GetLongPathName and
	W32UTil_LookupSidForAccount elsewhere.

	* lib/rpcin/rpcin.c: Addition of a ping GuestRPC callback.

	* lib/string/str.c: Removed a comment.

	* lib/sync/syncWaitQPosix.c: Added code to disable a workaround for a
	MacOS bug when appropriate (it was fixed in Leopard).

	* lib/vixTools/vixTools.c: Refactored some code, added code to modify
	the guest's networking configuration, added some casts, and added
	code to prevent renaming a file to itself.

	* modules/freebsd/*/Makefile, modules/linux/*/Makefile.normal: Set a
	make variable so the module file will be build in the parent directory.
	Removed some unused rules.

	* modules/freebsd/vmhgfs/kernelStubsBSD.c,
	modules/linux/vmhgfs/kernelStubsLinux.c: Removed unused function.

	* modules/linux/*/include/driver-config.h: Added check to prevent
	uintptr_t from being declared twice.

	* modules/linux/vmblock/linux/filesystem.c,
	modules/linux/vmblock/Makefile.kernel: Added check for newer kernels
	where the slab allocator's constructor function expects three
	arguments. Makes it work with 2.6.25-rc1 (but not rc2, yet).

	* modules/linux/vmblock/linux/vmblock_version.h: Bumped module version.

	* modules/linux/vmhgfs/filesystem.c, modules/linux/vmhgfs/inode.c,
	modules/linux/vmhgfs/module.h, modules/linux/vmhgfs/page.c: Added
	support for writeback caching in conformant kernels.

	* modules/linux/vmhgfs/vmhgfs_version.h: Bumped module version.

	* modules/linux/vmxnet/vmxnetInt.h: Renamed a type and removed the
	inclusion of unnecessary headers. Pruned said headers from codebase.

2007-11-15  Elliot Lee  <elliot@vmware.com>

	* Bandsaw release (2007.11.15).

	* configure.ac: Handle building modules for multiple OS's. Improve
	X detection to allow building --without-x. Improve Gtk+
	detection. Detect libdnet on Solaris. Detect which -Wwarning flags
	the compiler can handle.

	* vmware-user/foreignVMToolsNetworking.c, lib/vixTools/vixTools.c,
	guestd/foreignVMToolsNetworking.c, lib/include/netutil.h,
	lib/include/guestInfo.h, lib/netUtil/netUtilLinux.c,
	lib/include/guestInfoInt.h, lib/guestInfo/guestInfoPosix.c,
	lib/guestInfo/guestInfoServer.c: Move to new NicInfo structures.

	* vmware-user/foundryToolsDaemon.c, guestd/foundryToolsDaemon.c:
	Make sure requestMsg is not NULL before looking inside it.

	* guestd/main.c: Cleanup of HGFS pserver and mounting code. Check
	for some type of signal when sending an RPC.

	* guestd/toolsDaemon.c, vmware-user/resolution.c: Have the guest
	tell the host whether screen resolution changes should be sent,
	instead of having the host guess it based on the OS type set in
	the .vmx file.  Better timeout checking to avoid problems when
	host & guest time diverge.

	* hgfsmounter/hgfsmounter.c: FreeBSD support. Fixes to compile on
	old systems.

	* lib/backdoor/backdoor.c: Tweak for FreeBSD kernel modules.

	* lib/include/mntinfo.h, lib/dnd/dndLinux.c,
	lib/wiper/wiperPosix.c, lib/syncDriver/syncDriverPosix.c: Fixes to
	compile on new systems w/gcc 4.2.

	* lib/err/err.c, lib/err/errPosix.c, lib/err/Makefile.am: Move
	Err_Errno2String function into POSIX-specific source file.

	* lib/file/fileIOPosix.c: Handle EDQUOT if applicable. Fixes to
	compile on new systems where SYS__llseek may not be
	available. Better reporting of errors, by translating errno into
	FILEIO_* error codes.

	* lib/file/fileLockPosix.c: Fixes to compile on old systems. Add a
	bunch of functions to the FileLock* API.

	* lib/file/fileLockPrimitive.c, lib/include/fileInt.h: Bunch of
	file locking cleanups and bug fixes.

	* lib/file/filePosix.c: Bunch of MacOS-related fixes. Add
	File_GetTimes(), FilePosixGetParent(), FilePosixGetBlockDevice(),
	etc.

	* lib/fileUtf8/fileUTF8Linux.c: Add FileUTF8_GetTimes() function.

	* lib/foundry/foundryMsg.c, lib/include/vixCommands.h: Add
	VIX_USER_CREDENTIAL_HOST_CONFIG_HASHED_SECRET credential type, and
	a bunch of VIX commands relating to record-replay.

	* lib/foundryMsg/vixTranslateErrOpenSource.c: Translate a couple
	more error codes.

	* lib/guestInfo/guestInfoPosix.c, lib/guestInfo/Makefile.am: Use
	libdnet on Solaris to retrieve networking info.

	* lib/hgfs/cpNameUtil.c, lib/hgfs/cpNameUtilInt.h,
	lib/hgfs/cpNameUtilLinux.c: Couple more CPName <-> UTF8 conversion
	routines. Some MacOS changes as well.

	* lib/hgfs/hgfsUtil.c, lib/include/hgfs.h,
	modules/linux/vmhgfs/fsutil.c: Handle ENAMETOOLONG.

	* lib/hgfs/staticEscape.c, lib/hgfs/hgfsBd.c: Handle FreeBSD as
	well.

	* lib/hgfsServer/hgfsServer.c: Tie in the cpNameUtil UTF8 changes
	on MacOS.

	* lib/hgfsServer/hgfsServerLinux.c: Make the getdents() wrapper
	work on a wider range of Linux systems. Add "alias" resolution on
	MacOS, and tie in the cpNameUtil UTF8 changes on MacOS.

	* lib/hgfsServer/hgfsServerPolicyGuest.c: Handle FreeBSD.

	* lib/include/backdoor_def.h: Add BDOOR_CMD_LAZYTIMEREMULATION and
	BDOOR_CMD_BIOSBBS.

	* lib/include/str.h, lib/include/bsd_output.h,
	lib/include/bsd_output_int.h: include compat_stdarg.h, change
	vsnwprintf prototype, add HAVE_BSD_WPRINTF define, other compat
	fixups.

	* lib/include/cpNameUtil.h, lib/include/codeset.h,
	lib/misc/codeset.c: Changes to correspond to cpNameUtil UTF8
	changes.

	* lib/include/compat/compat_stdarg.h: New header for doing stdarg
	easily across platforms.

	* lib/include/cpName.h: FreeBSD fixes.

	* lib/include/dnd.h: Add Dnd_SetClipboard and Dnd_GetFileList().

	* lib/include/escBitvector.h: FreeBSD fixes.

	* lib/include/file.h, lib/include/fileUTF8.h: Add new MacOS
	routines and File_GetTimes/FileUTF8_GetTimes.

	* lib/include/hgfsProto.h: Explanation of the whole cpNameUtil and
	codeset UTF8 changes and how they tie in with HGFS.

	* lib/include/hgfsUtil.h: Random compatibility changes.

	* lib/include/loglevel_user.h: Add a few LOGLEVEL_VAR definitions.

	* lib/include/msg.h: s/USE_MSGFMT/NO_MSGFMT/

	* lib/include/osNames.h: Add Windows 2003 Datacenter Edition, and
	user-visible 64bit suffix macro.

	* lib/misc/random.c, lib/include/random.h: Add Random_Quick() and
	Random_QuickSeed() routines.

	* lib/misc/idLinux.c, lib/include/su.h: Add Id_AuthGetLocal() and
	Id_GetAuthExternal() routines, and compat fixes.

	* lib/misc/timeutil.c, lib/include/timeutil.h: Add
	TimeUtil_UnixTimeToNtTime() routine.

	* lib/include/util.h: Add a couple of MacOS routines.

	* lib/include/vmBackup.h, lib/vmBackupLib/stateMachine.c: add a
	couple of structure elements for Windows backup fixes.

	* lib/include/vm_basic_asm.h: fixes for reading TSC on 64-bit
	platforms.

	* lib/include/vm_basic_defs.h: Add other va_copy macros.

	* lib/include/vm_basic_types.h: Fixes for compiling on a wide
	range of systems.

	* lib/include/vm_legal.h: Change the PATENTS_STRING

	* lib/include/vm_product.h: Add "License Infrastructure" product.

	* lib/include/vm_tools_version.h: Change tools versions listed for
	various upcoming product releases.

	* lib/include/vm_version.h: Update the versions.

	* lib/include/x86cpuid.h: Define more CPU flags & fields, add new
	CPU models. Fixes for fully writable TSC detection.

	* lib/message/message.c, lib/message/messageBackdoor.c: Fixes for
	FreeBSD.

	* lib/misc/util_misc.c: Handle MacOS.

	* lib/rpcIn/rpcin.c: Fail a badly-formed RPC instead of
	ASSERT()'ing into oblivion.

	* lib/string/bsd_vsnprintf.c: Various fixes to synchronize with
	bsd_vsnwprintf.c.

	* lib/string/Makefile.am, lib/string/shared/Makefile.am,
	lib/string/str.c lib/string/bsd_vsnwprintf.c: New file to
	implement vsnwprintf() for compat purposes.

	* lib/vixTools/vixTools.c: New FileUTF8 routines.

	* Makefile.am, modules/Makefile.am: --without-x fixes, add
	xferlogs, move kernel module building into separate Makefile.am

	* modules/freebsd/*: Add FreeBSD kernel modules (vmblock, vmhgfs,
	vmmemctl, vmxnet).

	* modules/linux/*/include/compat_*.h,
	modules/linux/*/autoconf/cachector.c,
	modules/linux/*/autoconf/cachecreate.c,
	modules/linux/*/backdoor.c, modules/linux/vmhgfs/filesystem.c,
	modules/linux/vmhgfs/hgfsBd.c, lib/procMgr/procMgrPosix.c,
	lib/rpcOut/rpcout.c, lib/user/util.c, lib/vmCheck/vmcheck.c,
	libguestlib/Makefile.am, lib/deployPkg/runDeployPkgPosix.c,
	lib/include/vm_atomic.h: Compat fixes.

	* modules/linux/*/kernelStubs.h: Update for FreeBSD.

	* modules/linux/*/include/*.h, modules/linux/*/backdoor_def.h,
	modules/linux/*/cpName.h, modules/linux/*/hgfs.h,
	modules/linux/*/hgfsProto.h, modules/linux/*/hgfsUtil.[ch],
	modules/linux/*/kernelStubsLinux.c,
	modules/linux/*/messageBackdoor.c, modules/linux/*/message.c,
	modules/linux/*/rpcout.c, modules/linux/*/rpcin.c,
	modules/linux/*/staticEscape.c, modules/linux/*/vm_basic_asm.h,
	modules/linux/*/vm_basic_defs.h, modules/linux/*/vm_basic_types.h,
	modules/linux/*/x86cpuid.h, modules/linux/*/compat_*.h: Pull in
	updated files from main source tree.

	* modules/linux/*/Makefile.kernel: Remove CC_WARNINGS/CC_OPTS
	gunk.

	* modules/linux/*/README, modules/linux/*/Makefile.normal: Build
	foo.o driver by default on systems with VM_KBUILD=no.

	* modules/linux/vmhgfs/vmhgfs_version.h: Updated VMHGFS driver
	version.

	* modules/linux/vmmemctl/os.[ch],
	modules/linux/vmmemctl/vmballoon.c: Implement and use os_yield()
	to deprioritize the Balloon_Deallocate operation.

	* modules/linux/vmsync/*: New sync driver to make VM snapshots
	consistent.

	* modules/linux/vmxnet/bpf_meta.h: New file.

	* modules/linux/vmxnet/net_dist.h: Update NET_MAX_IMPL_PKT_OVHD
	value.

	* modules/linux/vmxnet/vm_device_version.h: Mention VMXNET3

	* modules/linux/vmxnet/vmkapi_status.h: Updated VMK_ERR codes.

	* modules/linux/vmxnet/vmkapi_types.h: Add VMK_CONST64(U) macros.

	* modules/linux/vmxnet/vmxnet2_def.h,
	modules/linux/vmxnet/vmnet_def.h,
	modules/linux/vmxnet/vmxnet_def.h,
	modules/linux/vmxnet/vmxnetInt.h, modules/linux/vmxnet/vmxnet.c:
	Add (optional) BPF support.

	* modules/linux/vmxnet/vmxnetInt.h, modules/linux/vmxnet/vmxnet.c:
	Add vmxnet_link_check to propagate device link status to netdev.

	* common/vm-support: New script to gather support info from a VM.

	* scripts/*/*-default: New poweron/poweroff/suspend/resume scripts
	for a VM. Add support for dropping user-provided scripts into a
	subdirectory.

	* toolbox/toolboxAbout.c: Eliminate warnings about unused
	variables.

	* toolbox/toolboxShrink.c: Update wording of message.

	* toolbox/copyPaste.c: Try cutting & pasting UTF8 text if we can.

	* xferlogs/*: New log transfer utility.

2007-10-26  Elliot Lee  <elliot@vmware.com>

	* Initial import of 2007.09.04-56574 code ("Axe" release).

	* Import 2007.10.08 snapshot, which includes patches to fix the
	--without-x flag, and compilation with gcc 4.2.
