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-10-02 19:19:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-vm-tools (Old)
 and      /work/SRC/openSUSE:Factory/.open-vm-tools.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "open-vm-tools"

Thu Oct  2 19:19:56 2025 rev:135 rq:1308459 version:13.0.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/open-vm-tools/open-vm-tools.changes      
2025-06-27 23:01:24.281501651 +0200
+++ /work/SRC/openSUSE:Factory/.open-vm-tools.new.11973/open-vm-tools.changes   
2025-10-02 19:20:41.731702098 +0200
@@ -1,0 +2,40 @@
+Wed Oct  1 14:53:20 UTC 2025 - Kirk Allan <[email protected]>
+
+- Update to open-vm-tools 13.0.5 based on build 24915695. (boo#1250692): 
+
+  Please refer to the Release Notes at
+  https://github.com/vmware/open-vm-tools/blob/stable-13.0.5/ReleaseNotes.md.
+
+  The granular changes that have gone into the open-vm-tools 13.0.5 release
+  are in the ChangeLog at
+  
https://github.com/vmware/open-vm-tools/blob/stable-13.0.5/open-vm-tools/ChangeLog.
+
+  There are no new features in the open-vm-tools 13.0.5 release. This is
+  primarily a maintenance release that addresses a security issue.
+
+  This release resolves and includes the patch for CVE-2025-41244. For more
+  information on this vulnerability and its impact on Broadcom products,
+  see VMSA-2025-0015.
+
+  A patch to address CVE-2025-41244 on earlier open-vm-tools releases is
+  provided to the Linux community at CVE-2025-41244.patch.
+
+  A minor enhancement has been made for Guest OS Customization. The
+  DeployPkg plugin has been updated to use "systemctl reboot", if available.
+
+  For a more complete list of issues addressed in this release, see the
+  What's New and Resolved Issues section of the Release Notes.
+
+- Drop patch now contained in 13.0.5:
+  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
+  CVE-2025-41244-1240-1300-SDMP.patch
+
+-------------------------------------------------------------------
+Tue Sep 23 21:36:31 UTC 2025 - Kirk Allan <[email protected]>
+
+- Fix (bsc#1250373 (CVE-2025-41244) - VUL-0: contains a local privilege
+  escalation vulnerability.
++ Add patch:
+  - CVE-2025-41244-1240-1300-SDMP.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
  open-vm-tools-13.0.0.obscpio

New:
----
  open-vm-tools-13.0.5.obscpio

----------(Old B)----------
  Old:- Drop patch now contained in 13.0.5:
  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
  CVE-2025-41244-1240-1300-SDMP.patch
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ open-vm-tools.spec ++++++
--- /var/tmp/diff_new_pack.PQvrhJ/_old  2025-10-02 19:20:43.171762340 +0200
+++ /var/tmp/diff_new_pack.PQvrhJ/_new  2025-10-02 19:20:43.175762507 +0200
@@ -38,7 +38,7 @@
 %define with_X 1
 
 Name:           open-vm-tools
-Version:        13.0.0
+Version:        13.0.5
 Release:        0
 Summary:        Open Virtual Machine Tools
 License:        BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
@@ -159,7 +159,6 @@
 Supplements:    modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
 ExclusiveArch:  %ix86 x86_64 aarch64
 #Upstream patches
-Patch2:         0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
 
 #SUSE specific patches
 Patch0:         pam-vmtoolsd.patch
@@ -262,7 +261,6 @@
 # fix for an rpmlint warning regarding wrong line feeds
 sed -i -e "s/\r//" README
 #Upstream patches
-%patch -P 2 -p2
 
 #SUSE specific patches
 %patch -P 0 -p2

++++++ _service ++++++
--- /var/tmp/diff_new_pack.PQvrhJ/_old  2025-10-02 19:20:43.223764515 +0200
+++ /var/tmp/diff_new_pack.PQvrhJ/_new  2025-10-02 19:20:43.227764682 +0200
@@ -2,7 +2,7 @@
   <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-13.0.0</param>
+    <param name="revision">stable-13.0.5</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">stable-(.*)</param>
   </service>

++++++ open-vm-tools-13.0.0.obscpio -> open-vm-tools-13.0.5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/open-vm-tools-13.0.0/ReleaseNotes.md 
new/open-vm-tools-13.0.5/ReleaseNotes.md
--- old/open-vm-tools-13.0.0/ReleaseNotes.md    2025-06-19 06:05:18.000000000 
+0200
+++ new/open-vm-tools-13.0.5/ReleaseNotes.md    2025-09-30 08:45:41.000000000 
+0200
@@ -1,8 +1,8 @@
-#                      open-vm-tools 13.0.0 Release Notes
+#                      open-vm-tools 13.0.5 Release Notes
 
-Updated on: 17 June 2025
+Updated on: 29 Sep 2025
 
-open-vm-tools | 17 JUNE 2025 | Build 24696409
+open-vm-tools | 29 SEP 2025 | Build 24915695
 
 Check back for additions and updates to these release notes.
 
@@ -12,7 +12,6 @@
 
 * [What's New](#whatsnew) 
 * [Internationalization](#i18n) 
-* [Product Support Notice](#suppnote)
 * [Guest Operating System Customization Support](#guestop) 
 * [Interoperability Matrix](#interop) 
 * [Resolved Issues](#resolvedissues) 
@@ -20,21 +19,21 @@
 
 ## <a id="whatsnew" name="whatsnew"></a>What's New
 
-*   The vm-support script has been improved (version 0.98).
+*   This release resolves 
[CVE-2025-41244](https://www.cve.org/CVERecord?id=CVE-2025-41244). For more 
information on this vulnerability and its impact on Broadcom products, see 
[VMSA-2025-0015](https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/36149).
 
-    To aid in triaging open-vm-tools issues, the vm-support script has been 
updated to:
-      * now collect all current open-vm-tools log files as configured in the 
[logging] section of tools.conf.
-      * collect one month of information from the systemd journal.
+    A patch to address CVE-2025-41244 on earlier open-vm-tools releases is 
provided to the Linux community at 
[CVE-2025-41244.patch](https://github.com/vmware/open-vm-tools/tree/CVE-2025-41244.patch).
+
+*   Guest OS Customization has been updated to use "systemctl reboot", if 
available.
 
 *   Please see the [Resolved Issues](#resolvedissues) and [Known 
Issues](#knownissues) sections below.
 
-*   A complete list of the granular changes in the open-vm-tools 13.0.0 
release is available at:
+*   A complete list of the granular changes in the open-vm-tools 13.0.5 
release is available at:
 
-    [open-vm-tools 
ChangeLog](https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/open-vm-tools/ChangeLog)
+    [open-vm-tools 
ChangeLog](https://github.com/vmware/open-vm-tools/blob/stable-13.0.5/open-vm-tools/ChangeLog)
 
 ## <a id="i18n" name="i18n"></a>Internationalization
 
-open-vm-tools 13.0.0 is available in the following languages:
+open-vm-tools 13.0.5 is available in the following languages:
 
 * English
 * French
@@ -52,47 +51,18 @@
 
 ## <a id="resolvedissues" name ="resolvedissues"></a> Resolved Issues
 
-*   **The following github.com/vmware/open-vm-tools pull requests and issues 
has been addressed.**
-
-    * FTBFS: --std=c23 conflicting types between function definition and 
declaration MXUserTryAcquireForceFail()
-
-      [Fixes Issue 
#750](https://github.com/vmware/open-vm-tools/issues/750)<br>
-      [Pull request #751](https://github.com/vmware/open-vm-tools/pull/751)
-
-    * Provide tools.conf settings to deactivate one-time and periodic time 
synchronization
-
-      The new tools.conf settings `disable-all` and `disable-periodic` allow 
the guest OS administrator to deactivate one-time and periodic time 
synchronization without rebooting the VM or restarting the guest OS.
-
-      [Fixes Issue #302](https://github.com/vmware/open-vm-tools/issues/302)
-
-    * Fix xmlsec detection when cross-compiling with pkg-config
-
-      [Pull request #732](https://github.com/vmware/open-vm-tools/pull/732)
-
-*   **After October 25, 2024, with open-vm-tools earlier than 13.0.0, the 
salt-minion component is not installed or fails to install in a guest operating 
system through the VMware Component Manager**
-
-    When you configure the salt-minion component in the present state, its 
last status is set to 102 (not installed) or 103 (installation failed), never 
reaching the installed state 100.
+*   **This release resolves CVE-2025-41244.**
 
-    * The VM advanced setting with the key 
"guestinfo./vmware.components.salt_minion.desiredstate" has a value present.
-    * The VM advanced setting with the key 
"guestinfo.vmware.components.salt_minion.laststatus" has a value 102 or 103.
+    * For more information on this vulnerability and its impact on Broadcom 
products, see 
[VMSA-2025-0015](https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/36149).
 
-    The salt-minion component installs a log file with traces indicating 
failure to access the online salt repository on https://repo.saltproject.io.  
The "vmware-svtminion.sh-install-*.log" file for the failed install shows a 
trace similar to:
+    * A patch to address CVE-2025-41244 on earlier open-vm-tools releases is 
provided to the Linux community at 
[CVE-2025-41244.patch](https://github.com/vmware/open-vm-tools/tree/CVE-2025-41244.patch).
 
-    ```
-    <date+time> INFO: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
attempting download of file 'repo.json'
-    <date+time> WARNING: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' on '0' attempt, retcode 
'6' 
-    <date+time> WARNING: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' on '1' attempt, retcode 
'6' 
-    <date+time> WARNING: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' on '2' attempt, retcode 
'6' 
-    <date+time> WARNING: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' on '3' attempt, retcode 
'6' 
-    <date+time> WARNING: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' on '4' attempt, retcode 
'6' 
-    <date+time> ERROR: 
/usr/lib64/open-vm-tools/componentMgr/saltMinion/svtminion.sh:_curl_download 
failed to download file 'repo.json' from 
'https://repo.saltproject.io/salt/py3/onedir/repo.json' after '5' attempts
-    ```
+*   **Guest OS Customization updated to use "systemctl reboot".**
 
-    This issue is resolved in this release.
+    Currently the "telinit 6" command is used to reboot a Linux VM following 
Guest OS Customization.  As the classic Linux init system, SysVinit, is 
deprecated in favor of a newer init system, systemd, the telinit command may 
not be available on the base Linux OS.
 
-    The new versions of the salt-minion integration scripts supporting the new 
Salt Project repository locations are available at:
+    This change adds support to Guest OS Customization for the systemd init 
system.  If the modern init system, systemd, is available, then a "systemctl 
reboot" command will be used to trigger reboot.  Otherwise, the "telinit 6" 
command will be used assuming the traditional init system, SysVinit, is still 
available.
 
-    * 
[https://packages.broadcom.com/artifactory/saltproject-generic/onedir/](https://packages.broadcom.com/artifactory/saltproject-generic/onedir/)
 
 ## <a id="knownissues" name="knownissues"></a>Known Issues
 
@@ -108,4 +78,4 @@
 
     <tt>vmhgfs-fuse   /mnt/hgfs    fuse    defaults,allow_other    0    0</tt>
 
-    For more information on how to configure VMware Tools Shared Folders, see 
[KB 60262](https://knowledge.broadcom.com/external/article?legacyId=60262)
+    For more information on how to configure VMware Tools Shared Folders, see 
[KB 60262](https://knowledge.broadcom.com/external/article?legacyId=60262).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/open-vm-tools-13.0.0/open-vm-tools/ChangeLog 
new/open-vm-tools-13.0.5/open-vm-tools/ChangeLog
--- old/open-vm-tools-13.0.0/open-vm-tools/ChangeLog    2025-06-19 
06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/ChangeLog    2025-09-30 
08:45:41.000000000 +0200
@@ -1,3 +1,90 @@
+commit 4c7899b1d241dad1259eedbc999b4f25041c4fca
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:37:12 2025 -0700
+
+    =================================================
+      open-vm-tools 13.0.5 released at this point.
+    =================================================
+    
+    Update of the ChangeLog with the final changes in preparation for
+    the open-vm-tools 13.0.5 release.
+
+commit d3e111e46db3acc56ac592fe8d695dc63f9b4c11
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:30:35 2025 -0700
+
+    Update the ReleaseNotes.md for the 13.0.5 open-vm-tools release.
+
+commit ae3ca4ef23348a9a883fd3c63d4bcbc79f615c59
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:23:35 2025 -0700
+
+    Prepare for the open-vm-tools 13.0.5 release.
+    
+    - Update the tools version in the configure.ac.
+    - Update the build numbers in the buldNumber.h.
+
+commit 3ab0685c1cf7981c84898d546a73d6db6dcd3823
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Address CVE-2025-41244
+     - Disable (default) the execution of the SDMP get-versions.sh script.
+    
+    With the Linux SDMP get-versions.sh script disabled, version information
+    of installed services will not be made available to VMware Aria
+
+commit 1de3f643df26c37a477d717254be95d414bd0c39
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Change to common source files not applicable to open-vm-tools.
+
+commit f0e624d1ae33cee7e66aaed17d82242272383c9a
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Change to common source files not applicable to open-vm-tools.
+
+commit 7ff34bef69c7252fb0ceb628f64103b0fa4f56f2
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Use different command to reboot linux VM, depending on the init system type
+    
+    We currently use the "telinit 6" command to reboot linux VMs.
+    However, the "telinit" command will be unavailable in the future as 
SysVinit
+    will be deprecated on some modern linux systems.
+    
+    For example: In SUSE, "telinit" command is part of systemd-sysvcompat
+    (15 SP6 and newer) or systemd-sysvinit (older than 15 SP6), whereas in some
+    SUSE images or templates such as SUSE minimal VM has no such packages 
installed.
+    See SUSE KB: https://www.suse.com/support/kb/doc/?id=000021564
+    
+    This change detects the init system of a linux and uses different command
+    to trigger reboot. If the modern init system, systemd, is available, then
+    "systemctl reboot" command will be used to trigger reboot. Otherwise, 
continue
+    using "telinit 6" command as SysVinit, the traditional init system, is 
still
+    available.
+
+commit 7e8d6f072381e606c0c211069c3ba14582e9b30e
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Set the tools version for open-vm-tools 13.0.5 release
+
+commit 248d01bdd92371cd868c5486ab48ce2f845d208f
+Author: Kruti Pendharkar <[email protected]>
+Date:   Mon Sep 29 23:03:43 2025 -0700
+
+    Change to common header file not applicable to open-vm-tools.
+
+commit 3c28b6f4d9af2df2027a9df9c82e2f0196bd8bf7
+Author: Kruti Pendharkar <[email protected]>
+Date:   Wed Jun 18 21:05:18 2025 -0700
+
+    Update ChangeLog with the open-vm-tools 13.0.0 release marker.
+
 commit 01d8ecaee6b85a897c281dcaf5c080acc6ccf576
 Author: Kruti Pendharkar <[email protected]>
 Date:   Wed Jun 18 20:59:50 2025 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/open-vm-tools-13.0.0/open-vm-tools/configure.ac 
new/open-vm-tools-13.0.5/open-vm-tools/configure.ac
--- old/open-vm-tools-13.0.0/open-vm-tools/configure.ac 2025-06-19 
06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/configure.ac 2025-09-30 
08:45:41.000000000 +0200
@@ -36,10 +36,10 @@
 ### Initialization
 ###
 
-TOOLS_VERSION="13.0.0"
+TOOLS_VERSION="13.0.5"
 AC_INIT(
    [open-vm-tools],
-   [13.0.0],
+   [13.0.5],
    [[email protected]])
 
 # 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-13.0.0/open-vm-tools/lib/include/buildNumber.h 
new/open-vm-tools-13.0.5/open-vm-tools/lib/include/buildNumber.h
--- old/open-vm-tools-13.0.0/open-vm-tools/lib/include/buildNumber.h    
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/lib/include/buildNumber.h    
2025-09-30 08:45:41.000000000 +0200
@@ -1,12 +1,12 @@
 #define BUILD_NUMBER \
-       "build-24696409"
+       "build-24915695"
 #define BUILD_NUMBER_NUMERIC \
-       24696409
+       24915695
 #define BUILD_NUMBER_NUMERIC_STRING \
-       "24696409"
+       "24915695"
 #define PRODUCT_BUILD_NUMBER \
-       "product-build-52586"
+       "product-build-52705"
 #define PRODUCT_BUILD_NUMBER_NUMERIC \
-       52586
+       52705
 #define PRODUCT_BUILD_NUMBER_NUMERIC_STRING \
-       "52586"
+       "52705"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/lib/include/vm_tools_version.h 
new/open-vm-tools-13.0.5/open-vm-tools/lib/include/vm_tools_version.h
--- old/open-vm-tools-13.0.0/open-vm-tools/lib/include/vm_tools_version.h       
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/lib/include/vm_tools_version.h       
2025-09-30 08:45:41.000000000 +0200
@@ -1804,15 +1804,29 @@
 #define   TOOLS_VERSION_PLIERS_RELEASE_V_BASE 0
 
 #ifndef RC_INVOKED
-#define   TOOLS_VERSION_NEXT TOOLS_VERSION_TO_UINT(TOOLS_VERSION_NEXT_V)
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_RELEASE 
TOOLS_VERSION_TO_UINT(TOOLS_VERSION_SWISS_ARMY_KNIFE_RELEASE_V)
 #endif /* RC_INVOKED */
-#define   TOOLS_VERSION_NEXT_V_MJR  13
-#define   TOOLS_VERSION_NEXT_V_MNR  0
-#define   TOOLS_VERSION_NEXT_V_BASE 0
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_RELEASE_V_MJR  13
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_RELEASE_V_MNR  0
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_RELEASE_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)
+#ifndef RC_INVOKED
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_PATCH1 
TOOLS_VERSION_TO_UINT(TOOLS_VERSION_SWISS_ARMY_KNIFE_PATCH1_V)
+#endif /* RC_INVOKED */
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_PATCH1_V_MJR  13
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_PATCH1_V_MNR  0
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_PATCH1_V_BASE 1
+
+#ifndef RC_INVOKED
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1 
TOOLS_VERSION_TO_UINT(TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1_V)
+#endif /* RC_INVOKED */
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1_V_MJR  13
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1_V_MNR  0
+#define   TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1_V_BASE 5
+
+#define   TOOLS_VERSION_CURRENT        TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1
+#define   TOOLS_VERSION_CURRENT_STR    
TOOLS_VERSION_TO_STR(TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1)
+#define   TOOLS_VERSION_CURRENT_CSV    
TOOLS_VERSION_TO_CSV(TOOLS_VERSION_SWISS_ARMY_KNIFE_UPDATE1)
 
 /*
  * 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-13.0.0/open-vm-tools/libDeployPkg/linuxDeployment.c 
new/open-vm-tools-13.0.5/open-vm-tools/libDeployPkg/linuxDeployment.c
--- old/open-vm-tools-13.0.0/open-vm-tools/libDeployPkg/linuxDeployment.c       
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/libDeployPkg/linuxDeployment.c       
2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (c) 2006-2024 Broadcom. All rights reserved.
+ * Copyright (c) 2006-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
@@ -122,6 +122,9 @@
 static const char* VARRUNIMCDIR    = "/var/run/vmware-imc";
 #endif
 static const char* TMPDIR          = "/tmp";
+static const char* USRBINSYSTEMCTL = "/usr/bin/systemctl";
+static const char* BINSYSTEMCTL    = "/bin/systemctl";
+static const char* SBINTELINIT     = "/sbin/telinit";
 
 // Possible return codes from perl script
 static const int CUST_SUCCESS       = 0;
@@ -197,7 +200,6 @@
 static void GetCloudinitVersion(const char* versionOutput,
                                 int* major,
                                 int* minor);
-static Bool IsTelinitASoftlinkToSystemctl(void);
 
 /*
  * Globals
@@ -1674,28 +1676,43 @@
          sLog(log_error, "Failed to fork: '%s'.", strerror(errno));
       } else if (pid == 0) {
          // We're in the child
+         char rebootCommand[1024];
          int rebootCommandResult;
+         bool isSystemd = false;
          bool isRebooting = false;
-         // Retry reboot until telinit 6 succeeds to workaround PR 2716292 
where
-         // telinit is a soft(symbolic) link to systemctl and it could exit
-         // abnormally due to systemd sends SIGTERM
-         bool retryReboot = IsTelinitASoftlinkToSystemctl();
+         // PR 3438671, using different command to reboot modern systemd linux
+         // or traditional SysVinit linux
+         // Repeatedly try to reboot to workaround PR 2716292 on modern systemd
+         // linux where systemctl reboot could exit abnormally due to systemd
+         // sends SIGTERM
+         // Repeatedly try to reboot to workaround PR 530641 on traditional
+         // SysVinit linux where telinit 6 is overwritten by a telinit 2
+         if (access(USRBINSYSTEMCTL, X_OK) == 0) {
+            isSystemd = true;
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s reboot",
+                         USRBINSYSTEMCTL);
+         } else if (access(BINSYSTEMCTL, X_OK) == 0) {
+            isSystemd = true;
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s reboot",
+                         BINSYSTEMCTL);
+         } else {
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s 6",
+                         SBINTELINIT);
+         }
          sLog(log_info, "Trigger reboot.");
-         // Repeatedly try to reboot to workaround PR 530641 where
-         // telinit 6 is overwritten by a telinit 2
          do {
             if (isRebooting) {
                sLog(log_info, "Rebooting.");
             }
             rebootCommandResult =
-               ForkExecAndWaitCommand("/sbin/telinit 6", true, NULL, 0);
+               ForkExecAndWaitCommand(rebootCommand, true, NULL, 0);
             isRebooting = (rebootCommandResult == 0) ? true : isRebooting;
             sleep(1);
-         } while (rebootCommandResult == 0 || (retryReboot && !isRebooting));
+         } while (rebootCommandResult == 0 || (isSystemd && !isRebooting));
          if (!isRebooting) {
             sLog(log_error,
-                 "Failed to reboot, reboot command returned error %d.",
-                 rebootCommandResult);
+                 "Failed to reboot, reboot command %s returned error %d.",
+                 rebootCommand, rebootCommandResult);
             exit (127);
          } else {
             sLog(log_info, "Reboot has been triggered.");
@@ -1955,8 +1972,11 @@
    char** args = GetFormattedCommandLine(command);
    const char* processStdOut;
    Bool isPerlCommand = (strcmp(args[0], "/usr/bin/perl") == 0) ? true : false;
-   Bool isTelinitCommand =
-      (strcmp(args[0], "/sbin/telinit") == 0) ? true : false;
+   Bool isRebootCommand =
+      (Str_Strncmp(command, "/usr/bin/systemctl reboot", strlen(command)) ||
+       Str_Strncmp(command, "/bin/systemctl reboot", strlen(command)) ||
+       Str_Strncmp(command, "/sbin/telinit 6", strlen(command))) ?
+      true : false;
 
    sLog(log_debug, "Command to exec : '%s'.", args[0]);
    Process_Create(&hp, args, sLog);
@@ -2012,9 +2032,9 @@
          }
       }
    } else {
-      if (isTelinitCommand) {
+      if (isRebootCommand) {
          sLog(log_info,
-              "Telinit command failed with exitcode: %d, stderr: '%s'.",
+              "Reboot command failed with exitcode: %d, stderr: '%s'.",
               retval,
               Process_GetStderr(hp));
       } else {
@@ -2209,43 +2229,3 @@
    }
    sLog(log_info, "Cloud-init version major: %d, minor: %d", *major, *minor);
 }
-
-/**
- *
- * Check if "telinit" command is a soft(symbolic) link to "systemctl" command
- *
- * The fullpath of "systemctl" command could be:
- *    /bin/systemctl
- *    or
- *    /usr/bin/systemctl
- *
- * @returns TRUE if "telinit" command is a soft link to "systemctl" command
- *          FALSE if "telinit" command is not a soft link to "systemctl" 
command
- *
- **/
-static Bool
-IsTelinitASoftlinkToSystemctl(void)
-{
-   static const char systemctlBinPath[] = "/bin/systemctl";
-   static const char readlinkCommand[] = "/bin/readlink /sbin/telinit";
-   char readlinkCommandOutput[256];
-   int forkExecResult;
-
-   forkExecResult = ForkExecAndWaitCommand(readlinkCommand,
-                                           true,
-                                           readlinkCommandOutput,
-                                           sizeof(readlinkCommandOutput));
-   if (forkExecResult != 0) {
-      sLog(log_debug, "readlink command result = %d.", forkExecResult);
-      return FALSE;
-   }
-
-   if (strstr(readlinkCommandOutput, systemctlBinPath) != NULL) {
-      sLog(log_debug, "/sbin/telinit is a soft link to systemctl");
-      return TRUE;
-   } else {
-      sLog(log_debug, "/sbin/telinit is not a soft link to systemctl");
-   }
-
-   return FALSE;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/serviceDiscovery/serviceDiscovery.c
 
new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/serviceDiscovery/serviceDiscovery.c
--- 
old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/serviceDiscovery/serviceDiscovery.c
 2025-06-19 06:05:18.000000000 +0200
+++ 
new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/serviceDiscovery/serviceDiscovery.c
 2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (c) 2020-2024 Broadcom. All Rights Reserved.
+ * Copyright (c) 2020-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
@@ -123,6 +123,12 @@
 #define SERVICE_DISCOVERY_CONF_DEFAULT_CACHEDATA TRUE
 
 /*
+ * Defines the configuration to enable/disable version obtaining logic
+ */
+#define CONFNAME_SERVICEDISCOVERY_VERSION_CHECK "version-check-enabled"
+#define SERVICE_DISCOVERY_CONF_DEFAULT_VERSION_CHECK FALSE
+
+/*
  * Define the configuration to require at least one subscriber subscribed for
  * the gdp message.
  *
@@ -1265,23 +1271,27 @@
  *
  * Construct final paths of the scripts that will be used for execution.
  *
+ * @param[in] versionCheckEnabled  TRUE to include the 
SERVICE_DISCOVERY_KEY_VERSIONS
+ *                                 entry; FALSE to skip it (derived from 
config).
+ *
  *****************************************************************************
  */
 
 static void
-ConstructScriptPaths(void)
+ConstructScriptPaths(Bool versionCheckEnabled)
 {
    int i;
 #if !defined(OPEN_VM_TOOLS)
    gchar *toolsInstallDir;
 #endif
+   int insertIndex = 0;
 
    if (gFullPaths != NULL) {
       return;
    }
 
    gFullPaths = g_array_sized_new(FALSE, TRUE, sizeof(KeyNameValue),
-                                  ARRAYSIZE(gKeyScripts));
+                                  ARRAYSIZE(gKeyScripts) - 
(versionCheckEnabled ? 0u : 1u));
    if (scriptInstallDir == NULL) {
 #if defined(OPEN_VM_TOOLS)
       scriptInstallDir = Util_SafeStrdup(VMTOOLS_SERVICE_DISCOVERY_SCRIPTS);
@@ -1293,6 +1303,15 @@
 #endif
    }
    for (i = 0; i < ARRAYSIZE(gKeyScripts); ++i) {
+      /*
+       * Skip adding if:
+       * 1. Version check is disabled, AND
+       * 2. The keyName matches SERVICE_DISCOVERY_KEY_VERSIONS
+       */
+      if (!versionCheckEnabled &&
+         g_strcmp0(gKeyScripts[i].keyName, SERVICE_DISCOVERY_KEY_VERSIONS) == 
0) {
+         continue;
+      }
       KeyNameValue tmp;
       tmp.keyName = g_strdup_printf("%s", gKeyScripts[i].keyName);
 #if defined(_WIN32)
@@ -1300,7 +1319,8 @@
 #else
       tmp.val = g_strdup_printf("%s%s%s", scriptInstallDir, DIRSEPS, 
gKeyScripts[i].val);
 #endif
-      g_array_insert_val(gFullPaths, i, tmp);
+      g_array_insert_val(gFullPaths, insertIndex, tmp);
+      insertIndex++;
    }
 }
 
@@ -1366,14 +1386,20 @@
          }
       };
       gboolean disabled;
+      Bool versionCheckEnabled;
 
       regData.regs = VMTools_WrapArray(regs,
                                        sizeof *regs,
                                        ARRAYSIZE(regs));
+      versionCheckEnabled = VMTools_ConfigGetBoolean(
+         ctx->config,
+         CONFGROUPNAME_SERVICEDISCOVERY,
+         CONFNAME_SERVICEDISCOVERY_VERSION_CHECK,
+         SERVICE_DISCOVERY_CONF_DEFAULT_VERSION_CHECK);
       /*
        * Append scripts execution command line
        */
-      ConstructScriptPaths();
+      ConstructScriptPaths(versionCheckEnabled);
 
       disabled =
          VMTools_ConfigGetBoolean(ctx->config,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/vix/vixTools.c 
new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/vix/vixTools.c
--- old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/vix/vixTools.c      
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/vix/vixTools.c      
2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (c) 2007-2024 Broadcom. All rights reserved.
+ * Copyright (c) 2007-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
@@ -2645,6 +2645,65 @@
 #endif
 
 
+#if defined(_WIN32)
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * VixTools_ConfigGetString --
+ *
+ *    Wrapper for VMTools_ConfigGetString to retrieve values
+ *    from VIX_TOOLS_CONFIG_API_GROUPNAME group.
+ *
+ * Return value:
+ *    Value of the key if the value was read successfully, or else
+ *    a copy of defValue unless defValue is NULL, in which case it's NULL.
+ *    The returned string should be freed with g_free when no longer
+ *    needed.
+ *
+ * Side effects:
+ *    None
+ *
+ *-----------------------------------------------------------------------------
+ */
+gchar *
+VixTools_ConfigGetString(const gchar *key,         // IN
+                         const gchar *defValue)    // In
+{
+
+   return VMTools_ConfigGetString(gConfDictRef,
+                                  VIX_TOOLS_CONFIG_API_GROUPNAME,
+                                  key, defValue);
+}
+
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * VixTools_ConfigLogInvalidString --
+ *
+ *    Log a warning when a config string from the
+ *    VIX_TOOLS_CONFIG_API_GROUPNAME group has an invalid value.
+ *
+ * Return value:
+ *    None
+ *
+ * Side effects:
+ *    None
+ *
+ *-----------------------------------------------------------------------------
+ */
+void
+VixTools_ConfigLogInvalidString(const gchar *function,    // IN
+                                const gchar *key,         // IN
+                                const gchar *confValue,   // IN
+                                const gchar *usedValue)   // IN
+{
+   g_warning("%s: invalid value '%s' from tools.conf [%s] %s, using %s.\n",
+             function, confValue, VIX_TOOLS_CONFIG_API_GROUPNAME, key, 
usedValue);
+}
+#endif
+
+
 /*
  *-----------------------------------------------------------------------------
  *
@@ -11750,7 +11809,7 @@
  *      the GuestAuth library.
  *
  * Results:
- *      VIX_OK if successful.Other VixError code otherwise.
+ *      VIX_OK if successful, otherwise some other VixError code.
  *
  * Side effects:
  *      Current process impersonates.
@@ -11774,10 +11833,6 @@
    VGAuthExtraParams extraParams[1];
    Bool impersonated = FALSE;
 
-   extraParams[0].name = VGAUTH_PARAM_LOAD_USER_PROFILE;
-   extraParams[0].value = loadUserProfile ? VGAUTH_PARAM_VALUE_TRUE :
-                                            VGAUTH_PARAM_VALUE_FALSE;
-
    err = VixMsg_DeObfuscateNamePassword(obfuscatedNamePassword,
                                         &username,
                                         &password);
@@ -11793,14 +11848,22 @@
       goto done;
    }
 
+#ifdef _WIN32
+   vgErr = VGAuth_ValidateUsernamePassword_Helper(ctx, username, password,
+                                                  &newHandle);
+#else
    vgErr = VGAuth_ValidateUsernamePassword(ctx, username, password,
-                                           0, NULL,
-                                           &newHandle);
+                                           0, NULL, &newHandle);
+#endif
    if (VGAUTH_FAILED(vgErr)) {
       err = VixToolsTranslateVGAuthError(vgErr);
       goto done;
    }
 
+   extraParams[0].name = VGAUTH_PARAM_LOAD_USER_PROFILE;
+   extraParams[0].value = loadUserProfile ? VGAUTH_PARAM_VALUE_TRUE :
+                                            VGAUTH_PARAM_VALUE_FALSE;
+
    vgErr = VGAuth_Impersonate(ctx, newHandle,
                               (int)ARRAYSIZE(extraParams),
                               extraParams);
@@ -11859,7 +11922,7 @@
  *      the GuestAuth library.
  *
  * Results:
- *      VIX_OK if successful.  Other VixError code otherwise.
+ *      VIX_OK if successful, otherwise some other VixError code.
  *
  * Side effects:
  *      Current process impersonates.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/vix/vixToolsInt.h 
new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/vix/vixToolsInt.h
--- old/open-vm-tools-13.0.0/open-vm-tools/services/plugins/vix/vixToolsInt.h   
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/services/plugins/vix/vixToolsInt.h   
2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,6 @@
 /*********************************************************
- * Copyright (c) 2010-2020,2023 VMware, Inc. All rights reserved.
+ * Copyright (c) 2010-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
  * under the terms of the GNU Lesser General Public License as published
@@ -38,6 +39,7 @@
 #include "VGAuthCommon.h"
 #include "VGAuthError.h"
 #include "VGAuthAuthentication.h"
+#include "VGAuthAuthenticationWin32.h"
 #include "VGAuthAlias.h"
 #endif
 
@@ -72,6 +74,15 @@
 
 #ifdef _WIN32
 VixError VixToolsTranslateVGAuthError(VGAuthError vgErr);
+
+gchar *VixTools_ConfigGetString(const gchar *key,
+                                 const gchar *defValue);
+
+void VixTools_ConfigLogInvalidString(const gchar *function,
+                                     const gchar *key,
+                                     const gchar *confValue,
+                                     const gchar *usedValue);
+
 #endif
 
 VixError VixToolsImpersonateUser(VixCommandRequestHeader *requestMsg,
@@ -207,6 +218,13 @@
                                     Bool hostVerified,
                                     void **userToken,
                                     VGAuthUserHandle **curUserHandle);
+
+VGAuthError
+VGAuth_ValidateUsernamePassword_Helper(VGAuthContext *ctx,
+                                       const char *userName,
+                                       const char *password,
+                                       VGAuthUserHandle **handle);
+
 #endif // _WIN32
 
 #ifdef VMX86_DEVEL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/VGAuthInt.h 
new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/VGAuthInt.h
--- old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/VGAuthInt.h       
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/VGAuthInt.h       
2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,6 @@
 /*********************************************************
- * Copyright (c) 2011-2017,2023 VMware, Inc. All rights reserved.
+ * Copyright (c) 2011-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
  * under the terms of the GNU Lesser General Public License as published
@@ -28,6 +29,9 @@
 #include "VGAuthBasicDefs.h"
 #include "VGAuthCommon.h"
 #include "VGAuthAuthentication.h"
+#ifdef _WIN32
+#include "VGAuthAuthenticationWin32.h"
+#endif
 #include "VGAuthAlias.h"
 #include "audit.h"
 #include "prefs.h"
@@ -287,6 +291,9 @@
 VGAuthError VGAuthValidateUsernamePasswordImpl(VGAuthContext *ctx,
                                                const char *userName,
                                                const char *password,
+                                               const int numExtraParams,
+                                               const VGAuthExtraParams
+                                                  *extraParams,
                                                VGAuthUserHandle **handle);
 
 #ifdef UNITTEST
@@ -342,6 +349,17 @@
                                         gboolean defValue,
                                         gboolean *paramValue);
 
+#define VGAuthGetStringExtraParam(numEP, ep, name, defValue, value)      \
+   VGAuthGetStringExtraParamImpl(__FUNCTION__, (numEP), ep,              \
+                                 name, defValue, (value))
+
+VGAuthError VGAuthGetStringExtraParamImpl(const char *funcName,
+                                          int numExtraParams,
+                                          const VGAuthExtraParams *params,
+                                          const char *paramName,
+                                          const char *defValue,
+                                          const char **paramValue);
+
 void VGAuth_FreeAliasInfoContents(VGAuthAliasInfo *si);
 void VGAuth_CopyAliasInfo(const VGAuthAliasInfo *src,
                           VGAuthAliasInfo *dst);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/auth.c 
new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/auth.c
--- old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/auth.c    2025-06-19 
06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/auth.c    2025-09-30 
08:45:41.000000000 +0200
@@ -1,5 +1,6 @@
 /*********************************************************
- * Copyright (c) 2011-2017,2023 VMware, Inc. All rights reserved.
+ * Copyright (c) 2011-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
  * under the terms of the GNU Lesser General Public License as published
@@ -543,8 +544,7 @@
  * @param[in]  password       The password to be validated.
  * @param[in]  numExtraParams The number of elements in extraParams.
  * @param[in]  extraParams    Any optional, additional paramaters to the
- *                            function. Currently none are supported, so this
- *                            must be NULL.
+ *                            function.
  * @param[out] handle         The resulting handle representing the user
  *                            associated with @a userName.
  *                            Must be freed with VGAuth_UserHandleFree().
@@ -560,7 +560,7 @@
 VGAuth_ValidateUsernamePassword(VGAuthContext *ctx,
                                 const char *userName,
                                 const char *password,
-                                int numExtraParams,
+                                const int numExtraParams,
                                 const VGAuthExtraParams *extraParams,
                                 VGAuthUserHandle **handle)
 {
@@ -587,14 +587,15 @@
       return VGAUTH_E_INVALID_ARGUMENT;
    }
 
-   err = VGAuthValidateExtraParams(numExtraParams, extraParams);
-   if (VGAUTH_E_OK != err) {
-      return err;
-   }
-
+   /*
+    * numExtraParams and extraParams need to be validated before use.  No need
+    * to validate them here since they're just passed through.
+    */
    err = VGAuthValidateUsernamePasswordImpl(ctx,
                                             userName,
                                             password,
+                                            numExtraParams,
+                                            extraParams,
                                             handle);
 
    if (VGAUTH_E_OK == err) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/authPosix.c 
new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/authPosix.c
--- old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/authPosix.c       
2025-06-19 06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/authPosix.c       
2025-09-30 08:45:41.000000000 +0200
@@ -1,5 +1,6 @@
 /*********************************************************
- * Copyright (C) 2011-2017, 2019, 2021 VMware, Inc. All rights reserved.
+ * Copyright (c) 2011-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
  * under the terms of the GNU Lesser General Public License as published
@@ -240,11 +241,15 @@
  *
  * Validates a username/password.
  *
- * @param[in]  ctx        The VGAuthContext.
- * @param[in]  userName   The username to be validated.
- * @param[in]  password   The password to be validated.
- * @param[out] handle     The resulting handle representing the user
- *                        associated with the username.
+ * @param[in]  ctx            The VGAuthContext.
+ * @param[in]  userName       The username to be validated.
+ * @param[in]  password       The password to be validated.
+ * @param[in]  numExtraParams The number of elements in extraParams.
+ * @param[in]  extraParams    Any optional, additional paramaters to the
+ *                            function. Currently none are supported, so this
+ *                            must be NULL.
+ * @param[out] handle         The resulting handle representing the user
+ *                            associated with the username.
  *
  * @return VGAUTH_E_OK on success, VGAuthError on failure
  *
@@ -255,6 +260,8 @@
 VGAuthValidateUsernamePasswordImpl(VGAuthContext *ctx,
                                    const char *userName,
                                    const char *password,
+                                   const int numExtraParams,
+                                   const VGAuthExtraParams *extraParams,
                                    VGAuthUserHandle **handle)
 {
 #ifdef USE_PAM
@@ -266,6 +273,11 @@
    struct passwd *pwd;
 #endif
 
+   err = VGAuthValidateExtraParams(numExtraParams, extraParams);
+   if (VGAUTH_E_OK != err) {
+      return err;
+   }
+
 #ifdef USE_PAM
    if (!AuthLoadPAM()) {
       return VGAUTH_E_FAIL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/common.c 
new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/common.c
--- old/open-vm-tools-13.0.0/open-vm-tools/vgauth/lib/common.c  2025-06-19 
06:05:18.000000000 +0200
+++ new/open-vm-tools-13.0.5/open-vm-tools/vgauth/lib/common.c  2025-09-30 
08:45:41.000000000 +0200
@@ -1,5 +1,6 @@
 /*********************************************************
- * Copyright (c) 2011-2017, 2023 VMware, Inc. All rights reserved.
+ * Copyright (c) 2011-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
  * under the terms of the GNU Lesser General Public License as published
@@ -163,6 +164,74 @@
    return VGAUTH_E_OK;
 }
 
+
+/*
+ ******************************************************************************
+ * VGAuthGetStringExtraParamImpl --                                      */ /**
+ *
+ * Get the string value of the specified extra param in the params array.
+ *
+ * @param[in]  funcName    The name of the calling function.
+ * @param[in]  numParams   The number of elements in the params array.
+ * @param[in]  params      The params array to get param value from.
+ * @param[in]  paramName   The param name to get its value.
+ * @param[in]  defValue    The param default value if not set in the array.
+ * @param[out] paramValue  Returned param value
+ *
+ * @retval VGAUTH_E_INVALID_ARGUMENT If incomplete arguments are passed in,
+ *                                   the specified extra parameter is passed
+ *                                   in the array multiple times or the
+ *                                   parameter value is invalid.
+ * @reval VGAUTH_E_OK If no error is encountered.
+ *
+ ******************************************************************************
+ */
+
+VGAuthError
+VGAuthGetStringExtraParamImpl(const char *funcName,
+                              int numParams,
+                              const VGAuthExtraParams *params,
+                              const char *paramName,
+                              const char *defValue,
+                              const char **paramValue)
+{
+   gboolean paramSet = FALSE;
+   int i;
+
+   if ((numParams < 0) || (numParams > 0 && NULL == params)) {
+      Warning("%s: invalid number of parameters: %d.\n", funcName, numParams);
+      return VGAUTH_E_INVALID_ARGUMENT;
+   }
+
+   if (NULL == paramName || NULL == paramValue) {
+      return VGAUTH_E_INVALID_ARGUMENT;
+   }
+
+   for (i = 0; i < numParams; i++) {
+      if (g_strcmp0(params[i].name, paramName) == 0) {
+         // only allow it to be set once
+         if (paramSet) {
+            Warning("%s: extraParam '%s' passed multiple times.\n",
+                    funcName, params[i].name);
+            return VGAUTH_E_INVALID_ARGUMENT;
+         }
+         if (params[i].value) {
+            *paramValue = params[i].value;
+            paramSet = TRUE;
+         } else {
+            Warning("%s: extraParam '%s' has NULL value.\n",
+                    funcName, params[i].name);
+            return VGAUTH_E_INVALID_ARGUMENT;
+         }
+      }
+   }
+
+   if (!paramSet) {
+      *paramValue = defValue;
+   }
+   return VGAUTH_E_OK;
+}
+
 
 /*
  ******************************************************************************

++++++ open-vm-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.PQvrhJ/_old  2025-10-02 19:20:44.459816222 +0200
+++ /var/tmp/diff_new_pack.PQvrhJ/_new  2025-10-02 19:20:44.467816556 +0200
@@ -1,5 +1,5 @@
 name: open-vm-tools
-version: 13.0.0
-mtime: 1750305918
-commit: 3c28b6f4d9af2df2027a9df9c82e2f0196bd8bf7
+version: 13.0.5
+mtime: 1759214741
+commit: fbc80ffbd226b4a61bb8ea1c9a682b5c7614e3fd
 

Reply via email to