Here's the patch I used to get it working again.

diff -u -p 
/home/gno/.emacs.backup/\!home\!gno\!xorg-7.3\+10\!debian\!local\!xserver-wrapper.c\~
 /home/gno/xorg-7.3\+10/debian/local/xserver-wrapper.c
--- 
/home/gno/.emacs.backup/!home!gno!xorg-7.3+10!debian!local!xserver-wrapper.c~   
             2007-12-03 20:52:57.000000000 -0800
+++ /home/gno/xorg-7.3+10/debian/local/xserver-wrapper.c                        
                 2008-03-14 23:23:10.000000000 -0700
@@ -324,10 +324,14 @@ main(int argc, char **argv)
 
     for (i = 1; i < argc; i++) {
       if (!strcmp(argv[i], "-config") || !strcmp(argv[i], "-xf86config")) {
-        if (setuid(getuid())) {
-          perror("X unable to drop setuid privileges for alternate config");
-          exit(1);
-        }
+        if (i+1 > argc
+            || strstr(argv[i+1],"Xwrapper.config")
+            || strstr(argv[i+1],"..")) {
+          if (setuid(getuid())) {
+            perror("X unable to drop setuid privileges for alternate config");
+            exit(1);
+          }
+        } 
       } else if (strlen(argv[i]) > 256) {
         if (setuid(getuid())) {
           perror("X unable to drop setuid privileges for suspiciously long "





-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to