rpms/xorg-x11-server/devel xserver-1.4.99-alloca-poison.patch, NONE, 1.1 xserver-1.4.99-ssh-isnt-local.patch, NONE, 1.1 xorg-x11-server.spec, 1.281, 1.282

Adam Jackson (ajax) fedora-extras-commits at redhat.com
Mon Dec 10 20:24:35 UTC 2007


Author: ajax

Update of /cvs/pkgs/rpms/xorg-x11-server/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28782

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.4.99-alloca-poison.patch 
	xserver-1.4.99-ssh-isnt-local.patch 
Log Message:
* Mon Dec 10 2007 Adam Jackson <ajax at redhat.com> 1.4.99.1-0.13
- xserver-1.4.99-alloca-poison.patch: Fatal error on {DE,}ALLOCATE_LOCAL
  so we don't build broken drivers.
- xserver-1.4.99-ssh-isnt-local.patch: Try harder to disable MIT-SHM for
  ssh-forwarded connections.


xserver-1.4.99-alloca-poison.patch:

--- NEW FILE xserver-1.4.99-alloca-poison.patch ---
>From d8f0b7e388f61a9ae528466dafac1bdfaf5b77ca Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax at redhat.com>
Date: Mon, 10 Dec 2007 15:25:01 -0500
Subject: [PATCH] Poison {DE,}ALLOCATE_LOCAL so we don't build broken drivers.

---
 include/os.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/os.h b/include/os.h
index c53a9ea..0960d0c 100644
--- a/include/os.h
+++ b/include/os.h
@@ -50,6 +50,10 @@ SOFTWARE.
 #define OS_H
 
 #include "misc.h"
+
+#pragma GCC poison ALLOCATE_LOCAL
+#pragma GCC poison DEALLOCATE_LOCAL
+
 #include <stdarg.h>
 
 #define NullFID ((FID) 0)
-- 
1.5.2.4


xserver-1.4.99-ssh-isnt-local.patch:

--- NEW FILE xserver-1.4.99-ssh-isnt-local.patch ---
>From 4306b434038de7e2b17d3c4a6cfd87db469d3bda Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax at redhat.com>
Date: Mon, 10 Dec 2007 11:26:57 -0500
Subject: [PATCH] Hack for proper MIT-SHM rejection for ssh-forwarded clients.

---
 Xext/shm.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/Xext/shm.c b/Xext/shm.c
index 5937a03..5376c19 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -381,8 +381,20 @@ shm_access(ClientPtr client, SHMPERM_TYPE *perm, int readonly)
     mode_t mask;
     int uidset = 0, gidset = 0;
     LocalClientCredRec *lcc;
+    Bool is_ssh = FALSE;
     
     if (GetLocalClientCreds(client, &lcc) != -1) {
+#ifdef linux
+	if (lcc->fieldsSet & LCC_PID_SET) {
+	    /* ssh isn't actually a local client */
+	    char exe[64], buf[64];
+
+	    snprintf(exe, 64, "/proc/%d/exe", lcc->pid);
+	    readlink(exe, buf, 64);
+	    if (strstr(buf, "/ssh"))
+		is_ssh = TRUE;
+	}
+#endif
 
 	if (lcc->fieldsSet & LCC_UID_SET) {
 	    uid = lcc->euid;
@@ -401,6 +413,9 @@ shm_access(ClientPtr client, SHMPERM_TYPE *perm, int readonly)
 	}
 #endif
 	FreeLocalClientCreds(lcc);
+
+	if (is_ssh)
+	    return -1;
 	
 	if (uidset) {
 	    /* User id 0 always gets access */
-- 
1.5.3.4



Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.281
retrieving revision 1.282
diff -u -r1.281 -r1.282
--- xorg-x11-server.spec	3 Dec 2007 18:56:07 -0000	1.281
+++ xorg-x11-server.spec	10 Dec 2007 20:23:39 -0000	1.282
@@ -20,7 +20,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.4.99.1
-Release:   0.12%{?dist}
+Release:   0.13%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -66,7 +66,12 @@
 Patch4005: xserver-1.4.99-openchrome.patch
 
 # Trivial things to never merge upstream ever
+# This should be fixed in the kernel.
 Patch5000: xserver-1.4.99-apm-typedefs.patch
+# Don't merge this without protecting the gccisms.
+Patch5001: xserver-1.4.99-alloca-poison.patch
+# This really could be done prettier.
+Patch5002: xserver-1.4.99-ssh-isnt-local.patch
 
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
@@ -524,6 +529,12 @@
 
 
 %changelog
+* Mon Dec 10 2007 Adam Jackson <ajax at redhat.com> 1.4.99.1-0.13
+- xserver-1.4.99-alloca-poison.patch: Fatal error on {DE,}ALLOCATE_LOCAL
+  so we don't build broken drivers.
+- xserver-1.4.99-ssh-isnt-local.patch: Try harder to disable MIT-SHM for
+  ssh-forwarded connections.
+
 * Mon Dec 03 2007 Adam Jackson <ajax at redhat.com> 1.4.99.1-0.12
 - xserver-1.4.99-apm-typedefs.patch: Temporary hack for broken kernels that
   don't publish the /dev/apm_bios types.




More information about the fedora-extras-commits mailing list