main/open-vm-tools: upgrade to 10.0.0_p3000743

This commit is contained in:
Natanael Copa 2015-11-18 14:39:50 +00:00
parent 276a4314d1
commit ef2dec6c3e
21 changed files with 1589 additions and 529 deletions

View File

@ -1,38 +1,39 @@
From 70438337a96f53019bfb3b5b928d9a9ab8067d64 Mon Sep 17 00:00:00 2001
From 00a3692ad782758d95994798e038d6d6c3104d93 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Mon, 2 Jul 2012 15:48:35 +0200
Subject: [PATCH] lib/misc: Recognize Alpine Linux
Date: Thu, 5 Nov 2015 13:09:34 +0000
Subject: [PATCH 01/11] lib/misc: Recognize Alpine Linux
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
lib/include/guest_os.h | 1 +
lib/misc/hostinfoPosix.c | 3 +++
open-vm-tools/lib/include/guest_os.h | 1 +
open-vm-tools/lib/misc/hostinfoPosix.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/lib/include/guest_os.h b/open-vm-tools/lib/include/guest_os.h
index ffced6d..49f30eb 100644
--- a/lib/include/guest_os.h
+++ b/lib/include/guest_os.h
@@ -152,6 +152,7 @@ typedef enum GuestOSFamilyType {
#define STR_OS_ESX_5 "VMware ESX 5"
diff --git a/open-vm-tools/lib/include/guest_os.h b/open-vm-tools/lib/include/guest_os.h
index d5d190a..c788991 100644
--- a/open-vm-tools/lib/include/guest_os.h
+++ b/open-vm-tools/lib/include/guest_os.h
@@ -192,6 +192,7 @@ Bool Gos_InSetArray(uint32 gos, const uint32 *set);
#define STR_OS_ESX_6 "VMware ESX 6"
/* Linux */
+#define STR_OS_ALPINE "Alpine"
#define STR_OS_ANNVIX "Annvix"
#define STR_OS_ARCH "Arch"
#define STR_OS_ARKLINUX "Arklinux"
diff --git a/lib/misc/hostinfoPosix.c b/open-vm-tools/lib/misc/hostinfoPosix.c
index 8fa18cc..9874c2a 100644
--- a/lib/misc/hostinfoPosix.c
+++ b/lib/misc/hostinfoPosix.c
@@ -185,6 +185,7 @@ static const DistroInfo distroArray[] = {
{"Gentoo", "/etc/gentoo-release"},
{"Novell", "/etc/nld-release"},
{"Ubuntu", "/etc/lsb-release"},
diff --git a/open-vm-tools/lib/misc/hostinfoPosix.c b/open-vm-tools/lib/misc/hostinfoPosix.c
index a9e7d6c..c5336c4 100644
--- a/open-vm-tools/lib/misc/hostinfoPosix.c
+++ b/open-vm-tools/lib/misc/hostinfoPosix.c
@@ -176,6 +176,7 @@ typedef struct distro_info {
/* KEEP SORTED! (sort -d) */
static const DistroInfo distroArray[] = {
+ {"Alpine", "/etc/alpine-release"},
{"Annvix", "/etc/annvix-release"},
{"Arch", "/etc/arch-release"},
{"Arklinux", "/etc/arklinux-release"},
@@ -545,6 +546,8 @@ HostinfoGetOSShortName(char *distro, // IN: full distro name
@@ -558,6 +559,8 @@ HostinfoGetOSShortName(char *distro, // IN: full distro name
Str_Strcpy(distroShort, STR_OS_TURBO, distroShortSize);
} else if (strstr(distroLower, "sun")) {
Str_Strcpy(distroShort, STR_OS_SUN_DESK, distroShortSize);
@ -42,5 +43,5 @@ index 8fa18cc..9874c2a 100644
Str_Strcpy(distroShort, STR_OS_ANNVIX, distroShortSize);
} else if (strstr(distroLower, "arch")) {
--
1.7.11.1
2.6.3

View File

@ -0,0 +1,39 @@
From 854943f4c0df6ae015fc1852c9aee4ccca0008fd Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 5 Nov 2015 13:19:20 +0000
Subject: [PATCH 02/11] open-vm-tools: Add --disable-werror configure option
Packagers will normally not want the -Werror compile option as it may
break compilation depending on the platform specific warnings.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/configure.ac | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
index ebdf17c..810555c 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
@@ -935,7 +935,17 @@ AC_C_VOLATILE
### General flags / actions
CFLAGS="$CFLAGS -Wall"
-CFLAGS="$CFLAGS -Werror"
+AC_ARG_ENABLE(
+ werror,
+ AS_HELP_STRING(
+ [--disable-werror],
+ [disable compilation with -Werror]),
+ [enable_werror="$enableval"],
+ [enable_werror="yes"])
+
+if test "$enable_werror" = "yes"; then
+ CFLAGS="$CFLAGS -Werror"
+fi
# -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident'
# in Xlib.h on OpenSolaris.
--
2.6.3

View File

@ -0,0 +1,46 @@
From 7be57bd68c323840119a3366fea297d6c81cc32c Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 17 Nov 2015 10:39:01 +0000
Subject: [PATCH 03/11] Do not assume that linux and gnu libc are the same
thing
Use __GLIBC__ when testing for GNU libc specific things instead of
assuming that __linux__ is GNU libc.
This is needed for building with musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/lib/file/fileIOPosix.c | 2 +-
open-vm-tools/lib/include/vm_basic_defs.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c
index 18aa641..8f19239 100644
--- a/open-vm-tools/lib/file/fileIOPosix.c
+++ b/open-vm-tools/lib/file/fileIOPosix.c
@@ -205,7 +205,7 @@ static AlignedPool alignedPool;
* are not available in any header file.
*/
-#if defined(__linux__) && !defined(__ANDROID__)
+#if defined(__linux__) && defined(__GLIBC__)
#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
/*
* We want preadv/pwritev. But due to FOB=64, the symbols are -64.
diff --git a/open-vm-tools/lib/include/vm_basic_defs.h b/open-vm-tools/lib/include/vm_basic_defs.h
index 81c5e21..b70cd05 100644
--- a/open-vm-tools/lib/include/vm_basic_defs.h
+++ b/open-vm-tools/lib/include/vm_basic_defs.h
@@ -552,7 +552,7 @@ typedef int pid_t;
#endif
#endif
-#if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \
+#if defined __GLIBC__ && !defined __KERNEL__ && !defined MODULE && \
!defined VMM && !defined FROBOS && !defined __ANDROID__
#include <features.h>
#if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21
--
2.6.3

View File

@ -0,0 +1,48 @@
From eed7a9d80283b8bfd6ed334f86e186ea2b1c26a5 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:03:00 +0000
Subject: [PATCH 04/11] 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.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/configure.ac | 1 +
open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
index 810555c..037679d 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
@@ -925,6 +925,7 @@ AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
AC_HEADER_TIME
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 8dddb4d..e53b0aa 100644
--- a/open-vm-tools/lib/include/hgfsUtil.h
+++ b/open-vm-tools/lib/include/hgfsUtil.h
@@ -53,13 +53,7 @@
# include <time.h>
# endif
# include "vm_basic_types.h"
-# if !defined _STRUCT_TIMESPEC && \
- !defined _TIMESPEC_DECLARED && \
- !defined __timespec_defined && \
- !defined sun && \
- !defined __FreeBSD__ && \
- !__APPLE__ && \
- !defined _WIN32
+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
struct timespec {
time_t tv_sec;
long tv_nsec;
--
2.6.3

View File

@ -0,0 +1,61 @@
From 86e194a22f7aa8cedd075ba66f18c76d4f521734 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:10:14 +0000
Subject: [PATCH 05/11] Fix definition of ALLPERMS and ACCESSPERMS
The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
assume it is not there instead of testing for specific implementations.
This is needed for musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
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 b874ce9..8d89644 100644
--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
#endif
/*
- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
- * Solaris version of <sys/stat.h>.
+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
+ * POSIX.
*/
-#ifdef sun
+#ifndef ACCESSPERMS
# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
+#endif
+#ifndef ALLPERMS
# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
#endif
diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
index 133219c..4afa702 100644
--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
@@ -51,7 +51,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)
-#ifdef sun
+#ifndef ACCESSPERMS
#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#ifdef __ANDROID__
@@ -60,7 +60,6 @@
*/
#define NO_SETMNTENT
#define NO_ENDMNTENT
-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
--
2.6.3

View File

@ -0,0 +1,192 @@
From 1a6d86a39e8ac164074ed8e0be116e7c07bb886d Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:05:07 +0000
Subject: [PATCH 06/11] Use configure to test for feature instead of platform
Test for various functions instead of trying to keep track of what
platform and what version of the given platform has support for what.
This should make it easier to port to currently unknown platforms and
will solve the issue if a platform add support for a missing feature in
the future.
The features we test for are:
- getifaddrs
- getauxval
- setresuid
- setresgid
- issetugid
- __secure_getenv
This is needed for musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/configure.ac | 4 ++++
open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++----------------
open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++--
open-vm-tools/lib/procMgr/procMgrPosix.c | 9 ++++++---
4 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
index 037679d..f474150 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
@@ -644,6 +644,7 @@ AC_CHECK_FUNCS(
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
+AC_CHECK_FUNCS([getifaddrs getauxval setresuid setresgid issetugid __secure_getenv])
if test "$os" = "freebsd" -a "$osVersion" -ge 600000; then
AC_CHECK_LIB(
@@ -861,10 +862,13 @@ AC_PATH_PROG(
###
AC_CHECK_HEADERS([crypt.h])
+AC_CHECK_HEADERS([ifaddrs.h])
AC_CHECK_HEADERS([inttypes.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdlib.h])
AC_CHECK_HEADERS([wchar.h])
+AC_CHECK_HEADERS([net/if.h])
+AC_CHECK_HEADERS([sys/auxv.h])
AC_CHECK_HEADERS([sys/inttypes.h])
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 58bcb53..a7d859f 100644
--- a/open-vm-tools/lib/misc/idLinux.c
+++ b/open-vm-tools/lib/misc/idLinux.c
@@ -27,12 +27,9 @@
#include <sys/syscall.h>
#include <string.h>
#include <unistd.h>
-#ifdef __linux__
-#if defined(__GLIBC__) && \
- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
+#ifdef HAVE_SYS_AUXV_H
#include <sys/auxv.h>
#endif
-#endif
#ifdef __APPLE__
#include <sys/socket.h>
#include <TargetConditionals.h>
@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN:
static Bool
IdIsSetUGid(void)
{
-#if defined(__ANDROID__)
- /* Android does not have a secure_getenv, so be conservative. */
- return TRUE;
-#else
/*
* 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,
*
- * 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.
*
- * Use (a) when we are based on glibc 2.16, or newer.
+ * Use (b) when we are based on glibc 2.16, or newer.
*/
-#if defined(__GLIBC__) && \
- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
+#if HAVE_ISSETUGID
+ return issetugid();
+#elif HAVE_GETAUXVAL
return getauxval(AT_SECURE) != 0;
-#else
+#elif HAVE___SECURE_GETENV
static const char envName[] = "VMW_SETUGID_TEST";
if (setenv(envName, "1", TRUE) == -1) {
return TRUE; /* Conservative */
}
return __secure_getenv(envName) == NULL;
-#endif
+#else
+ /* Android does not have a secure_getenv, so be conservative. */
+ return TRUE;
#endif
}
#endif
diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
index 4324637..e7ff9a2 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>
#include <sys/stat.h>
#include <errno.h>
-#if defined(__FreeBSD__) || defined(__APPLE__)
+#if HAVE_SYS_SYSCTL_H
# include <sys/sysctl.h>
+#endif
+#if HAVE_IFADDRS_H
# include <ifaddrs.h>
+#endif
+#if HAVE_NET_IF_H
# include <net/if.h>
#endif
#ifndef NO_DNET
@@ -280,7 +284,7 @@ GuestInfoGetNicInfo(NicInfoV3 *nicInfo) // OUT
*
******************************************************************************
*/
-#if defined(__FreeBSD__) || defined(__APPLE__) || defined(USERWORLD)
+#if defined(NO_DNET) && defined(HAVE_GETIFADDRS)
char *
GuestInfoGetPrimaryIP(void)
diff --git a/open-vm-tools/lib/procMgr/procMgrPosix.c b/open-vm-tools/lib/procMgr/procMgrPosix.c
index d0e78a4..5038b75 100644
--- a/open-vm-tools/lib/procMgr/procMgrPosix.c
+++ b/open-vm-tools/lib/procMgr/procMgrPosix.c
@@ -137,7 +137,7 @@ static int ProcMgrGetCommandLineArgs(long pid,
#define BASH_PATH "/bin/bash"
#endif
-#if defined(linux) && !defined(GLIBC_VERSION_23) && !defined(__UCLIBC__)
+#if defined(linux)
/*
* Implements the system calls (they are not wrapped by glibc til 2.3.2).
*
@@ -146,7 +146,7 @@ static int ProcMgrGetCommandLineArgs(long pid,
*
* (In fact, newer Linux kernels don't even define _syscall macros anymore.)
*/
-
+#ifndef HAVE_SETRESUID
static INLINE int
setresuid(uid_t ruid,
uid_t euid,
@@ -154,8 +154,9 @@ setresuid(uid_t ruid,
{
return syscall(__NR_setresuid, ruid, euid, suid);
}
+#endif
-
+#ifndef HAVE_SETRESGID
static INLINE int
setresgid(gid_t ruid,
gid_t euid,
@@ -165,6 +166,8 @@ setresgid(gid_t ruid,
}
#endif
+#endif
+
/*
*----------------------------------------------------------------------
--
2.6.3

View File

@ -0,0 +1,28 @@
From 4c4cc27681860746249218d5ee12e5acd21985ca Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:37:14 +0000
Subject: [PATCH 07/11] Fix vmblock linux detection
This is needed for musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/lib/include/vmblock.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/open-vm-tools/lib/include/vmblock.h b/open-vm-tools/lib/include/vmblock.h
index 8dbb0ce..541fd46 100644
--- a/open-vm-tools/lib/include/vmblock.h
+++ b/open-vm-tools/lib/include/vmblock.h
@@ -145,7 +145,7 @@
# define VMBLOCK_DEVICE_MODE VMBLOCK_FUSE_DEVICE_MODE
# define VMBLOCK_MOUNT_POINT VMBLOCK_FUSE_MOUNT_POINT
-#elif defined(linux)
+#elif defined(__linux__)
# define VMBLOCK_ADD_FILEBLOCK 98
# define VMBLOCK_DEL_FILEBLOCK 99
# ifdef VMX86_DEVEL
--
2.6.3

View File

@ -0,0 +1,28 @@
From 2ae2d54491b5148f0a1a6bc5072bf24f3e28de16 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:41:01 +0000
Subject: [PATCH 08/11] Use configure test for sys/stat.h include
This is needed for musl libc.
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 3b19554..17733cb 100644
--- a/open-vm-tools/services/plugins/vix/vixTools.c
+++ b/open-vm-tools/services/plugins/vix/vixTools.c
@@ -66,7 +66,7 @@
#include <unistd.h>
#endif
-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
+#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
--
2.6.3

View File

@ -0,0 +1,763 @@
From 6accc22a50c51ab720a8b29740ccd928e6fb7f1e Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 17 Nov 2015 10:57:31 +0000
Subject: [PATCH 09/11] 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>
---
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/poll.h | 324 ---------------------
open-vm-tools/lib/include/pollImpl.h | 2 +-
open-vm-tools/lib/include/vm_poll.h | 324 +++++++++++++++++++++
open-vm-tools/lib/rpcIn/rpcin.c | 2 +-
.../plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +-
8 files changed, 330 insertions(+), 330 deletions(-)
delete mode 100644 open-vm-tools/lib/include/poll.h
create mode 100644 open-vm-tools/lib/include/vm_poll.h
diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
index 05f217a..a24e356 100644
--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
@@ -52,7 +52,7 @@
#include "vmware.h"
#include "asyncsocket.h"
#include "asyncSocketInt.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 0939655..147b9e8 100644
--- 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"
diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
index 9d41a72..b9024d3 100644
--- a/open-vm-tools/lib/include/asyncsocket.h
+++ b/open-vm-tools/lib/include/asyncsocket.h
@@ -125,7 +125,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/poll.h b/open-vm-tools/lib/include/poll.h
deleted file mode 100644
index 834535c..0000000
--- a/open-vm-tools/lib/include/poll.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/*********************************************************
- * Copyright (C) 1998-2015 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"
-
-#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_MAX_CLASSES = 320 /* Size enum to maximum */
-} PollClass;
-
-
-/*
- * Each callback is registered in a set of classes
- */
-
-typedef struct PollClassSet {
- /* Type is uintptr_t to give best 32/64-bit code. */
-#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8)
- uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)];
-} 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(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */
- ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */
- ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE);
- ASSERT(c < POLL_MAX_CLASSES);
-
- s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE);
- return s;
-}
-
-/* Combine two PollClassSets. */
-static INLINE PollClassSet
-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
-{
- PollClassSet u;
- unsigned i;
-
- for (i = 0; i < ARRAYSIZE(u.bits); i++) {
- u.bits[i] = lhs.bits[i] | rhs.bits[i];
- }
- return u;
-}
-
-/* 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
-
-
-/*
- * Advisory minimum time period.
- * Users that want the fastest running real-time poll
- * should use TICKS_TO_USECS(1).
- */
-
-#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ))
-#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ))
-
-
-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.
- *
- * Likewise, Poll_CallbackRemove removes exactly one callback.
- */
-
-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,
- int delay, // microseconds
- Bool periodic,
- MXUserRecLock *lock);
-
-Bool Poll_CB_RTimeRemove(PollerFunction f,
- void *clientData,
- Bool periodic);
-
-
-#ifdef _WIN32
-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
-Bool Poll_FireWndCallback(void *lparam);
-#endif
-
-#endif // _POLL_H_
diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
index 569c73d..e429f11 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"
/*
* PollImpl:
diff --git a/open-vm-tools/lib/include/vm_poll.h b/open-vm-tools/lib/include/vm_poll.h
new file mode 100644
index 0000000..834535c
--- /dev/null
+++ b/open-vm-tools/lib/include/vm_poll.h
@@ -0,0 +1,324 @@
+/*********************************************************
+ * Copyright (C) 1998-2015 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"
+
+#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_MAX_CLASSES = 320 /* Size enum to maximum */
+} PollClass;
+
+
+/*
+ * Each callback is registered in a set of classes
+ */
+
+typedef struct PollClassSet {
+ /* Type is uintptr_t to give best 32/64-bit code. */
+#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8)
+ uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)];
+} 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(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */
+ ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */
+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE);
+ ASSERT(c < POLL_MAX_CLASSES);
+
+ s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE);
+ return s;
+}
+
+/* Combine two PollClassSets. */
+static INLINE PollClassSet
+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
+{
+ PollClassSet u;
+ unsigned i;
+
+ for (i = 0; i < ARRAYSIZE(u.bits); i++) {
+ u.bits[i] = lhs.bits[i] | rhs.bits[i];
+ }
+ return u;
+}
+
+/* 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
+
+
+/*
+ * Advisory minimum time period.
+ * Users that want the fastest running real-time poll
+ * should use TICKS_TO_USECS(1).
+ */
+
+#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ))
+#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ))
+
+
+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.
+ *
+ * Likewise, Poll_CallbackRemove removes exactly one callback.
+ */
+
+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,
+ int delay, // microseconds
+ Bool periodic,
+ MXUserRecLock *lock);
+
+Bool Poll_CB_RTimeRemove(PollerFunction f,
+ void *clientData,
+ Bool periodic);
+
+
+#ifdef _WIN32
+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
+Bool Poll_FireWndCallback(void *lparam);
+#endif
+
+#endif // _POLL_H_
diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
index abe48e6..243a86f 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"
diff --git a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
index 9451dcc..3ebf6ba 100644
--- a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
+++ b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
@@ -48,7 +48,7 @@
#include "rpcout.h"
#include "rabbitmqProxyConst.h"
#include "vm_basic_types.h"
-#include "poll.h"
+#include "vm_poll.h"
#ifdef OPEN_VM_TOOLS
#include "vmci_sockets.h"
#include "sslDirect.h"
--
2.6.3

View File

@ -0,0 +1,258 @@
From 7d1329e9cdcae199789f7f37e6050d50d92a78b5 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:54:42 +0000
Subject: [PATCH 10/11] Add support for building with system libtirpc
This is needed for buliding with musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/configure.ac | 14 ++++++++++++++
open-vm-tools/lib/dynxdr/Makefile.am | 8 +++++++-
open-vm-tools/lib/guestRpc/Makefile.am | 6 ++++++
open-vm-tools/lib/netUtil/Makefile.am | 4 ++++
open-vm-tools/lib/nicInfo/Makefile.am | 2 ++
open-vm-tools/lib/rpcChannel/Makefile.am | 4 ++++
open-vm-tools/lib/slashProc/Makefile.am | 4 ++++
open-vm-tools/libguestlib/Makefile.am | 2 ++
open-vm-tools/services/plugins/dndcp/Makefile.am | 2 ++
open-vm-tools/services/plugins/guestInfo/Makefile.am | 1 +
open-vm-tools/services/plugins/resolutionSet/Makefile.am | 2 ++
open-vm-tools/services/plugins/vix/Makefile.am | 2 ++
open-vm-tools/services/plugins/vmbackup/Makefile.am | 2 ++
13 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
index f474150..d7d0e91 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
@@ -380,6 +380,20 @@ AC_VMW_CHECK_LIB([fuse],
AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])])
#
+# Check for libtirpc
+#
+AC_VMW_CHECK_LIB([libtirpc],
+ [LIBTIRPC],
+ [libtirpc],
+ [],
+ [],
+ [rpc/xdr.h],
+ [xdr_void],
+ [have_libtirpc=yes],
+ [have_libtitirpc=no;
+ AC_MSG_WARN([libtirpc is missing.])])
+
+#
# Check for PAM.
#
AC_ARG_WITH([pam],
diff --git a/open-vm-tools/lib/dynxdr/Makefile.am b/open-vm-tools/lib/dynxdr/Makefile.am
index deb75e4..c6a285b 100644
--- a/open-vm-tools/lib/dynxdr/Makefile.am
+++ b/open-vm-tools/lib/dynxdr/Makefile.am
@@ -17,7 +17,13 @@
noinst_LTLIBRARIES = libDynxdr.la
-libDynxdr_la_SOURCES =
+libDynxdr_la_SOURCES =
libDynxdr_la_SOURCES += dynxdr.c
libDynxdr_la_SOURCES += xdrutil.c
+libDynxdr_la_CPPFLAGS =
+libDynxdr_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libDynxdr_la_LIBADD =
+libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@
+
diff --git a/open-vm-tools/lib/guestRpc/Makefile.am b/open-vm-tools/lib/guestRpc/Makefile.am
index d68bc07..cf75f0a 100644
--- a/open-vm-tools/lib/guestRpc/Makefile.am
+++ b/open-vm-tools/lib/guestRpc/Makefile.am
@@ -20,6 +20,12 @@ noinst_LTLIBRARIES = libGuestRpc.la
libGuestRpc_la_SOURCES =
libGuestRpc_la_SOURCES += nicinfo_xdr.c
+libGuestRpc_la_CPPFLAGS =
+libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libGuestRpc_la_LIBADD =
+libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@
+
# XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead.
# Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS
# and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag.
diff --git a/open-vm-tools/lib/netUtil/Makefile.am b/open-vm-tools/lib/netUtil/Makefile.am
index 6b13632..fcd5623 100644
--- a/open-vm-tools/lib/netUtil/Makefile.am
+++ b/open-vm-tools/lib/netUtil/Makefile.am
@@ -20,3 +20,7 @@ noinst_LTLIBRARIES = libNetUtil.la
libNetUtil_la_SOURCES =
libNetUtil_la_SOURCES += netUtilLinux.c
+libNetUtil_la_CPPFLAGS =
+libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@
diff --git a/open-vm-tools/lib/nicInfo/Makefile.am b/open-vm-tools/lib/nicInfo/Makefile.am
index ff59606..7d78358 100644
--- a/open-vm-tools/lib/nicInfo/Makefile.am
+++ b/open-vm-tools/lib/nicInfo/Makefile.am
@@ -25,12 +25,14 @@ libNicInfo_la_SOURCES += nicInfoPosix.c
libNicInfo_la_CPPFLAGS =
libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@
+libNicInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
AM_CFLAGS = $(DNET_CPPFLAGS)
if USE_SLASH_PROC
AM_CFLAGS += -DUSE_SLASH_PROC
endif
libNicInfo_la_LIBADD =
+libNicInfo_la_LIBADD += @LIBTIRPC_LIBS@
if HAVE_DNET
libNicInfo_la_LIBADD += @DNET_LIBS@
endif
diff --git a/open-vm-tools/lib/rpcChannel/Makefile.am b/open-vm-tools/lib/rpcChannel/Makefile.am
index 32a9f8c..4497cce 100644
--- a/open-vm-tools/lib/rpcChannel/Makefile.am
+++ b/open-vm-tools/lib/rpcChannel/Makefile.am
@@ -27,3 +27,7 @@ endif
libRpcChannel_la_CPPFLAGS =
libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@
+libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libRpcChannel_la_LIBADD =
+libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@
diff --git a/open-vm-tools/lib/slashProc/Makefile.am b/open-vm-tools/lib/slashProc/Makefile.am
index e78988b..6026014 100644
--- a/open-vm-tools/lib/slashProc/Makefile.am
+++ b/open-vm-tools/lib/slashProc/Makefile.am
@@ -22,6 +22,10 @@ libSlashProc_la_SOURCES += net.c
libSlashProc_la_CPPFLAGS =
libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@
+libSlashProc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libSlashProc_la_LIBADD =
+libSlashProc_la_LIBADD += @LIBTIRPC_LIBS@
AM_CFLAGS = $(DNET_CPPFLAGS)
diff --git a/open-vm-tools/libguestlib/Makefile.am b/open-vm-tools/libguestlib/Makefile.am
index b05d43a..a6b7c0b 100644
--- a/open-vm-tools/libguestlib/Makefile.am
+++ b/open-vm-tools/libguestlib/Makefile.am
@@ -22,6 +22,7 @@ AM_CFLAGS += -I$(top_builddir)/include
libguestlib_la_LIBADD =
libguestlib_la_LIBADD += @VMTOOLS_LIBS@
+libguestlib_la_LIBADD += @LIBTIRPC_LIBS@
libguestlib_la_SOURCES =
libguestlib_la_SOURCES += guestlibV3_xdr.c
@@ -56,6 +57,7 @@ CFLAGS += -Wno-unused
libguestlib_la_CPPFLAGS =
libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB
libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@
+libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
EXTRA_DIST = vmguestlib.pc.in
diff --git a/open-vm-tools/services/plugins/dndcp/Makefile.am b/open-vm-tools/services/plugins/dndcp/Makefile.am
index 37e23c8..c00b77c 100644
--- a/open-vm-tools/services/plugins/dndcp/Makefile.am
+++ b/open-vm-tools/services/plugins/dndcp/Makefile.am
@@ -22,6 +22,7 @@ libdndcp_la_CPPFLAGS =
libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@
libdndcp_la_CPPFLAGS += @GTKMM_CPPFLAGS@
libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx
@@ -37,6 +38,7 @@ libdndcp_la_LIBADD += @GTK_LIBS@
libdndcp_la_LIBADD += @GTKMM_LIBS@
libdndcp_la_LIBADD += @VMTOOLS_LIBS@
libdndcp_la_LIBADD += @HGFS_LIBS@
+libdndcp_la_LIBADD += @LIBTIRPC_LIBS@
libdndcp_la_SOURCES =
diff --git a/open-vm-tools/services/plugins/guestInfo/Makefile.am b/open-vm-tools/services/plugins/guestInfo/Makefile.am
index 4ac05f4..8528238 100644
--- a/open-vm-tools/services/plugins/guestInfo/Makefile.am
+++ b/open-vm-tools/services/plugins/guestInfo/Makefile.am
@@ -22,6 +22,7 @@ plugin_LTLIBRARIES = libguestInfo.la
libguestInfo_la_CPPFLAGS =
libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libguestInfo_la_LDFLAGS =
libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@
diff --git a/open-vm-tools/services/plugins/resolutionSet/Makefile.am b/open-vm-tools/services/plugins/resolutionSet/Makefile.am
index 75432d7..9303b25 100644
--- a/open-vm-tools/services/plugins/resolutionSet/Makefile.am
+++ b/open-vm-tools/services/plugins/resolutionSet/Makefile.am
@@ -21,6 +21,7 @@ plugin_LTLIBRARIES = libresolutionSet.la
libresolutionSet_la_CPPFLAGS =
libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@
libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11
libresolutionSet_la_LDFLAGS =
@@ -30,6 +31,7 @@ libresolutionSet_la_LIBADD =
libresolutionSet_la_LIBADD += @COMMON_XLIBS@
libresolutionSet_la_LIBADD += @GTK_LIBS@
libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@
+libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@
libresolutionSet_la_SOURCES =
libresolutionSet_la_SOURCES += libvmwarectrl.c
diff --git a/open-vm-tools/services/plugins/vix/Makefile.am b/open-vm-tools/services/plugins/vix/Makefile.am
index b19a15d..02996d2 100644
--- a/open-vm-tools/services/plugins/vix/Makefile.am
+++ b/open-vm-tools/services/plugins/vix/Makefile.am
@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvix.la
libvix_la_CPPFLAGS =
libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public
libvix_la_LDFLAGS =
@@ -29,6 +30,7 @@ libvix_la_LIBADD =
libvix_la_LIBADD += @VIX_LIBADD@
libvix_la_LIBADD += @VMTOOLS_LIBS@
libvix_la_LIBADD += @HGFS_LIBS@
+libvix_la_LIBADD += @LIBTIRPC_LIBS@
libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la
libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la
libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la
diff --git a/open-vm-tools/services/plugins/vmbackup/Makefile.am b/open-vm-tools/services/plugins/vmbackup/Makefile.am
index 99589bf..1cfa007 100644
--- a/open-vm-tools/services/plugins/vmbackup/Makefile.am
+++ b/open-vm-tools/services/plugins/vmbackup/Makefile.am
@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvmbackup.la
libvmbackup_la_CPPFLAGS =
libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libvmbackup_la_LDFLAGS =
libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@
@@ -27,6 +28,7 @@ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@
libvmbackup_la_LIBADD =
libvmbackup_la_LIBADD += @GOBJECT_LIBS@
libvmbackup_la_LIBADD += @VMTOOLS_LIBS@
+libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@
libvmbackup_la_SOURCES =
libvmbackup_la_SOURCES += nullProvider.c
--
2.6.3

View File

@ -0,0 +1,43 @@
From 2d57a974d9305fac9c18e2f34a04b4d0c204b8fb Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:27:51 +0000
Subject: [PATCH 11/11] gnu-ucontext
---
open-vm-tools/lib/include/sigPosixRegs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/open-vm-tools/lib/include/sigPosixRegs.h b/open-vm-tools/lib/include/sigPosixRegs.h
index 08ee2c6..b397260 100644
--- a/open-vm-tools/lib/include/sigPosixRegs.h
+++ b/open-vm-tools/lib/include/sigPosixRegs.h
@@ -33,7 +33,7 @@
#include "includeCheck.h"
-#if __linux__ // We need the REG_foo offsets in the gregset_t;
+#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t;
# define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU
/* And, the REG_foo definitions conflict with our own in x86.h */
@@ -73,7 +73,7 @@
#include <sys/ucontext.h>
#endif
-#if __linux__
+#if defined(__GLIBC__)
# if defined(__x86_64__)
# undef REG_RAX
# undef REG_RBX
@@ -194,7 +194,7 @@
#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp)
#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip)
#endif
-#elif defined (sun)
+#elif !defined (__GLIBC__)
#ifdef __x86_64__
#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX])
#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX])
--
2.6.3

View File

@ -1,9 +1,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=open-vm-tools
pkgver=9.4.6_p1770165
pkgver=10.0.0_p3000743
_pkgsubver=${pkgver#*_p}
_ver=${pkgver/_p/-}
pkgrel=4
pkgrel=0
pkgdesc="The Open Virtual Machine Tools are the open source implementation of VMware Tools."
url="http://open-vm-tools.sourceforge.net/"
arch="x86 x86_64"
@ -13,26 +13,26 @@ install="$pkgname.pre-install"
makedepends="procps-dev libdnet-dev icu-dev glib-dev bash icu-dev
gtk+-dev libxext-dev libxinerama-dev libxtst-dev gtkmm-dev fuse-dev
libnotify-dev libxrandr-dev libxcomposite-dev libice-dev libsm-dev
libtirpc-dev linux-headers
libtirpc-dev linux-headers libmspack-dev openssl-dev rpcgen
automake autoconf libtool m4
"
source="http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-${pkgver%.*}.x/open-vm-tools-$_ver.tar.gz
source="https://github.com/vmware/open-vm-tools/archive/open-vm-tools-$_ver.tar.gz
0001-lib-misc-Recognize-Alpine-Linux.patch
werror.patch
tirpc.patch
linux-is-not-gnu.patch
fts.patch
struct_timespec.patch
posix-perms.patch
setresuid.patch
musl-regs.patch
sys-stat.patch
0002-open-vm-tools-Add-disable-werror-configure-option.patch
0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
0004-Use-configure-test-for-struct-timespec.patch
0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
0007-Fix-vmblock-linux-detection.patch
0008-Use-configure-test-for-sys-stat.h-include.patch
0009-Rename-poll.h-to-vm_poll.h.patch
0010-Add-support-for-building-with-system-libtirpc.patch
0011-gnu-ucontext.patch
open-vm-tools.initd
"
[ "$ALPINE_LIBC" != "eglibc" ] && makedepends="$makedepends rpcgen"
_builddir="$srcdir"/$pkgname-$_ver
_builddir="$srcdir"/open-vm-tools-open-vm-tools-$_ver
#/open-vm-tools
prepare() {
cd "$_builddir"
@ -46,11 +46,8 @@ prepare() {
esac
done
sed -i -e 's/__unused1/st_atim.tv_nsec/g' \
-e 's/__unused2/st_mtim.tv_nsec/g' \
-e 's/__unused3/st_ctim.tv_nsec/g' \
lib/file/filePosix.c lib/hgfsServer/hgfsServerLinux.c \
|| return 1
cd open-vm-tools
# workaround automake-1.10 issue
# http://ramblingfoo.blogspot.com/2007/07/required-file-configrpath-not-
mkdir -p config
@ -62,25 +59,28 @@ prepare() {
build() {
export CUSTOM_PROCPS_NAME="procps"
export CFLAGS="$CFLAGS -Wno-unused-but-set-variable -D_GNU_SOURCE"
mkdir "$srcdir"/build
cd "$srcdir"/build
../$pkgname-$_ver/configure \
export CXXFLAGS="$CXXFLAGS -std=c++11"
mkdir "$_builddir"/build
cd "$_builddir"/build
../open-vm-tools/configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--without-dnet \
--without-xerces \
--with-icu \
--with-procps \
--with-x \
--without-kernel-modules \
--without-pam \
--disable-werror \
|| return 1
make || return 1
}
package() {
cd "$srcdir"/build
cd "$_builddir"/build
make install DESTDIR=$pkgdir || return 1
install -Dm755 "$srcdir"/open-vm-tools.initd \
"$pkgdir"/etc/init.d/open-vm-tools
@ -98,39 +98,42 @@ gtk() {
"$subpkgdir"/usr/lib/open-vm-tools/plugins/
}
md5sums="3969daf1535d34e1c5f0c87a779b7642 open-vm-tools-9.4.6-1770165.tar.gz
87b131c2208b32d9c0bb6fbacd7f75a9 0001-lib-misc-Recognize-Alpine-Linux.patch
e462f567cd5588d738af4cfa0dd13b3c werror.patch
c89d3f4db3b86bf60359b2c32fc5a22a tirpc.patch
50a8a12058d4b124b5a7e229993dc365 linux-is-not-gnu.patch
012907c27e4f5fece18a1e8c21f23776 fts.patch
821d75876bbb3b55703ec72e02d30cc6 struct_timespec.patch
2ef8fdedff4998f38c373513cd57fae5 posix-perms.patch
ad5a1b69aa80d5dfc23f640ac2e33004 setresuid.patch
8ecff63e2488e3549b1b6d31e476fe8a musl-regs.patch
22358020ff9d2d917adfc97ad82e176a sys-stat.patch
md5sums="13b508201e3285c5f404b24f992936f8 open-vm-tools-10.0.0-3000743.tar.gz
29600cc32974dc8b936f0c790eccc833 0001-lib-misc-Recognize-Alpine-Linux.patch
f99e39b159d385c0af63c87d98085da3 0002-open-vm-tools-Add-disable-werror-configure-option.patch
aeb0bdb6c4568865436863a76d1c40e3 0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
b102e760b68521f95068956e2324207c 0004-Use-configure-test-for-struct-timespec.patch
5137012586e2cc2f55df95ac743f9c76 0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
53c1dd1cb051d9d9044d31bf5b53daf2 0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
5eead16eb2591568654ff7cf1569773d 0007-Fix-vmblock-linux-detection.patch
863372a41921f22d4b74a728a0821111 0008-Use-configure-test-for-sys-stat.h-include.patch
3a92d0642f43ef6343a3525ed2b521d1 0009-Rename-poll.h-to-vm_poll.h.patch
87bfbfc96d0f7ff25f224af23eafc666 0010-Add-support-for-building-with-system-libtirpc.patch
b303601e7b129a4dee22b1c3ae09e7a3 0011-gnu-ucontext.patch
d666cfe7f779f9cb6b5c2260f6c50b54 open-vm-tools.initd"
sha256sums="54d7a83d8115124e4b809098b08d7017ba50828801c2f105cdadbc85a064a079 open-vm-tools-9.4.6-1770165.tar.gz
7c12e96fed05834857ff6971d297ac8560eef2942817a37303909b76dff54da0 0001-lib-misc-Recognize-Alpine-Linux.patch
b3d39192908c43a26c8aff92d99510b8195c2c7a4e990ff3e74b73ef5bccd73c werror.patch
1bb6d48d46ea4877e5b2c54eb094f5cf6c3b2fc09db77c01f8fc3626fa13bd6c tirpc.patch
3caeb8011cc1fa0554b5d96115827a71b273b2031662b2e08376e02633448931 linux-is-not-gnu.patch
517bef979ea411a0182d18266c2fe1420d1b1940e58e64435af2941f0e44aa45 fts.patch
87ebc8821291ca7046ec4285c4814cee7ea92bed8c71c9b4c56cbbf19dcb9f9e struct_timespec.patch
9735e3251e33bb1349af35aa23853a39f660340ca5154488e4dd3594b8b8b53a posix-perms.patch
8fc78b0d8ca42963be7530bd76d74dd851eea2e0f59661f08810147648702069 setresuid.patch
13920ca0fbc49646f9294dee6abd3decf072f98b238c8a680e0b98b3f3559c82 musl-regs.patch
6f738a4a45ee506337a89cfcda05eaeffa38c1f1695d8ee45bf78a00fa1134de sys-stat.patch
sha256sums="8765784d85e4a39b08f1cbc2fb9bbb920027d5fa0abb9b99cec4a886a793ad94 open-vm-tools-10.0.0-3000743.tar.gz
d33a60fd3ec63d677d13997ba811e901fa4096a5b883ffae6669dd3ce91ccf5e 0001-lib-misc-Recognize-Alpine-Linux.patch
68ecb2557ed2c57dff71420d32c1ac8ce4689b3dec6a06d5c75d9b352f309365 0002-open-vm-tools-Add-disable-werror-configure-option.patch
3b09818b552342281660b812b7fa924db414aa2d8df05081e0e00c41c29b41f5 0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
d4b2edf7be206dde75ca778599918bd6e01f148b12fe5f8a0a90b49dfd98eaf5 0004-Use-configure-test-for-struct-timespec.patch
862e0855266b6aa76a61683b20b098c4b0651a3b01f3c24a2c7b3e18f0f8e039 0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
7ce9a1d294efa2ea2c93283ce1cf5ceb025c4ef74c9639ad7af0c4ac0b100d22 0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
63c0b6cfaa37894f9a8f83904eff58993e1b8bbc5ea0f41d286ceebee588634e 0007-Fix-vmblock-linux-detection.patch
40d8ccdb5ce1f5721942c7f1ace1573277e2ee96b9fbb82c6f197edba7f644cb 0008-Use-configure-test-for-sys-stat.h-include.patch
f080c651e75e9315c5b698646a7faf46a6af835189f49f045e3f1a930d5f621c 0009-Rename-poll.h-to-vm_poll.h.patch
58d062fb1fc148700dac17b2681cb4967ada5a1caac43fbb249f13258d93be37 0010-Add-support-for-building-with-system-libtirpc.patch
f3ea30dd393608c1f7ea4db8ea2843bc078a7f31a40867ff35de83288fa78a09 0011-gnu-ucontext.patch
5b824642ecf298136d39bc40ed25b4d62e1a83ecbdc6b3fe428c520c95f65479 open-vm-tools.initd"
sha512sums="a16dc51a51a182031c1849776be9ac0e13bef9d9cb85807e03fbb816d4e9109b64e60f1919f6686a471c79042f30ca93f0193985c2150c6254bc72e3fd8ffa49 open-vm-tools-9.4.6-1770165.tar.gz
c9f99658dcbd659ed7288dae36d47216aeea8a496f7fab52711bffb382fab8035c9414045a1dffae79eb38ff03fcb116e1965dae00532f92a09173695f1756aa 0001-lib-misc-Recognize-Alpine-Linux.patch
2128c4056e110a068a98cbc9c3ef934aa99d2a74ccae6b96aae6776d62595ac1cb544bbc299002bf545827dee0c75a02a227ea5d43838eeae720e70ee7959824 werror.patch
98da1733eba6f53a53a9361ee2ad02dbd08fa8958aba449cebbf5be04705af1bc0fab187f2d78b94f2802a3c0b32fa03d33249006236ce27c10702992a62abb4 tirpc.patch
fa9407febe8ed3bff114eddb66a12e7bfed995a1d8818a7b2fd6c619b6b1f42836326c81a799d6e40250aa5d391b340d7af5aad092409e489e8fdba729e9f132 linux-is-not-gnu.patch
75d9a72204dbef4e34b8e66c39210a07243abe8663dcf8a194763a15587195e88b47d5882264dd6a8fe0a82c6f94cfb0fa4b02156fca28609ed09a0dd8320bed fts.patch
7fc08ad7018b6790bb7125621b7e387bfb4219325550ef28a88ddd0b473136afe5da11a8f6066c3ebba6cc645e2f7a16a019cbfca0f31f3164fe505d76517c85 struct_timespec.patch
ee5e6b49cb3878b37887d95bbaa687536e2339c9ec48a315351ca690f966a800afdc3a7e3026127f59eb8b0549057e9ec299daf3991166bdd66795f79f5ca485 posix-perms.patch
4cec764234742ea7fa8c61867ae1e396d1fed3d4f881fee063b19ab51ba30b4831d33d8d96a92a03944e7d044c7736d60aa4de06ab5cc8c484fed5cde5c57592 setresuid.patch
16449ee7b30161d4486385947763b34e02a22429c794333ec641f328b988209fd128f48d9d6c8c41c4e6bb8349df0680cb968ab1212b9cba8bc43d4c36704316 musl-regs.patch
94d8ce4415b8adce214acc13677e4c93f746923915f9017416f33d05e1c1ea0fad399926d9b5cec3385c97f79266c89a3b4a401d14518b0344398ec77cb44f48 sys-stat.patch
sha512sums="25428a4982fa19208f915fd58067a5aa9a8427b2ff8c3f06889194cdd4792489911232c3cd94ea54f5000c47ca915debd33ee0441579adf50f183b74def5cd45 open-vm-tools-10.0.0-3000743.tar.gz
87ab7df83f512cf5f1ff6bf68546bd3d72a82e7f60f35ce795db6d6105b1178c85dada2beaddd32f870b81e6af4bf907b3a6fca241b33fdee53864bbeb5863ce 0001-lib-misc-Recognize-Alpine-Linux.patch
918592fd854c8c64ebf351bfd043fc1ea1f8659aadc637c1d0b4344e5e2e945b2c0e685dcc314eff7ad69b59643ad1ec9da8e7e2e5be78fadf70fe4e00cb2f73 0002-open-vm-tools-Add-disable-werror-configure-option.patch
aab2a84214726f2019802e5a2a8df257cec62191ea2077c8a5a449cba9f1b117b36b3af2cc4151d8926551482ef83a8e0496a6f66b3f8636774a2ccbdf0952a6 0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
e3c6ba7b4871f515fa4b79537e9219e406bdd8c13740d330417d402b7c754f1b43c5e2ba7757c45d429e868d7b3a0875802ff632b2115caaaf61b655330bf7e7 0004-Use-configure-test-for-struct-timespec.patch
84f5067df06b025458729f0b2af31a1a54bf64a8a22ab41a45eb6ff2d52daad0ea88ecd4a21788c1dcd845191360b927c6968a23608e0e997a051a3de1f3b4ab 0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
def3873694122b7ef789ae130bd334f4ba82429d570e49073c4f1884f246d9aa560a8fd8004dfd95cb67c4602e423d8de0990a991a46366381c25f5c717baf2a 0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
c68eefd71202cf76f97f6148675b1241a7ad812343b133e1ceb1047c5c2d5d6a3a4997663a6a7c5b94b28b75a3f8d9d5d51ca26e8c8ac859a4c241f62aceedfd 0007-Fix-vmblock-linux-detection.patch
db9251502ca05cc3ddb111ee192300897615c30b1e17a9a1f62266bba687b7216d9a4d824b9ff61811c3750a4d733dd8fa9a548f1c455893eccbb10fdaec232f 0008-Use-configure-test-for-sys-stat.h-include.patch
b873864da2073e57cc7e1dad6b48200ad0b931d9448a60273e55bb2d44cb34c2eb6b1a2346c1708791e0add81a70d487966f2270a2bdf163cdfa37d38a2c0926 0009-Rename-poll.h-to-vm_poll.h.patch
d2acbc98b79e0a41545443c1195807034b37083a6e7160d74af1173acd6a2d6e14a8e5f909bd17db80c0c93e1d8f34d7278902bd272b672dae412e7cb504517e 0010-Add-support-for-building-with-system-libtirpc.patch
fafe0fe92133ac385121192781fc519a4c66945a46d4a7f4ddfb679c7ce4fd869023ff4c736da367bf83b3664dcacf3c1000e8e27d2e44b210e25eaa8560a370 0011-gnu-ucontext.patch
c675323a823b3069a281d1b2c1dedccd9d9959e36cffb4763ab72fcf7e828fb1a048a20e005c15a46697a98a61e073bcd778db427a6f77c7b24ac20133f95695 open-vm-tools.initd"

View File

@ -1,21 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/configure.ac
+++ open-vm-tools-9.4.6-1770165/configure.ac
@@ -772,6 +772,7 @@
###
AC_CHECK_HEADERS([crypt.h])
+AC_CHECK_HEADERS([fts.h])
AC_CHECK_HEADERS([inttypes.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdlib.h])
--- open-vm-tools-9.4.6-1770165.orig/lib/file/filePosix.c
+++ open-vm-tools-9.4.6-1770165/lib/file/filePosix.c
@@ -99,7 +99,7 @@
* happens the prosix version should be updated to use the generic code.
*/
-#if defined(__USE_FILE_OFFSET64) || defined(sun) || defined(__ANDROID__)
+#if defined(__USE_FILE_OFFSET64) || defined(sun) || defined(__ANDROID__) || !defined(HAVE_FTS_H)
# define CAN_USE_FTS 0
#else
# define CAN_USE_FTS 1

View File

@ -1,11 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/lib/include/vm_basic_defs.h
+++ open-vm-tools-9.4.6-1770165/lib/include/vm_basic_defs.h
@@ -550,7 +550,7 @@
#endif
#endif
-#if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \
+#if defined __GLIBC__ && !defined __KERNEL__ && !defined MODULE && \
!defined VMM && !defined FROBOS && !defined __ANDROID__
#include <features.h>
#if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21

View File

@ -1,95 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/lib/include/sigPosixRegs.h
+++ open-vm-tools-9.4.6-1770165/lib/include/sigPosixRegs.h
@@ -37,7 +37,7 @@
# define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU
/* And, the REG_foo definitions conflict with our own in x86.h */
-# if defined(__x86_64__)
+# if defined(__x86_64__) && defined(__GLIBC__)
# define REG_RAX GNU_REG_RAX
# define REG_RBX GNU_REG_RBX
# define REG_RCX GNU_REG_RCX
@@ -55,7 +55,7 @@
# define REG_R13 GNU_REG_R13
# define REG_R14 GNU_REG_R14
# define REG_R15 GNU_REG_R15
-# elif defined(__i386__)
+# elif defined(__i386__) && defined(__GLIBC__)
# define REG_EAX GNU_REG_EAX
# define REG_EBX GNU_REG_EBX
# define REG_ECX GNU_REG_ECX
@@ -73,7 +73,7 @@
#include <sys/ucontext.h>
#endif
-#if __linux__
+#if __GLIBC__
# if defined(__x86_64__)
# undef REG_RAX
# undef REG_RBX
@@ -219,23 +219,23 @@
#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.eip)
#else
#ifdef __x86_64__
-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RAX])
-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RBX])
-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RCX])
-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RDX])
-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RDI])
-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RSI])
-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RBP])
-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RSP])
-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RIP])
-#define SC_R8(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R8])
-#define SC_R9(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R9])
-#define SC_R10(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R10])
-#define SC_R11(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R11])
-#define SC_R12(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R12])
-#define SC_R13(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R13])
-#define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R14])
-#define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R15])
+#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX])
+#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX])
+#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RCX])
+#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RDX])
+#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RDI])
+#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RSI])
+#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBP])
+#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RSP])
+#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RIP])
+#define SC_R8(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R8])
+#define SC_R9(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R9])
+#define SC_R10(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R10])
+#define SC_R11(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R11])
+#define SC_R12(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R12])
+#define SC_R13(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R13])
+#define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14])
+#define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15])
#elif defined(__arm__)
#define SC_R0(uc) ((unsigned long) (uc)->uc_mcontext.arm_r0)
#define SC_R1(uc) ((unsigned long) (uc)->uc_mcontext.arm_r1)
@@ -254,15 +254,15 @@
#define SC_LR(uc) ((unsigned long) (uc)->uc_mcontext.arm_lr)
#define SC_PC(uc) ((unsigned long) (uc)->uc_mcontext.arm_pc)
#else
-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EAX])
-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EBX])
-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ECX])
-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EDX])
-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EDI])
-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ESI])
-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EBP])
-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ESP])
-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EIP])
+#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX])
+#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX])
+#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX])
+#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX])
+#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI])
+#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI])
+#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP])
+#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP])
+#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP])
#endif
#endif

View File

@ -1,33 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/lib/hgfsServer/hgfsServerLinux.c
+++ open-vm-tools-9.4.6-1770165/lib/hgfsServer/hgfsServerLinux.c
@@ -89,8 +89,10 @@
* ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
* Solaris version of <sys/stat.h>.
*/
-#ifdef sun
+#ifndef ACCESSPERMS
# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
+#endif
+#ifndef ALLPERMS
# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
#endif
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/dndcp/dnd/dndLinux.c
+++ open-vm-tools-9.4.6-1770165/services/plugins/dndcp/dnd/dndLinux.c
@@ -51,7 +51,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)
-#ifdef sun
+#ifndef ACCESSPERMS
#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#ifdef __ANDROID__
@@ -60,7 +60,6 @@
*/
#define NO_SETMNTENT
#define NO_ENDMNTENT
-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif

View File

@ -1,50 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/configure.ac
+++ open-vm-tools-9.4.6-1770165/configure.ac
@@ -575,6 +575,7 @@
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
+AC_CHECK_FUNCS([setresuid setresgid])
if test "$os" = "freebsd" -a "$osVersion" -ge 600000; then
AC_CHECK_LIB(
--- open-vm-tools-9.4.6-1770165.orig/lib/procMgr/procMgrPosix.c
+++ open-vm-tools-9.4.6-1770165/lib/procMgr/procMgrPosix.c
@@ -137,7 +137,7 @@
#define BASH_PATH "/bin/bash"
#endif
-#if defined(linux) && !defined(GLIBC_VERSION_23) && !defined(__UCLIBC__)
+#if defined(linux)
/*
* Implements the system calls (they are not wrapped by glibc til 2.3.2).
*
@@ -146,7 +146,7 @@
*
* (In fact, newer Linux kernels don't even define _syscall macros anymore.)
*/
-
+#ifndef HAVE_SETRESUID
static INLINE int
setresuid(uid_t ruid,
uid_t euid,
@@ -154,8 +154,9 @@
{
return syscall(__NR_setresuid, ruid, euid, suid);
}
+#endif
-
+#ifndef HAVE_SETRESGID
static INLINE int
setresgid(gid_t ruid,
gid_t euid,
@@ -163,6 +164,8 @@
{
return syscall(__NR_setresgid, ruid, euid, suid);
}
+#endif
+
#endif

View File

@ -1,27 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/configure.ac
+++ open-vm-tools-9.4.6-1770165/configure.ac
@@ -837,6 +837,7 @@
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
--- open-vm-tools-9.4.6-1770165.orig/lib/include/hgfsUtil.h
+++ open-vm-tools-9.4.6-1770165/lib/include/hgfsUtil.h
@@ -53,13 +53,7 @@
# include <time.h>
# endif
# include "vm_basic_types.h"
-# if !defined _STRUCT_TIMESPEC && \
- !defined _TIMESPEC_DECLARED && \
- !defined __timespec_defined && \
- !defined sun && \
- !defined __FreeBSD__ && \
- !__APPLE__ && \
- !defined _WIN32
+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
struct timespec {
time_t tv_sec;
long tv_nsec;

View File

@ -1,11 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/vix/vixTools.c
+++ open-vm-tools-9.4.6-1770165/services/plugins/vix/vixTools.c
@@ -54,7 +54,7 @@
#include <unistd.h>
#endif
-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
+#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif

View File

@ -1,192 +0,0 @@
--- open-vm-tools-9.4.6-1770165.orig/configure.ac
+++ open-vm-tools-9.4.6-1770165/configure.ac
@@ -367,6 +367,20 @@
AC_MSG_WARN([Fuse is missing, vmblock-fuse will be disabled.])])
#
+# Check for libtirpc
+#
+AC_VMW_CHECK_LIB([libtirpc],
+ [LIBTIRPC],
+ [libtirpc],
+ [],
+ [],
+ [rpc/xdr.h],
+ [xdr_void],
+ [have_libtirpc=yes],
+ [have_libtitirpc=no;
+ AC_MSG_WARN([libtirpc is missing.])])
+
+#
# Check for PAM.
#
AC_ARG_WITH([pam],
--- open-vm-tools-9.4.6-1770165.orig/lib/dynxdr/Makefile.am
+++ open-vm-tools-9.4.6-1770165/lib/dynxdr/Makefile.am
@@ -21,3 +21,9 @@
libDynxdr_la_SOURCES += dynxdr.c
libDynxdr_la_SOURCES += xdrutil.c
+libDynxdr_la_CPPFLAGS =
+libDynxdr_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libDynxdr_la_LIBADD =
+libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@
+
--- open-vm-tools-9.4.6-1770165.orig/lib/guestRpc/Makefile.am
+++ open-vm-tools-9.4.6-1770165/lib/guestRpc/Makefile.am
@@ -20,6 +20,12 @@
libGuestRpc_la_SOURCES =
libGuestRpc_la_SOURCES += nicinfo_xdr.c
+libGuestRpc_la_CPPFLAGS =
+libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libGuestRpc_la_LIBADD =
+libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@
+
# XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead.
# Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS
# and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag.
--- open-vm-tools-9.4.6-1770165.orig/lib/netUtil/Makefile.am
+++ open-vm-tools-9.4.6-1770165/lib/netUtil/Makefile.am
@@ -20,3 +20,7 @@
libNetUtil_la_SOURCES =
libNetUtil_la_SOURCES += netUtilLinux.c
+libNetUtil_la_CPPFLAGS =
+libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@
--- open-vm-tools-9.4.6-1770165.orig/lib/rpcChannel/Makefile.am
+++ open-vm-tools-9.4.6-1770165/lib/rpcChannel/Makefile.am
@@ -23,3 +23,7 @@
libRpcChannel_la_CPPFLAGS =
libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@
+libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+libRpcChannel_la_LIBADD =
+libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@
--- open-vm-tools-9.4.6-1770165.orig/libguestlib/Makefile.am
+++ open-vm-tools-9.4.6-1770165/libguestlib/Makefile.am
@@ -22,11 +22,15 @@
libguestlib_la_LIBADD =
libguestlib_la_LIBADD += @VMTOOLS_LIBS@
+libguestlib_la_LIBADD += @LIBTIRPC_LIBS@
libguestlib_la_SOURCES =
libguestlib_la_SOURCES += guestlibV3_xdr.c
libguestlib_la_SOURCES += guestlibIoctl_xdr.c
libguestlib_la_SOURCES += vmGuestLib.c
+
+libguestlib_la_CPPFLAGS =
+libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libguestlib_la_LDFLAGS =
# We require GCC, so we're fine passing compiler-specific flags.
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/dndcp/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/dndcp/Makefile.am
@@ -24,6 +24,7 @@
libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@
libdndcp_la_CPPFLAGS += @GTKMM_CPPFLAGS@
libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx
@@ -38,6 +39,7 @@
libdndcp_la_LIBADD += @GTKMM_LIBS@
libdndcp_la_LIBADD += @VMTOOLS_LIBS@
libdndcp_la_LIBADD += @HGFS_LIBS@
+libdndcp_la_LIBADD += @LIBTIRPC_LIBS@
libdndcp_la_SOURCES =
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/guestInfo/getlib/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/getlib/Makefile.am
@@ -25,7 +25,11 @@
libGuestInfo_la_CPPFLAGS =
libGuestInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@
+libGuestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libGuestInfo_la_CPPFLAGS += -I$(srcdir)/..
+
+libGuestInfo_la_LIBADD =
+libGuestInfo_la_LIBADD += @LIBTIRPC_LIBS@
AM_CFLAGS = $(DNET_CPPFLAGS)
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/guestInfo/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/Makefile.am
@@ -23,6 +23,7 @@
libguestInfo_la_CPPFLAGS =
libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libguestInfo_la_LDFLAGS =
libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@
@@ -31,6 +32,7 @@
libguestInfo_la_LIBADD += @VMTOOLS_LIBS@
libguestInfo_la_LIBADD += @PROCPS_LIBS@
libguestInfo_la_LIBADD += @XDR_LIBS@
+libguestInfo_la_LIBADD += @LIBTIRPC_LIBS@
libguestInfo_la_LIBADD += getlib/libGuestInfo.la
if HAVE_DNET
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/resolutionSet/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/resolutionSet/Makefile.am
@@ -21,6 +21,7 @@
libresolutionSet_la_CPPFLAGS =
libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@
libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11
libresolutionSet_la_LDFLAGS =
@@ -30,6 +31,7 @@
libresolutionSet_la_LIBADD += @COMMON_XLIBS@
libresolutionSet_la_LIBADD += @GTK_LIBS@
libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@
+libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@
libresolutionSet_la_SOURCES =
libresolutionSet_la_SOURCES += libvmwarectrl.c
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/vix/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/vix/Makefile.am
@@ -20,6 +20,7 @@
libvix_la_CPPFLAGS =
libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libvix_la_LDFLAGS =
libvix_la_LDFLAGS += @PLUGIN_LDFLAGS@
@@ -28,6 +29,7 @@
libvix_la_LIBADD += @VIX_LIBADD@
libvix_la_LIBADD += @VMTOOLS_LIBS@
libvix_la_LIBADD += @HGFS_LIBS@
+libvix_la_LIBADD += @LIBTIRPC_LIBS@
libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la
libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la
libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la
--- open-vm-tools-9.4.6-1770165.orig/services/plugins/vmbackup/Makefile.am
+++ open-vm-tools-9.4.6-1770165/services/plugins/vmbackup/Makefile.am
@@ -20,6 +20,7 @@
libvmbackup_la_CPPFLAGS =
libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
libvmbackup_la_LDFLAGS =
libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@
@@ -27,6 +28,7 @@
libvmbackup_la_LIBADD =
libvmbackup_la_LIBADD += @GOBJECT_LIBS@
libvmbackup_la_LIBADD += @VMTOOLS_LIBS@
+libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@
libvmbackup_la_SOURCES =
libvmbackup_la_SOURCES += nullProvider.c

View File

@ -1,10 +0,0 @@
--- ./configure.ac.orig
+++ ./configure.ac
@@ -832,7 +832,6 @@
### General flags / actions
CFLAGS="$CFLAGS -Wall"
-CFLAGS="$CFLAGS -Werror"
# -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' in Xlib.h on OpenSolaris.
for TEST_CFLAG in -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing \