Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package open-vm-tools for openSUSE:Factory checked in at 2025-05-15 16:59:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/open-vm-tools (Old) and /work/SRC/openSUSE:Factory/.open-vm-tools.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-vm-tools" Thu May 15 16:59:39 2025 rev:133 rq:1277231 version:12.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/open-vm-tools/open-vm-tools.changes 2025-05-07 19:15:52.213715181 +0200 +++ /work/SRC/openSUSE:Factory/.open-vm-tools.new.30101/open-vm-tools.changes 2025-05-15 17:00:00.974778212 +0200 @@ -1,0 +2,11 @@ +Tue May 13 04:34:57 UTC 2025 - Johannes Kastl <opensuse_buildserv...@ojkastl.de> + +- update to 12.5.2 (bsc#1243106): + https://github.com/vmware/open-vm-tools/blob/stable-12.5.2/ReleaseNotes.md + https://github.com/vmware/open-vm-tools/blob/stable-12.5.2/open-vm-tools/ChangeLog + This release resolves CVE-2025-22247. For more information on this + vulnerability and its impact on Broadcom products, see + VMSA-2025-0007 + https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/25683 + +------------------------------------------------------------------- Old: ---- open-vm-tools-12.5.0.obscpio New: ---- open-vm-tools-12.5.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ open-vm-tools.spec ++++++ --- /var/tmp/diff_new_pack.0s34Di/_old 2025-05-15 17:00:02.078824528 +0200 +++ /var/tmp/diff_new_pack.0s34Di/_new 2025-05-15 17:00:02.082824696 +0200 @@ -38,7 +38,7 @@ %define with_X 1 Name: open-vm-tools -Version: 12.5.0 +Version: 12.5.2 Release: 0 Summary: Open Virtual Machine Tools License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.0s34Di/_old 2025-05-15 17:00:02.122826374 +0200 +++ /var/tmp/diff_new_pack.0s34Di/_new 2025-05-15 17:00:02.122826374 +0200 @@ -2,9 +2,8 @@ <service name="obs_scm" mode="manual"> <param name="url">https://github.com/vmware/open-vm-tools.git</param> <param name="scm">git</param> - <param name="revision">stable-12.5.0</param> + <param name="revision">12.5.2</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="versionrewrite-pattern">stable-(.*)</param> </service> <service name="set_version" mode="manual"> </service> ++++++ open-vm-tools-12.5.0.obscpio -> open-vm-tools-12.5.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/ReleaseNotes.md new/open-vm-tools-12.5.2/ReleaseNotes.md --- old/open-vm-tools-12.5.0/ReleaseNotes.md 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/ReleaseNotes.md 2025-05-12 22:07:33.000000000 +0200 @@ -1,8 +1,8 @@ -# open-vm-tools 12.5.0 Release Notes +# open-vm-tools 12.5.2 Release Notes -Updated on: 8 October 2024 +Updated on: 12 May 2025 -open-vm-tools | 8 OCTOBER 2024 | Build 24276846 +open-vm-tools | 12 MAY 2025 | Build 24697584 Check back for additions and updates to these release notes. @@ -21,15 +21,17 @@ ## <a id="whatsnew" name="whatsnew"></a>What's New -* Please see the [Resolved Issues](#resolvedissues) and [Known Issues](#knownissues) sections below. +* This release resolves [CVE-2025-22247](https://www.cve.org/CVERecord?id=CVE-2025-22247). For more information on this vulnerability and its impact on Broadcom products, see [VMSA-2025-0007](https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/25683) -* A complete list of the granular changes in the open-vm-tools 12.5.0 release is available at: + A patch to address CVE-2025-22247 on earlier open-vm-tools releases is provided to the Linux community at [CVE-2025-22247.patch](https://github.com/vmware/open-vm-tools/tree/CVE-2025-22247.patch). - [open-vm-tools ChangeLog](https://github.com/vmware/open-vm-tools/blob/stable-12.5.0/open-vm-tools/ChangeLog) +* A complete list of the granular changes in the open-vm-tools 12.5.2 release is available at: + + [open-vm-tools ChangeLog](https://github.com/vmware/open-vm-tools/blob/stable-12.5.2/open-vm-tools/ChangeLog) ## <a id="i18n" name="i18n"></a>Internationalization -open-vm-tools 12.5.0 is available in the following languages: +open-vm-tools 12.5.2 is available in the following languages: * English * French @@ -67,19 +69,15 @@ ## <a id="interop" name="interop"></a>Interoperability Matrix -The [VMware Product Interoperability Matrix](http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php) provides details about the compatibility of current and earlier versions of VMware Products. +The [VMware Product Interoperability Matrix](https://interopmatrix.broadcom.com/Interoperability) provides details about the compatibility of current and earlier versions of VMware Products. ## <a id="resolvedissues" name ="resolvedissues"></a> Resolved Issues -* **The following github.com/vmware/open-vm-tools pull request has been addressed.** - - * Revise settings for vmware-user.desktop - - [Pull request #668](https://github.com/vmware/open-vm-tools/pull/668) +* **This release resolves CVE-2025-22247.** -* **Accomodate newer releases of libxml2 and xmlsec1.** + * For more information on this vulnerability and its impact on Broadcom products, see [VMSA-2025-0007](https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/25683) - The configure.ac and VGAuth code updated to avoid deprecated functions and build options based on OSS product version. + * A patch to address CVE-2025-22247 on earlier open-vm-tools releases is provided to the Linux community at [CVE-2025-22247.patch](https://github.com/vmware/open-vm-tools/tree/CVE-2025-22247.patch). ## <a id="knownissues" name="knownissues"></a>Known Issues diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/ChangeLog new/open-vm-tools-12.5.2/open-vm-tools/ChangeLog --- old/open-vm-tools-12.5.0/open-vm-tools/ChangeLog 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/ChangeLog 2025-05-12 22:07:33.000000000 +0200 @@ -1,3 +1,52 @@ +commit 4ba99fabfecd7a54d3ebdb9d144f9ed6ec7faf22 +Author: John Wolfe <john.wo...@broadcom.com> +Date: Mon May 12 13:00:43 2025 -0700 + + Update the ReleaseNotes.md for the 12.5.2 open-vm-tools release. + +commit d466ae89716856b2a4295ce622f1887a25575f25 +Author: John Wolfe <john.wo...@broadcom.com> +Date: Sun May 11 09:17:41 2025 -0700 + + Prepare for the open-vm-tools 12.5.2 release. + + - Update the tools version in the configure.ac. + - Update the build numbers in the buldNumber.h. + +commit f6e10ad22796353a8ed3bed876cdc41d7acc2fc0 +Author: John Wolfe <john.wo...@broadcom.com> +Date: Fri May 9 11:51:44 2025 -0700 + + Set the open-vm-tools product version for a 12.5.2 patch release + +commit 6331ea0150b98316b3f41b4cdcff52ae9fc7d791 +Author: John Wolfe <john.wo...@broadcom.com> +Date: Mon May 5 15:58:03 2025 -0700 + + Validate user names and file paths + + Prevent usage of illegal characters in user names and file paths. + Also, disallow unexpected symlinks in file paths. + + This patch contains changes to common source files not applicable + to open-vm-tools. + + All files being updated should be consider to have the copyright to + be updated to: + + * Copyright (c) XXXX-2025 Broadcom. All Rights Reserved. + * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. + + The 2025 Broadcom copyright information update is not part of this + patch set to allow the patch to be easily applied to previous + open-vm-tools source releases. + +commit f2ca37ef3510543172657b82493d1eceefa9a134 +Author: Kruti <kpendhar...@vmware.com> +Date: Thu Oct 10 08:05:07 2024 -0700 + + Update ChangeLog with the open-vm-tools 12.5.0 release marker. + commit 05afe0ae703d6027325059876528fe3b04fdf386 Author: Kruti <kpendhar...@vmware.com> Date: Thu Oct 10 06:12:07 2024 -0700 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/configure.ac new/open-vm-tools-12.5.2/open-vm-tools/configure.ac --- old/open-vm-tools-12.5.0/open-vm-tools/configure.ac 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/configure.ac 2025-05-12 22:07:33.000000000 +0200 @@ -36,10 +36,10 @@ ### Initialization ### -TOOLS_VERSION="12.5.0" +TOOLS_VERSION="12.5.2" AC_INIT( [open-vm-tools], - [12.5.0], + [12.5.2], [open-vm-tools-de...@lists.sourceforge.net]) # In order to make this configure script auto-detect situations where diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/lib/include/buildNumber.h new/open-vm-tools-12.5.2/open-vm-tools/lib/include/buildNumber.h --- old/open-vm-tools-12.5.0/open-vm-tools/lib/include/buildNumber.h 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/lib/include/buildNumber.h 2025-05-12 22:07:33.000000000 +0200 @@ -1,12 +1,12 @@ #define BUILD_NUMBER \ - "build-24276846" + "build-24697584" #define BUILD_NUMBER_NUMERIC \ - 24276846 + 24697584 #define BUILD_NUMBER_NUMERIC_STRING \ - "24276846" + "24697584" #define PRODUCT_BUILD_NUMBER \ - "product-build-51152" + "product-build-52591" #define PRODUCT_BUILD_NUMBER_NUMERIC \ - 51152 + 52591 #define PRODUCT_BUILD_NUMBER_NUMERIC_STRING \ - "51152" + "52591" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/lib/include/vm_tools_version.h new/open-vm-tools-12.5.2/open-vm-tools/lib/include/vm_tools_version.h --- old/open-vm-tools-12.5.0/open-vm-tools/lib/include/vm_tools_version.h 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/lib/include/vm_tools_version.h 2025-05-12 22:07:33.000000000 +0200 @@ -1,5 +1,5 @@ /********************************************************* - * Copyright (c) 1998-2024 Broadcom. All rights reserved. + * Copyright (c) 1998-2025 Broadcom. All Rights Reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * This program is free software; you can redistribute it and/or modify it @@ -1787,15 +1787,30 @@ #define TOOLS_VERSION_SOCKET_WRENCH_UPDATE1_V_BASE 5 #ifndef RC_INVOKED -#define TOOLS_VERSION_NEXT TOOLS_VERSION_TO_UINT(TOOLS_VERSION_NEXT_V) +#define TOOLS_VERSION_PLIERS_RELEASE TOOLS_VERSION_TO_UINT(TOOLS_VERSION_PLIERS_RELEASE_V) #endif /* RC_INVOKED */ -#define TOOLS_VERSION_NEXT_V_MJR 12 -#define TOOLS_VERSION_NEXT_V_MNR 5 -#define TOOLS_VERSION_NEXT_V_BASE 0 - -#define TOOLS_VERSION_CURRENT TOOLS_VERSION_NEXT -#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_NEXT) -#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_NEXT) +#define TOOLS_VERSION_PLIERS_RELEASE_V_MJR 12 +#define TOOLS_VERSION_PLIERS_RELEASE_V_MNR 5 +#define TOOLS_VERSION_PLIERS_RELEASE_V_BASE 0 + +#ifndef RC_INVOKED +#define TOOLS_VERSION_PLIERS_PATCH1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_PLIERS_PATCH1_V) +#endif /* RC_INVOKED */ +#define TOOLS_VERSION_PLIERS_PATCH1_V_MJR 12 +#define TOOLS_VERSION_PLIERS_PATCH1_V_MNR 5 +#define TOOLS_VERSION_PLIERS_PATCH1_V_BASE 1 + + +#ifndef RC_INVOKED +#define TOOLS_VERSION_PLIERS_PATCH2 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_PLIERS_PATCH2_V) +#endif /* RC_INVOKED */ +#define TOOLS_VERSION_PLIERS_PATCH2_V_MJR 12 +#define TOOLS_VERSION_PLIERS_PATCH2_V_MNR 5 +#define TOOLS_VERSION_PLIERS_PATCH2_V_BASE 2 + +#define TOOLS_VERSION_CURRENT TOOLS_VERSION_PLIERS_PATCH2 +#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_PLIERS_PATCH2) +#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_PLIERS_PATCH2) /* * The extended Tools version is the current Tools version with the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/VGAuthUtil.c new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/VGAuthUtil.c --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/VGAuthUtil.c 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/VGAuthUtil.c 2025-05-12 22:07:33.000000000 +0200 @@ -309,3 +309,36 @@ #endif g_assert(0); } + + +/* + ****************************************************************************** + * Util_Utf8CaseCmp -- */ /** + * + * Case insensitive comparison for utf8 strings which can have non-ascii + * characters. + * + * @param[in] str1 Null terminated utf8 string. + * @param[in] str2 Null terminated utf8 string. + * + ****************************************************************************** + */ + +int +Util_Utf8CaseCmp(const gchar *str1, + const gchar *str2) +{ + int ret; + gchar *str1Case; + gchar *str2Case; + + str1Case = g_utf8_casefold(str1, -1); + str2Case = g_utf8_casefold(str2, -1); + + ret = g_strcmp0(str1Case, str2Case); + + g_free(str1Case); + g_free(str2Case); + + return ret; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/VGAuthUtil.h new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/VGAuthUtil.h --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/VGAuthUtil.h 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/VGAuthUtil.h 2025-05-12 22:07:33.000000000 +0200 @@ -105,4 +105,6 @@ void Util_Assert(const char *cond, const char *file, int lineNum); +int Util_Utf8CaseCmp(const gchar *str1, const gchar *str2); + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/prefs.h new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/prefs.h --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/prefs.h 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/prefs.h 2025-05-12 22:07:33.000000000 +0200 @@ -167,6 +167,9 @@ /** Where the localized version of the messages were installed. */ #define VGAUTH_PREF_LOCALIZATION_DIR "msgCatalog" +/** If symlinks or junctions are allowed in alias store file path */ +#define VGAUTH_PREF_ALLOW_SYMLINKS "allowSymlinks" + /* * Pref values */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/usercheck.c new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/usercheck.c --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/common/usercheck.c 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/common/usercheck.c 2025-05-12 22:07:33.000000000 +0200 @@ -78,6 +78,8 @@ * Solaris as well, but that path is untested. */ +#define MAX_USER_NAME_LEN 256 + /* * A single retry works for the LDAP case, but try more often in case NIS * or something else has a related issue. Note that a bad username/uid won't @@ -354,12 +356,29 @@ * restricted list for local usernames. */ size_t len; - char *illegalChars = "<>/"; + size_t i = 0; + int backSlashCnt = 0; + /* + * As user names are used to generate its alias store file name/path, it + * should not contain path traversal characters ('/' and '\'). + */ + char *illegalChars = "<>/\\"; len = strlen(userName); - if (strcspn(userName, illegalChars) != len) { + if (len > MAX_USER_NAME_LEN) { return FALSE; } + + while ((i += strcspn(userName + i, illegalChars)) < len) { + /* + * One backward slash is allowed for domain\username separator. + */ + if (userName[i] != '\\' || ++backSlashCnt > 1) { + return FALSE; + } + ++i; + } + return TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/alias.c new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/alias.c --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/alias.c 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/alias.c 2025-05-12 22:07:33.000000000 +0200 @@ -41,6 +41,7 @@ #include "certverify.h" #include "VGAuthProto.h" #include "vmxlog.h" +#include "VGAuthUtil.h" // puts the identity store in an easy to find place #undef WIN_TEST_MODE @@ -66,6 +67,7 @@ #define ALIASSTORE_FILE_PREFIX "user-" #define ALIASSTORE_FILE_SUFFIX ".xml" +static gboolean allowSymlinks = FALSE; static gchar *aliasStoreRootDir = DEFAULT_ALIASSTORE_ROOT_DIR; #ifdef _WIN32 @@ -252,6 +254,12 @@ */ +#ifdef _WIN32 +#define ISPATHSEP(c) ((c) == '\\' || (c) == '/') +#else +#define ISPATHSEP(c) ((c) == '/') +#endif + /* ****************************************************************************** @@ -466,6 +474,7 @@ gunichar2 *fileNameW = NULL; BOOL ok; DWORD bytesRead; + gchar *realPath = NULL; *fileSize = 0; *contents = NULL; @@ -622,6 +631,22 @@ goto done; } + if (!allowSymlinks) { + /* + * Check if fileName is real path. + */ + if ((realPath = ServiceFileGetPathByHandle(hFile)) == NULL) { + err = VGAUTH_E_FAIL; + goto done; + } + if (Util_Utf8CaseCmp(realPath, fileName) != 0) { + Warning("%s: Real path (%s) is not same as file path (%s)\n", + __FUNCTION__, realPath, fileName); + err = VGAUTH_E_FAIL; + goto done; + } + } + /* * Now finally read the contents. */ @@ -650,6 +675,7 @@ CloseHandle(hFile); } g_free(fileNameW); + g_free(realPath); return err; } @@ -672,6 +698,7 @@ gchar *buf; gchar *bp; int fd = -1; + gchar realPath[PATH_MAX] = { 0 }; *fileSize = 0; *contents = NULL; @@ -817,6 +844,23 @@ goto done; } + if (!allowSymlinks) { + /* + * Check if fileName is real path. + */ + if (realpath(fileName, realPath) == NULL) { + Warning("%s: realpath() failed. errno (%d)\n", __FUNCTION__, errno); + err = VGAUTH_E_FAIL; + goto done; + } + if (g_strcmp0(realPath, fileName) != 0) { + Warning("%s: Real path (%s) is not same as file path (%s)\n", + __FUNCTION__, realPath, fileName); + err = VGAUTH_E_FAIL; + goto done; + } + } + /* * All confidence checks passed; read the bits. */ @@ -2803,8 +2847,13 @@ /* * We don't verify the user exists in a Remove operation, to allow - * cleanup of deleted user's stores. + * cleanup of deleted user's stores, but we do check whether the + * user name is legal or not. */ + if (!Usercheck_UsernameIsLegal(userName)) { + Warning("%s: Illegal user name '%s'\n", __FUNCTION__, userName); + return VGAUTH_E_FAIL; + } if (!CertVerify_IsWellFormedPEMCert(pemCert)) { return VGAUTH_E_INVALID_CERTIFICATE; @@ -3036,6 +3085,16 @@ } #endif + /* + * We don't verify the user exists in a Query operation to allow + * cleaning up after a deleted user, but we do check whether the + * user name is legal or not. + */ + if (!Usercheck_UsernameIsLegal(userName)) { + Warning("%s: Illegal user name '%s'\n", __FUNCTION__, userName); + return VGAUTH_E_FAIL; + } + err = AliasLoadAliases(userName, num, aList); if (VGAUTH_E_OK != err) { Warning("%s: failed to load Aliases for '%s'\n", __FUNCTION__, userName); @@ -3294,6 +3353,7 @@ VGAuthError err = VGAUTH_E_OK; gboolean saveBadDir = FALSE; char *defaultDir = NULL; + size_t len; #ifdef _WIN32 { @@ -3324,6 +3384,10 @@ defaultDir = g_strdup(DEFAULT_ALIASSTORE_ROOT_DIR); #endif + allowSymlinks = Pref_GetBool(gPrefs, + VGAUTH_PREF_ALLOW_SYMLINKS, + VGAUTH_PREF_GROUP_NAME_SERVICE, + FALSE); /* * Find the alias store directory. This allows an installer to put * it somewhere else if necessary. @@ -3337,6 +3401,14 @@ VGAUTH_PREF_GROUP_NAME_SERVICE, defaultDir); + /* + * Remove the trailing separator if any from aliasStoreRootDir path. + */ + len = strlen(aliasStoreRootDir); + if (ISPATHSEP(aliasStoreRootDir[len - 1])) { + aliasStoreRootDir[len - 1] = '\0'; + } + Log("Using '%s' for alias store root directory\n", aliasStoreRootDir); g_free(defaultDir); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/service.c new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/service.c --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/service.c 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/service.c 2025-05-12 22:07:33.000000000 +0200 @@ -28,6 +28,7 @@ #include "VGAuthUtil.h" #ifdef _WIN32 #include "winUtil.h" +#include <glib.h> #endif static ServiceStartListeningForIOFunc startListeningIOFunc = NULL; @@ -283,9 +284,35 @@ ServiceUserNameToPipeName(const char *userName) { gchar *escapedName = ServiceEncodeUserName(userName); +#ifdef _WIN32 + /* + * Adding below pragma only in windows to suppress the compile time warning + * about unavailability of g_uuid_string_random() since compiler flag + * GLIB_VERSION_MAX_ALLOWED is defined to GLIB_VERSION_2_34. + * TODO: Remove below pragma when GLIB_VERSION_MAX_ALLOWED is bumped up to + * or greater than GLIB_VERSION_2_52. + */ +#pragma warning(suppress : 4996) + gchar *uuidStr = g_uuid_string_random(); + /* + * Add a unique suffix to avoid a name collision with an existing named pipe + * created by someone else (intentionally or by accident). + * This is not needed for Linux; name collisions on sockets are already + * avoided there since (1) file system paths to VGAuthService sockets are in + * a directory that is writable only by root and (2) VGAuthService unlinks a + * socket path before binding it to a newly created socket. + */ + gchar *pipeName = g_strdup_printf("%s-%s-%s", + SERVICE_PUBLIC_PIPE_NAME, + escapedName, + uuidStr); + + g_free(uuidStr); +#else gchar *pipeName = g_strdup_printf("%s-%s", SERVICE_PUBLIC_PIPE_NAME, escapedName); +#endif g_free(escapedName); return pipeName; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/serviceInt.h new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/serviceInt.h --- old/open-vm-tools-12.5.0/open-vm-tools/vgauth/serviceImpl/serviceInt.h 2024-10-10 17:05:07.000000000 +0200 +++ new/open-vm-tools-12.5.2/open-vm-tools/vgauth/serviceImpl/serviceInt.h 2025-05-12 22:07:33.000000000 +0200 @@ -441,6 +441,7 @@ VGAuthError ServiceFileVerifyEveryoneReadableByHandle(const HANDLE hFile); VGAuthError ServiceFileVerifyUserAccessByHandle(const HANDLE hFile, const char *userName); +gchar *ServiceFileGetPathByHandle(HANDLE hFile); #else VGAuthError ServiceFileVerifyFileOwnerAndPerms(const char *fileName, const char *userName, ++++++ open-vm-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.0s34Di/_old 2025-05-15 17:00:02.842856581 +0200 +++ /var/tmp/diff_new_pack.0s34Di/_new 2025-05-15 17:00:02.842856581 +0200 @@ -1,5 +1,5 @@ name: open-vm-tools -version: 12.5.0 -mtime: 1728572707 -commit: f2ca37ef3510543172657b82493d1eceefa9a134 +version: 12.5.2 +mtime: 1747080453 +commit: 908dbba833dd28d72b315ee9fc96f5bcd0576e41