diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2017-01-02 15:32:02 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-01-02 15:32:49 +0000 |
commit | f6a385f8b07c6b6c16fc026dffa0b29d097b785d (patch) | |
tree | c75c172975f5a36407386c4e6575f5d15792e4a6 /main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch | |
parent | fdccff09e3ed4ded732b2d22d5d571642ad268bc (diff) | |
download | aports-f6a385f8b07c6b6c16fc026dffa0b29d097b785d.tar.bz2 aports-f6a385f8b07c6b6c16fc026dffa0b29d097b785d.tar.xz |
main/open-vm-tools: upgrade to 10.1.0 and enable -dbg
Diffstat (limited to 'main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch')
-rw-r--r-- | main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch b/main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch deleted file mode 100644 index 33e720d674..0000000000 --- a/main/open-vm-tools/0006-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ /dev/null @@ -1,192 +0,0 @@ -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 - |