diff options
| author | Harshavardhana <harsha@harshavardhana.net> | 2014-04-17 15:54:34 -0700 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2014-04-24 14:41:48 -0700 | 
| commit | a3cb38e3edf005bef73da4c9cfd958474a14d50f (patch) | |
| tree | a406029332a9eb096c14d441160bb670a42df8cb /contrib/fuse-util | |
| parent | 9c13471b109587a639662fc690384285bee02bc6 (diff) | |
build: MacOSX Porting fixes
git@forge.gluster.org:~schafdog/glusterfs-core/osx-glusterfs
Working functionality on MacOSX
 - GlusterD (management daemon)
 - GlusterCLI (management cli)
 - GlusterFS FUSE (using OSXFUSE)
 - GlusterNFS (without NLM - issues with rpc.statd)
Change-Id: I20193d3f8904388e47344e523b3787dbeab044ac
BUG: 1089172
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Signed-off-by: Dennis Schafroth <dennis@schafroth.com>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Dennis Schafroth <dennis@schafroth.com>
Reviewed-on: http://review.gluster.org/7503
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'contrib/fuse-util')
| -rw-r--r-- | contrib/fuse-util/Makefile.am | 2 | ||||
| -rw-r--r-- | contrib/fuse-util/fusermount.c | 24 | 
2 files changed, 24 insertions, 2 deletions
diff --git a/contrib/fuse-util/Makefile.am b/contrib/fuse-util/Makefile.am index 971d3d22002..abbc10eb6d9 100644 --- a/contrib/fuse-util/Makefile.am +++ b/contrib/fuse-util/Makefile.am @@ -3,7 +3,7 @@ bin_PROGRAMS = fusermount-glusterfs  fusermount_glusterfs_SOURCES = fusermount.c mount_util.c $(CONTRIBDIR)/fuse-lib/mount-common.c  noinst_HEADERS = $(CONTRIBDIR)/fuse-include/mount_util.h -AM_CPPFLAGS = $(GF_CPPFLAGS) -DFUSE_UTIL -I$(CONTRIBDIR)/fuse-include +AM_CPPFLAGS = $(GF_CPPFLAGS) -DFUSE_UTIL -I$(CONTRIBDIR)/fuse-include -I$(CONTRIBDIR)/fuse-lib  AM_CFLAGS = -Wall $(GF_CFLAGS) diff --git a/contrib/fuse-util/fusermount.c b/contrib/fuse-util/fusermount.c index 0ff8d90395c..a64d8e102ff 100644 --- a/contrib/fuse-util/fusermount.c +++ b/contrib/fuse-util/fusermount.c @@ -10,6 +10,11 @@  #include <config.h>  #include "mount_util.h" + +#ifndef HAVE_UMOUNT2 +#include "mount-gluster-compat.h" +#endif +  #include <stdio.h>  #include <stdlib.h>  #include <string.h> @@ -20,11 +25,18 @@  #include <fcntl.h>  #include <pwd.h>  #include <limits.h> +#if !defined(__NetBSD__) && !defined(GF_DARWIN_HOST_OS)  #include <mntent.h> +#endif /* __NetBSD__ */  #include <sys/wait.h>  #include <sys/stat.h> -#include <sys/mount.h> +#ifdef HAVE_SET_FSID  #include <sys/fsuid.h> +#endif +#ifdef GF_DARWIN_HOST_OS +#include <sys/param.h> +#endif +#include <sys/mount.h>  #include <sys/socket.h>  #include <sys/utsname.h>  #include <sched.h> @@ -63,22 +75,32 @@ static const char *get_user_name(void)  	}  } +#ifdef HAVE_SET_FSID  static uid_t oldfsuid;  static gid_t oldfsgid; +#endif  static void drop_privs(void)  {  	if (getuid() != 0) { +#ifdef HAVE_SET_FSID  		oldfsuid = setfsuid(getuid());  		oldfsgid = setfsgid(getgid()); +#else +		fprintf(stderr, "%s: Implement alternative setfsuid/gid \n", progname); +#endif  	}  }  static void restore_privs(void)  {  	if (getuid() != 0) { +#ifdef HAVE_SET_FSID  		setfsuid(oldfsuid);  		setfsgid(oldfsgid); +#else +		fprintf(stderr, "%s: Implement alternative setfsuid/gid \n", progname); +#endif  	}  }  | 
