include $(TOPDIR)/rules.mk
PKG_NAME:=open-vm-tools
-PKG_VERSION:=12.1.5
+PKG_VERSION:=12.2.0
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-20735119.tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-21223074.tar.gz
PKG_SOURCE_URL:=https://github.com/vmware/open-vm-tools/releases/download/stable-$(PKG_VERSION)
-PKG_HASH:=72cb68c71c59fd429bcb357926f41f07e21c737a341534b707fc1df010ed4868
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-20735119
+PKG_HASH:=ddc797cb75c435ad03c197ee0753156add148d06aefb14587dd31bff7556479a
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-21223074
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=glib2/host
+PKG_BUILD_DEPENDS:=glib2/host rpcsvc-proto/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
--- a/configure.ac
+++ b/configure.ac
-@@ -1169,6 +1169,7 @@ AC_CHECK_FUNCS(
+@@ -1179,6 +1179,7 @@ AC_CHECK_FUNCS(
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
-@@ -1378,10 +1379,13 @@ fi
+@@ -1388,10 +1389,13 @@ fi
###
AC_CHECK_HEADERS([crypt.h])
#ifdef __APPLE__
#include <sys/socket.h>
#include <TargetConditionals.h>
-@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid) // IN:
+@@ -1025,24 +1022,23 @@ Id_EndSuperUser(uid_t uid) // IN:
static Bool
IdIsSetUGid(void)
{
* We use __secure_getenv, which returns NULL if the binary is
- * setuid or setgid. Alternatives include,
+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
-+ * available. Alternatives include,
++ * available. Alternatives included
*
- * a) getauxval(AT_SECURE); not available until glibc 2.16.
- * b) __libc_enable_secure; may not be exported.
+ * a) issetugid(); not (yet?) available in glibc.
+ * b) getauxval(AT_SECURE); not available until glibc 2.16.
-+ * c) __libc_enable_secure; may not be exported.
++ * c) c) __libc_enable_secure; may not be exported.
*
- * Use (a) when we are based on glibc 2.16, or newer.
+ * Use (b) when we are based on glibc 2.16, or newer.
+#elif HAVE___SECURE_GETENV
static const char envName[] = "VMW_SETUGID_TEST";
- if (setenv(envName, "1", TRUE) == -1) {
- return TRUE; /* Conservative */
+ /*
+@@ -1062,7 +1058,9 @@ IdIsSetUGid(void)
+ return secure_getenv(envName) == NULL;
}
- return __secure_getenv(envName) == NULL;
+ return TRUE;
-#endif
+#else
+ /* Android does not have a secure_getenv, so be conservative. */
#include "unicodeOperations.h"
--- a/lib/include/asyncsocket.h
+++ b/lib/include/asyncsocket.h
-@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket;
+@@ -175,7 +175,7 @@ typedef struct AsyncSocket AsyncSocket;
* Or the client can specify its favorite poll class and locking behavior.
* Use of IVmdbPoll is only supported for regular sockets and for Attach.
*/
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
-@@ -2573,7 +2574,7 @@ HgfsStatToFileAttr(struct stat *stats,
+@@ -2566,7 +2567,7 @@ HgfsStatToFileAttr(struct stat *stats,
# define FMTTIMET "l"
# endif
#else
#endif
LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
"attr: %"FMTTIMET"d/%"FMT64"u\n",
-@@ -5301,7 +5302,7 @@ HgfsWriteCheckIORange(off_t offset,
+@@ -5294,7 +5295,7 @@ HgfsWriteCheckIORange(off_t offset,
goto exit;
}