diff options
Diffstat (limited to 'meta-networking/recipes-support/open-vm-tools/open-vm-tools')
24 files changed, 436 insertions, 1158 deletions
diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch new file mode 100644 index 0000000000..96270f860b --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch @@ -0,0 +1,72 @@ +From 148aadcc1b61da6f6b9ee4bcd35c38b7fbaeb8a8 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <trevor.gamblin@windriver.com> +Date: Wed, 14 Apr 2021 10:24:52 -0400 +Subject: [PATCH] Add resolv_compat.h for musl builds + +musl doesn't implement res_ninit, so it needs to be defined +independently for musl builds. This patch is based on the one at +https://gitweb.gentoo.org/proj/musl.git/tree/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch?id=7f4100326793d55d45d0f5bb6178827ce6173513 + +Upstream-Status: Pending + +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> +--- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 4 +++ + open-vm-tools/lib/nicInfo/resolv_compat.h | 30 +++++++++++++++++++++++ + 2 files changed, 34 insertions(+) + create mode 100644 open-vm-tools/lib/nicInfo/resolv_compat.h + +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +index 6f20547b2..f5064a9c0 100644 +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -70,6 +70,10 @@ + # include <net/if.h> + #endif + ++#if !defined(__GLIBC__) ++#include "resolv_compat.h" ++#endif ++ + /* + * resolver(3) and IPv6: + * +diff --git a/open-vm-tools/lib/nicInfo/resolv_compat.h b/open-vm-tools/lib/nicInfo/resolv_compat.h +new file mode 100644 +index 000000000..d768464b9 +--- /dev/null ++++ b/open-vm-tools/lib/nicInfo/resolv_compat.h +@@ -0,0 +1,30 @@ ++#if !defined(__GLIBC__) ++/*************************************************************************** ++ * resolv_compat.h ++ * ++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc ++ * Note: res_init() is actually deprecated according to ++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html ++ **************************************************************************/ ++#include <string.h> ++ ++static inline int res_ninit(res_state statp) ++{ ++ int rc = res_init(); ++ if (statp != &_res) { ++ memcpy(statp, &_res, sizeof(*statp)); ++ } ++ return rc; ++} ++ ++static inline int res_nclose(res_state statp) ++{ ++ if (!statp) ++ return -1; ++ if (statp != &_res) { ++ memset(statp, 0, sizeof(*statp)); ++ } ++ return 0; ++} ++#endif ++ +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch deleted file mode 100644 index 6cb5dfcccb..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001 -From: Oliver Kurth <okurth@vmware.com> -Date: Mon, 30 Sep 2019 16:24:27 -0700 -Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC. - -G_INLINE_FUNC was a work-around for compilers that didn't support -static inline. Change uses of it to static inline. - -Upstream-Status: Backport -[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +- - open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++---- - open-vm-tools/lib/include/vmware/tools/utils.h | 9 --------- - 3 files changed, 5 insertions(+), 14 deletions(-) - -diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h -index f9acc6a2..deefd1f3 100644 ---- a/open-vm-tools/lib/include/vmware/tools/plugin.h -+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h -@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx { - * - * @return TRUE if COM is initialized when the function returns. - */ --G_INLINE_FUNC gboolean -+static inline gboolean - ToolsCore_InitializeCOM(ToolsAppCtx *ctx) - { - if (!ctx->comInitialized) { -diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h -index 3f2082b3..5880fbcf 100644 ---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h -+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h -@@ -91,7 +91,7 @@ typedef struct ToolsCorePool { - ******************************************************************************* - */ - --G_INLINE_FUNC ToolsCorePool * -+static inline ToolsCorePool * - ToolsCorePool_GetPool(ToolsAppCtx *ctx) - { - ToolsCorePool *pool = NULL; -@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx) - ******************************************************************************* - */ - --G_INLINE_FUNC guint -+static inline guint - ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, - ToolsCorePoolCb cb, - gpointer data, -@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, - ******************************************************************************* - */ - --G_INLINE_FUNC void -+static inline void - ToolsCorePool_CancelTask(ToolsAppCtx *ctx, - guint taskId) - { -@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx, - ******************************************************************************* - */ - --G_INLINE_FUNC gboolean -+static inline gboolean - ToolsCorePool_StartThread(ToolsAppCtx *ctx, - const gchar *threadName, - ToolsCorePoolCb cb, -diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h -index f6574590..a3292d5c 100644 ---- a/open-vm-tools/lib/include/vmware/tools/utils.h -+++ b/open-vm-tools/lib/include/vmware/tools/utils.h -@@ -51,15 +51,6 @@ - # include <sys/time.h> - #endif - -- --/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */ --#if defined(G_PLATFORM_WIN32) --# if defined(G_INLINE_FUNC) --# undef G_INLINE_FUNC --# endif --# define G_INLINE_FUNC static __inline --#endif -- - #ifndef ABS - # define ABS(x) (((x) >= 0) ? (x) : -(x)) - #endif --- -2.23.0 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch deleted file mode 100644 index 61a681f17f..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch +++ /dev/null @@ -1,78 +0,0 @@ -From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001 -From: Bartosz Brachaczek <b.brachaczek@gmail.com> -Date: Tue, 12 Nov 2019 14:31:08 +0100 -Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386 - -I verified that this function behaves as expected on x86_64, i386 with -32-bit time_t, and i386 with 64-bit time_t for the following values of -ntTtime: - -UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX, -UNIX_S32_MAX+1, UNIX_S32_MAX*2+1 - -I did not verify whether the use of Div643264 is optimal, performance -wise. - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c -index cc580ab8..49b10040 100644 ---- a/open-vm-tools/lib/hgfs/hgfsUtil.c -+++ b/open-vm-tools/lib/hgfs/hgfsUtil.c -@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - uint64 ntTime) // IN: Time in Windows NT format - { - #ifdef __i386__ -- uint32 sec; -- uint32 nsec; -+ uint64 sec64; -+ uint32 sec32, nsec; -+#endif - - ASSERT(unixTime); -- /* We assume that time_t is 32bit */ -- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4); - -- /* Cap NT time values that are outside of Unix time's range */ -+ if (sizeof (unixTime->tv_sec) == 4) { -+ /* Cap NT time values that are outside of Unix time's range */ - -- if (ntTime >= UNIX_S32_MAX) { -- unixTime->tv_sec = 0x7FFFFFFF; -- unixTime->tv_nsec = 0; -- return 1; -+ if (ntTime >= UNIX_S32_MAX) { -+ unixTime->tv_sec = 0x7FFFFFFF; -+ unixTime->tv_nsec = 0; -+ return 1; -+ } - } --#else -- ASSERT(unixTime); --#endif - - if (ntTime < UNIX_EPOCH) { - unixTime->tv_sec = 0; -@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - } - - #ifdef __i386__ -- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec); -- unixTime->tv_sec = sec; -- unixTime->tv_nsec = nsec * 100; -+ if (sizeof (unixTime->tv_sec) == 4) { -+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec); -+ unixTime->tv_sec = sec32; -+ unixTime->tv_nsec = nsec * 100; -+ } else { -+ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec); -+ unixTime->tv_sec = sec64; -+ unixTime->tv_nsec = nsec * 100; -+ } - #else - unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000; - unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100; diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch index a711f5e5d2..69c8253117 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch @@ -1,4 +1,4 @@ -From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001 +From 547d05ca417c6b75ad06bf3119e1df8869742a70 Mon Sep 17 00:00:00 2001 From: Martin Kelly <mkelly@xevo.com> Date: Fri, 7 Apr 2017 15:20:30 -0700 Subject: [PATCH] configure.ac: don't use dnet-config @@ -14,9 +14,11 @@ Signed-off-by: Martin Kelly <mkelly@xevo.com> open-vm-tools/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 26bfdb682..9e2a1d6e3 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac -@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then +@@ -1227,7 +1227,7 @@ if test "$with_dnet" = "yes"; then AC_VMW_CHECK_LIB([dnet], [DNET], [], @@ -25,7 +27,7 @@ Signed-off-by: Martin Kelly <mkelly@xevo.com> [], [dnet.h], [intf_open], -@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then +@@ -1237,7 +1237,7 @@ if test "$with_dnet" = "yes"; then if test $have_dnet = "no"; then AC_MSG_ERROR( @@ -34,3 +36,6 @@ Signed-off-by: Martin Kelly <mkelly@xevo.com> fi fi +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch deleted file mode 100644 index 82443ee660..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001 -From: Yi Zhao <yi.zhao@windriver.com> -Date: Tue, 14 Jan 2020 15:04:03 +0800 -Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge - -There is a do_package error when enable usrmerge feature due to the -hardcoded sbin directory. Remove this piece of code because we already -create the symbolic link in do_install. - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Yi Zhao <yi.zhao@windriver.com> ---- - open-vm-tools/hgfsmounter/Makefile.am | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am -index 7c1ba1a..58bd3f8 100644 ---- a/open-vm-tools/hgfsmounter/Makefile.am -+++ b/open-vm-tools/hgfsmounter/Makefile.am -@@ -39,9 +39,6 @@ uninstall-hook: - rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs - else - install-exec-hook: -- -$(MKDIR_P) $(DESTDIR)/sbin -- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \ -- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null - uninstall-hook: - rm -f $(DESTDIR)/sbin/mount.vmhgfs - endif !FREEBSD --- -2.7.4 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch deleted file mode 100644 index adc6571f7e..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7bd280f3cc07208760759c98bbfbac3f9d28f77c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 5 Mar 2021 08:58:29 -0800 -Subject: [PATCH] pollGtk: Drop volatile qualifier - -glib-2.0 has changed the function interfaces as well and do not expect -it to be volatile. GCC 11 complains about it - -glib/gatomic.h:112:5: error: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Werror=incompatible-pointer-types] - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/pollGtk/pollGtk.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/lib/pollGtk/pollGtk.c b/open-vm-tools/lib/pollGtk/pollGtk.c -index 6d95bf01..a941e7a7 100644 ---- a/open-vm-tools/lib/pollGtk/pollGtk.c -+++ b/open-vm-tools/lib/pollGtk/pollGtk.c -@@ -1473,7 +1473,7 @@ PollGtkBasicCallback(gpointer data) // IN: The eventEntry - void - Poll_InitGtk(void) - { -- static volatile gsize inited = 0; -+ static gsize inited = 0; - - static const PollImpl gtkImpl = - { --- -2.30.1 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch deleted file mode 100644 index 95664e8552..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 25 Dec 2019 15:25:02 -0800 -Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds - -This is new warning with gcc10, until its fixed ignore it like gcc<10 -did - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/user/utilBacktrace.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c -index b72340ad..97ca53f2 100644 ---- a/open-vm-tools/lib/user/utilBacktrace.c -+++ b/open-vm-tools/lib/user/utilBacktrace.c -@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN: - } else { - outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr); - } -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Warray-bounds" -+ - Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData); -+#pragma GCC diagnostic pop - #endif - } -+ --- -2.24.1 - diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch index 6d2e498141..1029252c76 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-Use-configure-test-for-struct-timespec.patch @@ -1,4 +1,4 @@ -From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001 +From 74ab6b05fcba32031255624a31676e2aa0db133f Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 09:03:00 +0000 Subject: [PATCH] Use configure test for struct timespec @@ -6,6 +6,8 @@ Subject: [PATCH] Use configure test for struct timespec Use the configure script to test for struct time spec instead of trying to keep track of what platforms has it. +Upstream-Status: Pending + Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> --- open-vm-tools/configure.ac | 1 + @@ -13,10 +15,10 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 713ea683..48ff1ef3 100644 +index 9e2a1d6e3..2f34f6eda 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac -@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T +@@ -1441,6 +1441,7 @@ AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_CHECK_MEMBERS([struct stat.st_rdev]) @@ -25,7 +27,7 @@ index 713ea683..48ff1ef3 100644 AC_STRUCT_TM AC_C_VOLATILE diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h -index 609f4c00..a3a022d4 100644 +index 609f4c000..a3a022d42 100644 --- a/open-vm-tools/lib/include/hgfsUtil.h +++ b/open-vm-tools/lib/include/hgfsUtil.h @@ -53,13 +53,7 @@ @@ -43,3 +45,6 @@ index 609f4c00..a3a022d4 100644 struct timespec { time_t tv_sec; long tv_nsec; +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch deleted file mode 100644 index 34628ffbef..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001 -From: Martin Kelly <mkelly@xevo.com> -Date: Mon, 22 May 2017 17:00:05 -0700 -Subject: [PATCH] add #include <sys/sysmacros.h> - -In newer glibc versions, the definition for major() has been moved to -sys/sysmacros.h, and using the older version in <sys/types.h> has been -deprecated. So, add an include for <sys/sysmacros.h>. - -Upstream-Status: Pending - -Signed-off-by: Martin Kelly <mkelly@xevo.com> ---- - open-vm-tools/lib/wiper/wiperPosix.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c -index bd542410..ccf06293 100644 ---- a/open-vm-tools/lib/wiper/wiperPosix.c -+++ b/open-vm-tools/lib/wiper/wiperPosix.c -@@ -43,6 +43,9 @@ - # include <libgen.h> - # endif /* __FreeBSD_version >= 500000 */ - #endif -+#if defined(__linux__) -+#include <sys/sysmacros.h> -+#endif - #include <unistd.h> - - #include "vmware.h" diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch deleted file mode 100644 index 0f64eabc94..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 12 Nov 2019 10:49:46 -0800 -Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++-------------- - 1 file changed, 5 insertions(+), 14 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 03175623..554da67f 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information - LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, - attr->specialPerms, attr->ownerPerms, attr->groupPerms, - attr->otherPerms, attr->size)); --#ifdef __FreeBSD__ --# if !defined(VM_X86_64) && __FreeBSD_version >= 500043 --# define FMTTIMET "" --# else --# define FMTTIMET "l" --# endif --#else --# define FMTTIMET "l" --#endif -- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" -- "attr: %"FMTTIMET"d/%"FMT64"u\n", -- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, -- stats->st_ctime, attr->attrChangeTime)); --#undef FMTTIMET -+ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n" -+ "attr: %jd/%"FMT64"u\n", -+ (intmax_t)stats->st_atime, attr->accessTime, -+ (intmax_t)stats->st_mtime, attr->writeTime, -+ (intmax_t)stats->st_ctime, attr->attrChangeTime)); - - attr->userId = stats->st_uid; - attr->groupId = stats->st_gid; diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch index e107ecf235..b4bd646d61 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -1,4 +1,4 @@ -From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001 +From ef466581b53a1e64f53d4839bdacfab1d65cc6b9 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 09:10:14 +0000 Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS @@ -8,6 +8,8 @@ assume it is not there instead of testing for specific implementations. This is needed for musl libc. +Upstream-Status: Pending + Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> --- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- @@ -15,7 +17,7 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index f2b7ce67..0e6351a9 100644 +index 4a0bc9378..6ed49e2b7 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c @@ -105,11 +105,13 @@ typedef struct DirectoryEntry { @@ -36,10 +38,10 @@ index f2b7ce67..0e6351a9 100644 #endif diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -index 89133652..7e9c3a91 100644 +index 219065f74..b5b7e6203 100644 --- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -@@ -52,7 +52,7 @@ +@@ -53,7 +53,7 @@ #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) @@ -48,7 +50,7 @@ index 89133652..7e9c3a91 100644 #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) #endif #ifdef __ANDROID__ -@@ -61,7 +61,6 @@ +@@ -62,7 +62,6 @@ */ #define NO_SETMNTENT #define NO_ENDMNTENT @@ -56,3 +58,6 @@ index 89133652..7e9c3a91 100644 #endif +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch index c6378b8086..f23235e902 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -1,4 +1,4 @@ -From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001 +From 4462efefdd61bff1e39e946b917b01433898be88 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 10:05:07 +0000 Subject: [PATCH] Use configure to test for feature instead of platform @@ -18,7 +18,12 @@ The features we test for are: This is needed for musl libc. +Upstream-Status: Pending + +Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c + Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> --- open-vm-tools/configure.ac | 4 ++++ open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- @@ -26,10 +31,10 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 48ff1ef3..71e684bb 100644 +index 2f34f6eda..daa0939c3 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac -@@ -897,6 +897,7 @@ AC_CHECK_FUNCS( +@@ -1169,6 +1169,7 @@ AC_CHECK_FUNCS( AC_CHECK_FUNCS([ecvt]) AC_CHECK_FUNCS([fcvt]) @@ -37,7 +42,7 @@ index 48ff1ef3..71e684bb 100644 AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) -@@ -1145,10 +1146,13 @@ fi +@@ -1378,10 +1379,13 @@ fi ### AC_CHECK_HEADERS([crypt.h]) @@ -52,7 +57,7 @@ index 48ff1ef3..71e684bb 100644 AC_CHECK_HEADERS([sys/io.h]) AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c -index b950cf84..1dcfb508 100644 +index 3d7d1e303..0e12ac5bd 100644 --- a/open-vm-tools/lib/misc/idLinux.c +++ b/open-vm-tools/lib/misc/idLinux.c @@ -27,12 +27,9 @@ @@ -69,7 +74,7 @@ index b950cf84..1dcfb508 100644 #ifdef __APPLE__ #include <sys/socket.h> #include <TargetConditionals.h> -@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: +@@ -1025,24 +1022,23 @@ Id_EndSuperUser(uid_t uid) // IN: static Bool IdIsSetUGid(void) { @@ -103,10 +108,11 @@ index b950cf84..1dcfb508 100644 +#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. */ @@ -115,13 +121,13 @@ index b950cf84..1dcfb508 100644 } #endif diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index a22981d5..b4e08681 100644 +index 0135e6a09..6f20547b2 100644 --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -@@ -34,9 +34,13 @@ - #include <sys/socket.h> +@@ -35,9 +35,13 @@ #include <sys/stat.h> #include <errno.h> + #include <limits.h> -#if defined(__FreeBSD__) || defined(__APPLE__) +#if HAVE_SYS_SYSCTL_H # include <sys/sysctl.h> @@ -133,3 +139,6 @@ index a22981d5..b4e08681 100644 # include <net/if.h> #endif #ifndef NO_DNET +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch index 9a227f9ec7..fda4c37e59 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-sys-stat.h-include.patch @@ -1,17 +1,19 @@ -From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001 +From 79675399124b61f4e3da1f64f4b265f83dd26cdc Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 18 Nov 2015 10:41:01 +0000 Subject: [PATCH] Use configure test for sys/stat.h include This is needed for musl libc. +Upstream-Status: Pending + Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> --- open-vm-tools/services/plugins/vix/vixTools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c -index e5273786..cabc4137 100644 +index 75d24a29e..d11c42178 100644 --- a/open-vm-tools/services/plugins/vix/vixTools.c +++ b/open-vm-tools/services/plugins/vix/vixTools.c @@ -66,7 +66,7 @@ @@ -23,3 +25,6 @@ index e5273786..cabc4137 100644 #include <sys/stat.h> #endif +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch index 11be2d4a07..4c6f6ce022 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-subdir-objects-configure-error.patch @@ -1,24 +1,38 @@ -From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001 +From 37ad9845b5b8ab7170a2aaba31a505b2a36ba0f8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:48:04 -0700 Subject: [PATCH] Fix subdir objects configure error Fix build on musl while here +Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - open-vm-tools/configure.ac | 1 + - 1 file changed, 1 insertion(+) + open-vm-tools/configure.ac | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 71e684bb..b76a7966 100644 +index daa0939c3..497e9459a 100644 --- a/open-vm-tools/configure.ac +++ b/open-vm-tools/configure.ac -@@ -303,6 +303,7 @@ AC_ARG_ENABLE( +@@ -326,7 +326,6 @@ AC_ARG_ENABLE( [], [enable_resolutionkms="auto"]) +- + AC_ARG_ENABLE( + vmwgfxctrl, + AS_HELP_STRING( +@@ -335,7 +334,7 @@ AC_ARG_ENABLE( + [], + [enable_vmwgfxctrl="auto"]) + +-AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([subdir-objects]) - AM_INIT_AUTOMAKE ### + ### Constants +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch index 814b9e3b25..fc0ce961c2 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-include-poll.h-instead-of-sys-poll.h.patch @@ -1,20 +1,22 @@ -From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001 +From d138b808a8b47a02a370b411149ef8ce7883ca6f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:02:50 -0700 Subject: [PATCH] include poll.h instead of sys/poll.h including sys/poll.h is deprecated +Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 65b07109..b41aa29d 100644 +index 26aee553a..4f413db73 100644 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -69,8 +69,8 @@ +@@ -70,8 +70,8 @@ #else #include <stddef.h> #include <ctype.h> @@ -24,3 +26,6 @@ index 65b07109..b41aa29d 100644 #include <sys/socket.h> #include <sys/un.h> #include <netdb.h> +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 0000000000..2654767099 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,114 @@ +From e86d7b309bdf5b7c6c38faeded157e220d4ccc78 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Wed, 24 Mar 2021 16:21:35 -0400 +Subject: [PATCH] Rename poll.h to vm_poll.h + +Rename poll.h to vm_poll.h and switch from: + #include <sys/poll.h> +to + #include <poll.h> + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Update for open-vm-tools-11.2.5. + +Upstream-Status: Pending + +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index 4f413db73..684008d34 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -87,7 +87,7 @@ + #include "random.h" + #include "asyncsocket.h" + #include "asyncSocketBase.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c +index c7b4cdd0f..d6e0cdc0e 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -51,7 +51,7 @@ + #include "hgfsDirNotify.h" + #include "hgfsThreadpool.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h +index 09947002e..3800f5971 100644 +--- a/open-vm-tools/lib/include/asyncsocket.h ++++ b/open-vm-tools/lib/include/asyncsocket.h +@@ -177,7 +177,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 "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h +index 46442e556..8bc669970 100644 +--- a/open-vm-tools/lib/include/pollImpl.h ++++ b/open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + #include "vm_basic_asm.h" + + #if defined(__cplusplus) +diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h +similarity index 99% +rename from open-vm-tools/lib/include/poll.h +rename to open-vm-tools/lib/include/vm_poll.h +index ade356b9f..8759fb960 100644 +--- a/open-vm-tools/lib/include/poll.h ++++ b/open-vm-tools/lib/include/vm_poll.h +@@ -60,7 +60,7 @@ extern "C" { + #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 + #include <sys/kernel.h> + #endif +-#include <sys/poll.h> ++#include <poll.h> + #define HZ 100 + #endif + #ifdef __ANDROID__ +diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c +index f1709fe03..c1a5dfdba 100644 +--- a/open-vm-tools/lib/rpcIn/rpcin.c ++++ b/open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include <glib.h> +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch deleted file mode 100644 index 9cf54f6f44..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch +++ /dev/null @@ -1,742 +0,0 @@ -From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 13 Jun 2018 23:11:58 -0700 -Subject: [PATCH] Rename poll.h to vm_poll.h - -musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this -we rename poll.h to vm_poll.h. - -Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- - open-vm-tools/lib/include/asyncsocket.h | 2 +- - open-vm-tools/lib/include/pollImpl.h | 2 +- - open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- - open-vm-tools/lib/rpcIn/rpcin.c | 2 +- - .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) - ---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c -+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -86,7 +86,7 @@ - #include "random.h" - #include "asyncsocket.h" - #include "asyncSocketBase.h" --#include "poll.h" -+#include "vm_poll.h" - #include "log.h" - #include "err.h" - #include "hostinfo.h" ---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c -@@ -48,7 +48,7 @@ - #include "hgfsServerOplock.h" - #include "hgfsDirNotify.h" - #include "userlock.h" --#include "poll.h" -+#include "vm_poll.h" - #include "mutexRankLib.h" - #include "vm_basic_asm.h" - #include "unicodeOperations.h" ---- a/open-vm-tools/lib/include/asyncsocket.h -+++ b/open-vm-tools/lib/include/asyncsocket.h -@@ -164,7 +164,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 "poll.h" -+#include "vm_poll.h" - struct IVmdbPoll; - typedef struct AsyncSocketPollParams { - int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ ---- a/open-vm-tools/lib/include/pollImpl.h -+++ b/open-vm-tools/lib/include/pollImpl.h -@@ -44,7 +44,7 @@ - #define INCLUDE_ALLOW_USERLEVEL - #include "includeCheck.h" - --#include "poll.h" -+#include "vm_poll.h" - #include "vm_basic_asm.h" - - #if defined(__cplusplus) ---- a/open-vm-tools/lib/include/poll.h -+++ /dev/null -@@ -1,330 +0,0 @@ --/********************************************************* -- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. -- * -- * 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 -- * by the Free Software Foundation version 2.1 and no later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public -- * License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public License -- * along with this program; if not, write to the Free Software Foundation, Inc., -- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -- * -- *********************************************************/ -- --/********************************************************* -- * The contents of this file are subject to the terms of the Common -- * Development and Distribution License (the "License") version 1.0 -- * and no later version. You may not use this file except in -- * compliance with the License. -- * -- * You can obtain a copy of the License at -- * http://www.opensource.org/licenses/cddl1.php -- * -- * See the License for the specific language governing permissions -- * and limitations under the License. -- * -- *********************************************************/ -- -- --#ifndef _POLL_H_ --#define _POLL_H_ -- --#define INCLUDE_ALLOW_USERLEVEL --#define INCLUDE_ALLOW_VMCORE --#include "includeCheck.h" -- --#include "vm_basic_types.h" --#include "vm_basic_defs.h" --#include "vmware.h" --#include "userlock.h" -- --#if defined(__cplusplus) --extern "C" { --#endif -- --#ifdef _WIN32 --#define HZ 100 --#elif defined linux --#include <asm/param.h> --#elif __APPLE__ --#include <TargetConditionals.h> --/* -- * Old SDKs don't define TARGET_OS_IPHONE at all. -- * New ones define it to 0 on Mac OS X, 1 on iOS. -- */ --#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 --#include <sys/kernel.h> --#endif --#include <sys/poll.h> --#define HZ 100 --#endif --#ifdef __ANDROID__ --/* -- * <poll.h> of android should be included, but its name is same -- * with this file. So its content is put here to avoid conflict. -- */ --#include <asm/poll.h> --#define HZ 100 --typedef unsigned int nfds_t; --int poll(struct pollfd *, nfds_t, long); --#endif -- -- --/* -- * Poll event types: each type has a different reason for firing, -- * or condition that must be met before firing. -- */ -- --typedef enum { -- /* -- * Actual Poll queue types against which you can register callbacks. -- */ -- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ -- POLL_VTIME = 0, -- POLL_REALTIME, -- POLL_DEVICE, -- POLL_MAIN_LOOP, -- POLL_NUM_QUEUES --} PollEventType; -- -- --/* -- * Classes of events -- * -- * These are the predefined classes. More can be declared -- * with Poll_AllocClass(). -- */ -- --typedef enum PollClass { -- POLL_CLASS_MAIN, -- POLL_CLASS_PAUSE, -- POLL_CLASS_IPC, -- POLL_CLASS_CPT, -- POLL_CLASS_MKS, -- POLL_FIXED_CLASSES, -- POLL_DEFAULT_FIXED_CLASSES, -- /* Size enum to maximum */ -- POLL_MAX_CLASSES = 31, --} PollClass; -- --/* -- * Do not use; Special pseudo private poll class supported by -- * PollDefault only -- */ --#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES --#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) -- --/* -- * Each callback is registered in a set of classes -- */ -- --typedef struct PollClassSet { -- uintptr_t bits; --} PollClassSet; -- --/* An empty PollClassSet. */ --static INLINE PollClassSet --PollClassSet_Empty(void) --{ -- PollClassSet set = { 0 }; -- return set; --} -- --/* A PollClassSet with the single member. */ --static INLINE PollClassSet --PollClassSet_Singleton(PollClass c) --{ -- PollClassSet s = PollClassSet_Empty(); -- -- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); -- ASSERT(c < POLL_MAX_CLASSES); -- -- s.bits = CONST3264U(1) << c; -- return s; --} -- --/* Combine two PollClassSets. */ --static INLINE PollClassSet --PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) --{ -- PollClassSet set; -- set.bits = lhs.bits | rhs.bits; -- return set; --} -- --/* Add single class to PollClassSet. */ --static INLINE PollClassSet --PollClassSet_Include(PollClassSet set, PollClass c) --{ -- return PollClassSet_Union(set, PollClassSet_Singleton(c)); --} -- -- --#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) --#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ -- PollClassSet_Singleton(POLL_CLASS_PAUSE)) --#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ -- PollClassSet_Singleton(POLL_CLASS_CPT)) --#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ -- PollClassSet_Singleton(POLL_CLASS_IPC)) --#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ --#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) --/* -- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. -- */ --#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) -- --/* -- * Poll class-set taxonomy: -- * POLL_CS_MAIN -- * - Unless you NEED another class, use POLL_CS_MAIN. -- * POLL_CS_PAUSE -- * - For callbacks that must occur even if the guest is paused. -- * Most VMDB or Foundry commands are in this category. -- * POLL_CS_CPT -- * - Only for callbacks which can trigger intermediate Checkpoint -- * transitions. -- * The ONLY such callback is Migrate. -- * POLL_CS_IPC -- * - Only for callbacks which can contain Msg_(Post|Hint|Question) -- * responses, and for signal handlers (why)? -- * Vigor, VMDB, and Foundry can contain Msg_* responses. -- * POLL_CS_MKS -- * - Callback runs in MKS thread. -- * POLL_CS_ALWAYS -- * - Only for events that must be processed immediately. -- * The ONLY such callback is OvhdMemVmxSizeCheck. -- */ -- -- --/* -- * Poll_Callback flags -- */ -- --#define POLL_FLAG_PERIODIC 0x01 // keep after firing --#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory --#define POLL_FLAG_READ 0x04 // device is ready for reading --#define POLL_FLAG_WRITE 0x08 // device is ready for writing --#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket --#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking --#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events --#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. --#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl --#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop -- -- --typedef void (*PollerFunction)(void *clientData); --typedef void (*PollerFireWrapper)(PollerFunction func, -- void *funcData, -- void *wrapperData); --typedef Bool (*PollerErrorFn)(const char *errorStr); -- --/* -- * Initialisers: -- * -- * For the sake of convenience, we declare the initialisers -- * for custom implmentations here, even though the actual -- * implementations are distinct from the core poll code. -- */ -- --typedef struct PollOptions { -- Bool locked; // Use internal MXUser for locking -- Bool allowFullQueue; // Don't assert when device event queue is full. -- VThreadID windowsMsgThread; // thread that processes Windows messages -- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats -- void *fireWrapperData; // optional -- PollerErrorFn errorFn; // optional; called upon unrecoverable error --} PollOptions; -- -- --void Poll_InitDefault(void); --void Poll_InitDefaultEx(const PollOptions *opts); --void Poll_InitGtk(void); // On top of glib for Linux --void Poll_InitCF(void); // On top of CoreFoundation for OSX -- -- --/* -- * Functions -- */ --int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); --void Poll_Loop(Bool loop, Bool *exit, PollClass c); --void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); --Bool Poll_LockingEnabled(void); --void Poll_Exit(void); -- -- --/* -- * Poll_Callback adds a callback regardless of whether an identical one exists. -- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of -- * one read and one write callback per fd. -- * -- * Poll_CallbackRemove removes one callback. If there are multiple identical -- * callbacks, which one is removed is an implementation detail. Note that in -- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to -- * create the callback is not specified when removing, so all callbacks -- * of those types with the same flags, function, and clientData are considered -- * "identical" even if their fd/delay differed. -- */ -- --VMwareStatus Poll_Callback(PollClassSet classSet, -- int flags, -- PollerFunction f, -- void *clientData, -- PollEventType type, -- PollDevHandle info, // fd/microsec delay -- MXUserRecLock *lck); --Bool Poll_CallbackRemove(PollClassSet classSet, -- int flags, -- PollerFunction f, -- void *clientData, -- PollEventType type); --Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, -- int flags, -- PollerFunction f, -- PollEventType type, -- void **clientData); -- --void Poll_NotifyChange(PollClassSet classSet); -- --/* -- * Wrappers for Poll_Callback and Poll_CallbackRemove that present -- * simpler subsets of those interfaces. -- */ -- --VMwareStatus Poll_CB_Device(PollerFunction f, -- void *clientData, -- PollDevHandle device, -- Bool periodic); -- --Bool Poll_CB_DeviceRemove(PollerFunction f, -- void *clientData, -- Bool periodic); -- -- --VMwareStatus Poll_CB_RTime(PollerFunction f, -- void *clientData, -- int64 delay, // microseconds -- Bool periodic, -- MXUserRecLock *lock); -- --Bool Poll_CB_RTimeRemove(PollerFunction f, -- void *clientData, -- Bool periodic); -- -- --#ifdef _WIN32 --void Poll_SetPumpsWindowsMessages(Bool pumps); --void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); --Bool Poll_FireWndCallback(void *lparam); --#endif -- --#if defined(__cplusplus) --} // extern "C" --#endif -- --#endif // _POLL_H_ ---- /dev/null -+++ b/open-vm-tools/lib/include/vm_poll.h -@@ -0,0 +1,330 @@ -+/********************************************************* -+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. -+ * -+ * 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 -+ * by the Free Software Foundation version 2.1 and no later version. -+ * -+ * This program is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public -+ * License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this program; if not, write to the Free Software Foundation, Inc., -+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ *********************************************************/ -+ -+/********************************************************* -+ * The contents of this file are subject to the terms of the Common -+ * Development and Distribution License (the "License") version 1.0 -+ * and no later version. You may not use this file except in -+ * compliance with the License. -+ * -+ * You can obtain a copy of the License at -+ * http://www.opensource.org/licenses/cddl1.php -+ * -+ * See the License for the specific language governing permissions -+ * and limitations under the License. -+ * -+ *********************************************************/ -+ -+ -+#ifndef _POLL_H_ -+#define _POLL_H_ -+ -+#define INCLUDE_ALLOW_USERLEVEL -+#define INCLUDE_ALLOW_VMCORE -+#include "includeCheck.h" -+ -+#include "vm_basic_types.h" -+#include "vm_basic_defs.h" -+#include "vmware.h" -+#include "userlock.h" -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif -+ -+#ifdef _WIN32 -+#define HZ 100 -+#elif defined linux -+#include <asm/param.h> -+#elif __APPLE__ -+#include <TargetConditionals.h> -+/* -+ * Old SDKs don't define TARGET_OS_IPHONE at all. -+ * New ones define it to 0 on Mac OS X, 1 on iOS. -+ */ -+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 -+#include <sys/kernel.h> -+#endif -+#include <poll.h> -+#define HZ 100 -+#endif -+#ifdef __ANDROID__ -+/* -+ * <poll.h> of android should be included, but its name is same -+ * with this file. So its content is put here to avoid conflict. -+ */ -+#include <asm/poll.h> -+#define HZ 100 -+typedef unsigned int nfds_t; -+int poll(struct pollfd *, nfds_t, long); -+#endif -+ -+ -+/* -+ * Poll event types: each type has a different reason for firing, -+ * or condition that must be met before firing. -+ */ -+ -+typedef enum { -+ /* -+ * Actual Poll queue types against which you can register callbacks. -+ */ -+ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ -+ POLL_VTIME = 0, -+ POLL_REALTIME, -+ POLL_DEVICE, -+ POLL_MAIN_LOOP, -+ POLL_NUM_QUEUES -+} PollEventType; -+ -+ -+/* -+ * Classes of events -+ * -+ * These are the predefined classes. More can be declared -+ * with Poll_AllocClass(). -+ */ -+ -+typedef enum PollClass { -+ POLL_CLASS_MAIN, -+ POLL_CLASS_PAUSE, -+ POLL_CLASS_IPC, -+ POLL_CLASS_CPT, -+ POLL_CLASS_MKS, -+ POLL_FIXED_CLASSES, -+ POLL_DEFAULT_FIXED_CLASSES, -+ /* Size enum to maximum */ -+ POLL_MAX_CLASSES = 31, -+} PollClass; -+ -+/* -+ * Do not use; Special pseudo private poll class supported by -+ * PollDefault only -+ */ -+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES -+#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) -+ -+/* -+ * Each callback is registered in a set of classes -+ */ -+ -+typedef struct PollClassSet { -+ uintptr_t bits; -+} PollClassSet; -+ -+/* An empty PollClassSet. */ -+static INLINE PollClassSet -+PollClassSet_Empty(void) -+{ -+ PollClassSet set = { 0 }; -+ return set; -+} -+ -+/* A PollClassSet with the single member. */ -+static INLINE PollClassSet -+PollClassSet_Singleton(PollClass c) -+{ -+ PollClassSet s = PollClassSet_Empty(); -+ -+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); -+ ASSERT(c < POLL_MAX_CLASSES); -+ -+ s.bits = CONST3264U(1) << c; -+ return s; -+} -+ -+/* Combine two PollClassSets. */ -+static INLINE PollClassSet -+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) -+{ -+ PollClassSet set; -+ set.bits = lhs.bits | rhs.bits; -+ return set; -+} -+ -+/* Add single class to PollClassSet. */ -+static INLINE PollClassSet -+PollClassSet_Include(PollClassSet set, PollClass c) -+{ -+ return PollClassSet_Union(set, PollClassSet_Singleton(c)); -+} -+ -+ -+#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) -+#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ -+ PollClassSet_Singleton(POLL_CLASS_PAUSE)) -+#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ -+ PollClassSet_Singleton(POLL_CLASS_CPT)) -+#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ -+ PollClassSet_Singleton(POLL_CLASS_IPC)) -+#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ -+#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) -+/* -+ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. -+ */ -+#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) -+ -+/* -+ * Poll class-set taxonomy: -+ * POLL_CS_MAIN -+ * - Unless you NEED another class, use POLL_CS_MAIN. -+ * POLL_CS_PAUSE -+ * - For callbacks that must occur even if the guest is paused. -+ * Most VMDB or Foundry commands are in this category. -+ * POLL_CS_CPT -+ * - Only for callbacks which can trigger intermediate Checkpoint -+ * transitions. -+ * The ONLY such callback is Migrate. -+ * POLL_CS_IPC -+ * - Only for callbacks which can contain Msg_(Post|Hint|Question) -+ * responses, and for signal handlers (why)? -+ * Vigor, VMDB, and Foundry can contain Msg_* responses. -+ * POLL_CS_MKS -+ * - Callback runs in MKS thread. -+ * POLL_CS_ALWAYS -+ * - Only for events that must be processed immediately. -+ * The ONLY such callback is OvhdMemVmxSizeCheck. -+ */ -+ -+ -+/* -+ * Poll_Callback flags -+ */ -+ -+#define POLL_FLAG_PERIODIC 0x01 // keep after firing -+#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory -+#define POLL_FLAG_READ 0x04 // device is ready for reading -+#define POLL_FLAG_WRITE 0x08 // device is ready for writing -+#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket -+#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking -+#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events -+#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. -+#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl -+#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop -+ -+ -+typedef void (*PollerFunction)(void *clientData); -+typedef void (*PollerFireWrapper)(PollerFunction func, -+ void *funcData, -+ void *wrapperData); -+typedef Bool (*PollerErrorFn)(const char *errorStr); -+ -+/* -+ * Initialisers: -+ * -+ * For the sake of convenience, we declare the initialisers -+ * for custom implmentations here, even though the actual -+ * implementations are distinct from the core poll code. -+ */ -+ -+typedef struct PollOptions { -+ Bool locked; // Use internal MXUser for locking -+ Bool allowFullQueue; // Don't assert when device event queue is full. -+ VThreadID windowsMsgThread; // thread that processes Windows messages -+ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats -+ void *fireWrapperData; // optional -+ PollerErrorFn errorFn; // optional; called upon unrecoverable error -+} PollOptions; -+ -+ -+void Poll_InitDefault(void); -+void Poll_InitDefaultEx(const PollOptions *opts); -+void Poll_InitGtk(void); // On top of glib for Linux -+void Poll_InitCF(void); // On top of CoreFoundation for OSX -+ -+ -+/* -+ * Functions -+ */ -+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); -+void Poll_Loop(Bool loop, Bool *exit, PollClass c); -+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); -+Bool Poll_LockingEnabled(void); -+void Poll_Exit(void); -+ -+ -+/* -+ * Poll_Callback adds a callback regardless of whether an identical one exists. -+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of -+ * one read and one write callback per fd. -+ * -+ * Poll_CallbackRemove removes one callback. If there are multiple identical -+ * callbacks, which one is removed is an implementation detail. Note that in -+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to -+ * create the callback is not specified when removing, so all callbacks -+ * of those types with the same flags, function, and clientData are considered -+ * "identical" even if their fd/delay differed. -+ */ -+ -+VMwareStatus Poll_Callback(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ void *clientData, -+ PollEventType type, -+ PollDevHandle info, // fd/microsec delay -+ MXUserRecLock *lck); -+Bool Poll_CallbackRemove(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ void *clientData, -+ PollEventType type); -+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ PollEventType type, -+ void **clientData); -+ -+void Poll_NotifyChange(PollClassSet classSet); -+ -+/* -+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present -+ * simpler subsets of those interfaces. -+ */ -+ -+VMwareStatus Poll_CB_Device(PollerFunction f, -+ void *clientData, -+ PollDevHandle device, -+ Bool periodic); -+ -+Bool Poll_CB_DeviceRemove(PollerFunction f, -+ void *clientData, -+ Bool periodic); -+ -+ -+VMwareStatus Poll_CB_RTime(PollerFunction f, -+ void *clientData, -+ int64 delay, // microseconds -+ Bool periodic, -+ MXUserRecLock *lock); -+ -+Bool Poll_CB_RTimeRemove(PollerFunction f, -+ void *clientData, -+ Bool periodic); -+ -+ -+#ifdef _WIN32 -+void Poll_SetPumpsWindowsMessages(Bool pumps); -+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); -+Bool Poll_FireWndCallback(void *lparam); -+#endif -+ -+#if defined(__cplusplus) -+} // extern "C" -+#endif -+ -+#endif // _POLL_H_ ---- a/open-vm-tools/lib/rpcIn/rpcin.c -+++ b/open-vm-tools/lib/rpcIn/rpcin.c -@@ -57,7 +57,7 @@ - - #if defined(VMTOOLS_USE_VSOCKET) - # include <glib.h> --# include "poll.h" -+# include "vm_poll.h" - # include "asyncsocket.h" - # include "vmci_defs.h" - #include "dataMap.h" diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch index 784b4fc6c5..a6638adb9a 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-use-posix-strerror_r-unless-on-gnu-libc-system.patch @@ -1,15 +1,17 @@ -From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 +From 666a043be7d6fe07a36599260f7214cbd29a79e7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 13 Jun 2018 23:16:53 -0700 Subject: [PATCH] use posix strerror_r unless on gnu libc system +Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/lib/err/errPosix.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c -index c81b4c13..7a403640 100644 +index c81b4c13f..7a4036402 100644 --- a/open-vm-tools/lib/err/errPosix.c +++ b/open-vm-tools/lib/err/errPosix.c @@ -31,6 +31,7 @@ @@ -37,3 +39,6 @@ index c81b4c13..7a403640 100644 ASSERT(p != NULL); return p; } +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch index 0a1d008733..6d0f8a3ae0 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-Use-uintmax_t-for-handling-rlim_t.patch @@ -1,29 +1,38 @@ -From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001 +From b294005f3748c6caee002fd7588964f7bf9b1d09 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 13 Jun 2018 23:37:09 -0700 +Date: Wed, 24 Mar 2021 17:26:53 -0400 Subject: [PATCH] Use uintmax_t for handling rlim_t rlimit types are not representable with long or long long formats, therefore use uintmax_t to typecast rlim_t types and use %j to print it +Upstream-Status: Pending + +Refit patch for open-vm-tools-11.2.5. + Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> --- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 0e6351a9..a2ee1740 100644 +index 6ed49e2b7..0cc7c4094 100644 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c @@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: goto exit; } -- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", -- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); -+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", -+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); +- LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", +- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max); ++ //LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", ++ // __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); /* * Check the offset is within the file size range. +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch index d69b74e23a..c6ab4d44d6 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-off64_t-instead-of-__off64_t.patch @@ -1,4 +1,4 @@ -From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001 +From a8ef33b0623ba3494594a040ff5c77771168fdd6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 27 Aug 2018 23:22:21 -0700 Subject: [PATCH] Use off64_t instead of __off64_t @@ -7,16 +7,17 @@ Fixes unknown type name '__off64_t' Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c -index 23108279..bcd2ddc5 100644 +index 492a4bf4a..a80a884cd 100644 --- a/open-vm-tools/lib/file/fileIOPosix.c +++ b/open-vm-tools/lib/file/fileIOPosix.c -@@ -206,10 +206,10 @@ static AlignedPool alignedPool; +@@ -211,10 +211,10 @@ static AlignedPool alignedPool; * the symbols (and anyone building XOPEN<700 gets nothing). */ extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, @@ -27,5 +28,8 @@ index 23108279..bcd2ddc5 100644 - __off64_t offset) __attribute__ ((weak)); + off64_t offset) __attribute__ ((weak)); #else - #error "Large file support unavailable. Aborting." + #error "Large file support is unavailable." #endif +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch new file mode 100644 index 0000000000..388857fc10 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-hgfsServerLinux-Consider-64bit-time_t-possibility.patch @@ -0,0 +1,44 @@ +From 2904454f3408a3abe3f2b0681504a66ea5ce713c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 24 Mar 2021 17:36:26 -0400 +Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility + +Upstream-Status: Pending + +Refit for open-vm-tools-11.2.5. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 0cc7c4094..445a53881 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -2559,20 +2559,6 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information + LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, + attr->specialPerms, attr->ownerPerms, attr->groupPerms, + attr->otherPerms, attr->size); +-#ifdef __FreeBSD__ +-# if !defined(VM_X86_64) && !defined(VM_ARM_64) +-# define FMTTIMET "" +-# else +-# define FMTTIMET "l" +-# endif +-#else +-# define FMTTIMET "l" +-#endif +- LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" +- "attr: %"FMTTIMET"d/%"FMT64"u\n", +- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, +- stats->st_ctime, attr->attrChangeTime); +-#undef FMTTIMET + + attr->userId = stats->st_uid; + attr->groupId = stats->st_gid; +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch deleted file mode 100644 index 3e4753b2a6..0000000000 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 22 Dec 2018 19:59:02 -0800 -Subject: [PATCH] misc: Do not print NULL string into logs - -string format %s is getting a NULL pointer for 'expand' -parameter always since the check for chunks[i] == NULL will ensure that -its always null when the Log() API is called - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - open-vm-tools/lib/misc/util_misc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/open-vm-tools/lib/misc/util_misc.c -+++ b/open-vm-tools/lib/misc/util_misc.c -@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName) - ASSERT(!freeChunk[i]); - chunks[i] = expand; - if (chunks[i] == NULL) { -- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n", -+ Log("%s: Cannot allocate memory to expand in \"%s\".\n", - __FUNCTION__, fileName); - goto out; - } diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch new file mode 100644 index 0000000000..f2f6893db0 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-open-vm-tools-Correct-include-path-for-poll.h.patch @@ -0,0 +1,37 @@ +From eae0a65a9d6c9df20d05b4208aee23656915480b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Feb 2022 13:32:32 -0800 +Subject: [PATCH] open-vm-tools: Correct include path for poll.h + +sys/poll.h is deprecated and musl calls it out explicitly. + +Fixes +| In file included from ../../../../git/open-vm-tools/services/plugins/gdp/gdpPlugin.c:35: +| /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux-musl/open-vm-tools/11.3.5-r0/recipe-sysroot/usr/include/sys/poll.h:1:2: error: redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings] +| #warning redirecting incorrect #include <sys/poll.h> to <poll.h> +| ^ +| 1 error generated. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + open-vm-tools/services/plugins/gdp/gdpPlugin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/services/plugins/gdp/gdpPlugin.c b/open-vm-tools/services/plugins/gdp/gdpPlugin.c +index 96e6d717b..0b8a583b8 100644 +--- a/open-vm-tools/services/plugins/gdp/gdpPlugin.c ++++ b/open-vm-tools/services/plugins/gdp/gdpPlugin.c +@@ -32,7 +32,7 @@ + #include <sys/types.h> + #include <sys/socket.h> + #include <sys/eventfd.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <unistd.h> + #endif + +-- +2.25.1 + diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0014-timeSync-Portable-way-to-print-64bit-time_t.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0014-timeSync-Portable-way-to-print-64bit-time_t.patch new file mode 100644 index 0000000000..39eea767a0 --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0014-timeSync-Portable-way-to-print-64bit-time_t.patch @@ -0,0 +1,55 @@ +From 09cc01b2fa15e319afafa13d7365b399a60f443c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 3 Jan 2023 13:36:01 -0800 +Subject: [PATCH] timeSync: Portable way to print 64bit time_t + +This ensures when 64bit time_t is used on 32bit architectures ( +-D_TIME_BITS=64 ) then it can print it correctly as well. + +Fixes +pllLinux.c:43:20: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat] +| prefix, tx->offset, tx->freq, tx->maxerror, tx->esterror, +| ^~~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/631] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + open-vm-tools/services/plugins/timeSync/pllLinux.c | 8 ++++---- + open-vm-tools/services/plugins/timeSync/slewLinux.c | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/open-vm-tools/services/plugins/timeSync/pllLinux.c b/open-vm-tools/services/plugins/timeSync/pllLinux.c +index e9c8e61de..90ba8c63f 100644 +--- a/open-vm-tools/services/plugins/timeSync/pllLinux.c ++++ b/open-vm-tools/services/plugins/timeSync/pllLinux.c +@@ -38,10 +38,10 @@ + static void + TimeSyncLogPLLState(const char *prefix, struct timex *tx) + { +- g_debug("%s : off %ld freq %ld maxerr %ld esterr %ld status %d " +- "const %ld precision %ld tolerance %ld tick %ld\n", +- prefix, tx->offset, tx->freq, tx->maxerror, tx->esterror, +- tx->status, tx->constant, tx->precision, tx->tolerance, tx->tick); ++ g_debug("%s : off %jd freq %jd maxerr %jd esterr %jd status %d " ++ "const %jd precision %jd tolerance %jd tick %jd\n", ++ prefix, (intmax_t)tx->offset, (intmax_t)tx->freq, (intmax_t)tx->maxerror, (intmax_t)tx->esterror, ++ tx->status, (intmax_t)tx->constant, (intmax_t)tx->precision, (intmax_t)tx->tolerance, (intmax_t)tx->tick); + } + + /* +diff --git a/open-vm-tools/services/plugins/timeSync/slewLinux.c b/open-vm-tools/services/plugins/timeSync/slewLinux.c +index 1ab6e3584..0c304b5d7 100644 +--- a/open-vm-tools/services/plugins/timeSync/slewLinux.c ++++ b/open-vm-tools/services/plugins/timeSync/slewLinux.c +@@ -156,6 +156,6 @@ TimeSync_Slew(int64 delta, + g_debug("adjtimex failed: %s\n", strerror(errno)); + return FALSE; + } +- g_debug("time slew start: %ld\n", tx.tick); ++ g_debug("time slew start: %jd\n", (intmax_t)tx.tick); + return TRUE; + } +-- +2.25.1 + |