From 5a795b234c617150915a607776c76377948870a6 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

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 f2b7ce67..0e6351a9 100644
--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
@@ -105,11 +105,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 89133652..7e9c3a91 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 @@
 
 #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__
@@ -61,7 +61,6 @@
  */
 #define NO_SETMNTENT
 #define NO_ENDMNTENT
-#define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
 #endif
 
 
