7053010 Xvfb/Xephyr fails to start as normal user
authorArvind Umrao <Arvind.Umrao@Sun.COM>
Thu, 07 Jul 2011 08:33:27 -0700
changeset 1159 b49e24485bb6
parent 1158 2a610f511cbc
child 1160 e1a0d8b6903e
7053010 Xvfb/Xephyr fails to start as normal user
open-src/lib/libxtrans/Makefile
open-src/lib/libxtrans/Xtranslc-7053010.patch
open-src/xserver/xorg/make_xkm_output_dir.patch
--- a/open-src/lib/libxtrans/Makefile	Tue Jul 05 13:41:14 2011 -0700
+++ b/open-src/lib/libxtrans/Makefile	Thu Jul 07 08:33:27 2011 -0700
@@ -44,8 +44,8 @@
 
 # Patches to apply to source after unpacking, in order
 SOURCE_PATCHES = inetv6.patch \
-	tsol-unix-domain.patch
-
+	tsol-unix-domain.patch \
+	Xtranslc-7053010.patch
 # Library name (used for specfiles/mapfiles)
 LIBNAME=xtrans
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libxtrans/Xtranslc-7053010.patch	Thu Jul 07 08:33:27 2011 -0700
@@ -0,0 +1,18 @@
+--- Xtranslcl.c_org	Wed Jun 22 03:03:46 2011
++++ Xtranslcl.c	Wed Jun 22 03:04:33 2011
+@@ -742,15 +742,11 @@
+     struct stat		sbuf;
+     int			mode;
+     
+-#if defined(sun) && defined(X11_t)
+-    mode = 0775;	/* Solaris requires uid or gid 0 to create X11 pipes */
+-#else    
+ #ifdef HAS_STICKY_DIR_BIT
+     mode = 01777;
+ #else
+     mode = 0777;
+ #endif
+-#endif
+     if (trans_mkdir(X_STREAMS_DIR, mode) == -1) {
+ 	PRMSG (1, "NAMEDOpenPipe: mkdir(%s) failed, errno = %d\n",
+ 	       X_STREAMS_DIR, errno, 0);
--- a/open-src/xserver/xorg/make_xkm_output_dir.patch	Tue Jul 05 13:41:14 2011 -0700
+++ b/open-src/xserver/xorg/make_xkm_output_dir.patch	Thu Jul 07 08:33:27 2011 -0700
@@ -54,7 +54,7 @@
 -    if (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0 && (strlen(XKM_OUTPUT_DIR) < size))
 +    if ( ( (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0)
 +#ifdef MAKE_XKM_OUTPUT_DIR    
-+	   || (trans_mkdir(XKM_OUTPUT_DIR, XKM_OUTPUT_DIR_MODE) == 0)
++	   || (getuid() == 0 && (trans_mkdir(XKM_OUTPUT_DIR, XKM_OUTPUT_DIR_MODE) == 0))
 +#endif
 +	     ) && (strlen(XKM_OUTPUT_DIR) < size))
      {