SOURCES: x11r6.9.0-setuid.diff - err, this is original

glen glen at pld-linux.org
Fri Sep 15 00:32:39 CEST 2006


Author: glen                         Date: Thu Sep 14 22:32:39 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- err, this is original

---- Files affected:
SOURCES:
   x11r6.9.0-setuid.diff (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/x11r6.9.0-setuid.diff
diff -u SOURCES/x11r6.9.0-setuid.diff:1.1 SOURCES/x11r6.9.0-setuid.diff:1.2
--- SOURCES/x11r6.9.0-setuid.diff:1.1	Fri Sep 15 00:31:29 2006
+++ SOURCES/x11r6.9.0-setuid.diff	Fri Sep 15 00:32:34 2006
@@ -1,3 +1,95 @@
+Index: xc/config/util/chownxterm.c
+===================================================================
+RCS file: /cvs/xorg/xc/config/util/chownxterm.c,v
+retrieving revision 1.1.1.1
+diff -u -r1.1.1.1 chownxterm.c
+--- xc/config/util/chownxterm.c	14 Nov 2003 16:48:20 -0000	1.1.1.1
++++ xc/config/util/chownxterm.c	5 Jun 2006 10:35:10 -0000
+@@ -41,8 +41,10 @@
+ 
+ void help()
+ {
+-    setgid(getgid());
+-    setuid(getuid());
++    if (setgid(getgid()) == -1) 
++	exit(1);
++    if (setuid(getuid()) == -1)
++	exit(1);
+     printf("chown-xterm makes %s suid root\n", XTERM_PATH);
+     printf("This is necessary on Ultrix for /dev/tty operation.\n");
+     exit(0);
+@@ -51,8 +53,10 @@
+ void print_error(err_string)
+     char *err_string;
+ {
+-    setgid(getgid());
+-    setuid(getuid());
++    if (setgid(getgid()) == -1)
++	exit(1);
++    if (setuid(getuid()) == -1)
++	exit(1);
+     fprintf(stderr, "%s: \"%s\"", prog_name, err_string);
+     perror(" failed");
+     exit(1);
+Index: xc/lib/X11/lcFile.c
+===================================================================
+RCS file: /cvs/xorg/xc/lib/X11/lcFile.c,v
+retrieving revision 1.6
+diff -u -r1.6 lcFile.c
+--- xc/lib/X11/lcFile.c	13 May 2005 22:53:44 -0000	1.6
++++ xc/lib/X11/lcFile.c	5 Jun 2006 10:35:14 -0000
+@@ -269,7 +269,11 @@
+ 	    if (seteuid(0) != 0) {
+ 		priv = 0;
+ 	    } else {
+-		seteuid(oldeuid);
++		if (seteuid(oldeuid) == -1) {
++		    /* XXX ouch, coudn't get back to original uid 
++		     what can we do ??? */
++		    _exit(127);
++		}
+ 		priv = 1;
+ 	    }
+ #endif
+Index: xc/lib/xtrans/Xtranslcl.c
+===================================================================
+RCS file: /cvs/xorg/xc/lib/xtrans/Xtranslcl.c,v
+retrieving revision 1.4
+diff -u -r1.4 Xtranslcl.c
+--- xc/lib/xtrans/Xtranslcl.c	8 Nov 2005 06:33:26 -0000	1.4
++++ xc/lib/xtrans/Xtranslcl.c	5 Jun 2006 10:35:15 -0000
+@@ -360,7 +360,10 @@
+ 	uid_t       saved_euid;
+ 
+ 	saved_euid = geteuid();
+-	setuid( getuid() ); /** sets the euid to the actual/real uid **/
++	/** sets the euid to the actual/real uid **/
++	if (setuid( getuid() ) == -1) {
++		exit(1);
++	}
+ 	if( chown( slave, saved_euid, -1 ) < 0 ) {
+ 		exit( 1 );
+ 		}
+@@ -369,7 +372,13 @@
+     }
+ 
+     waitpid(saved_pid, &exitval, 0);
+-
++    if (WIFEXITED(exitval) && WEXITSTATUS(exitval) != 0) {
++	close(fd);
++	close(server);
++	PRMSG(1, "PTSOpenClient: cannot set the owner of %s\n",
++	      slave, 0, 0);
++	return(-1);
++    }
+     if (chmod(slave, 0666) < 0) {
+ 	close(fd);
+ 	close(server);
+Index: xc/programs/Xserver/hw/xfree86/common/xf86Init.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v
+retrieving revision 1.29
+diff -u -r1.29 xf86Init.c
 --- xc/programs/Xserver/hw/xfree86/common/xf86Init.c	14 Dec 2005 20:12:00 -0000	1.29
 +++ xc/programs/Xserver/hw/xfree86/common/xf86Init.c	5 Jun 2006 10:35:19 -0000
 @@ -1,5 +1,5 @@
@@ -20,6 +112,11 @@
            /* set stdin, stdout to the consoleFd */
            for (i = 0; i < 2; i++) {
              if (xf86Info.consoleFd != i) {
+Index: xc/programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c,v
+retrieving revision 1.9
+diff -u -r1.9 libc_wrapper.c
 --- xc/programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c	3 Jul 2005 08:53:48 -0000	1.9
 +++ xc/programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c	5 Jun 2006 10:35:19 -0000
 @@ -1270,7 +1270,10 @@
@@ -34,6 +131,11 @@
  #if !defined(SELF_CONTAINED_WRAPPER)
          /* set stdin, stdout to the consoleFD, and leave stderr alone */
          for (i = 0; i < 2; i++)
+Index: xc/programs/Xserver/hw/xfree86/parser/write.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/parser/write.c,v
+retrieving revision 1.3
+diff -u -r1.3 write.c
 --- xc/programs/Xserver/hw/xfree86/parser/write.c	3 Jul 2005 07:01:37 -0000	1.3
 +++ xc/programs/Xserver/hw/xfree86/parser/write.c	5 Jun 2006 10:35:19 -0000
 @@ -170,7 +170,10 @@
@@ -48,6 +150,11 @@
  			ret = doWriteConfigFile(filename, cptr);
  			exit(ret);
  			break;
+Index: xc/programs/Xserver/os/utils.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/os/utils.c,v
+retrieving revision 1.21
+diff -u -r1.21 utils.c
 --- xc/programs/Xserver/os/utils.c	8 Nov 2005 06:33:30 -0000	1.21
 +++ xc/programs/Xserver/os/utils.c	5 Jun 2006 10:35:20 -0000
 @@ -1,4 +1,4 @@
@@ -95,6 +202,11 @@
  	if (*type == 'r') {
  	    if (pdes[1] != 1) {
  		/* stdout */
+Index: xc/programs/xdm/session.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xdm/session.c,v
+retrieving revision 1.3
+diff -u -r1.3 session.c
 --- xc/programs/xdm/session.c	8 Nov 2005 06:33:31 -0000	1.3
 +++ xc/programs/xdm/session.c	5 Jun 2006 10:35:21 -0000
 @@ -1,4 +1,4 @@
@@ -120,6 +232,11 @@
  	RemoveUserAuthorization (d, &verify);
  #ifdef K5AUTH
  	/* do like "kdestroy" program */
+Index: xc/programs/xdm/xdmshell.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xdm/xdmshell.c,v
+retrieving revision 1.3
+diff -u -r1.3 xdmshell.c
 --- xc/programs/xdm/xdmshell.c	14 Jul 2005 22:58:25 -0000	1.3
 +++ xc/programs/xdm/xdmshell.c	5 Jun 2006 10:35:21 -0000
 @@ -183,7 +183,11 @@
@@ -135,6 +252,11 @@
  
      /*
       * exec /usr/bin/X11/xdm -nodaemon -udpPort 0
+Index: xc/programs/xf86dga/dga.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xf86dga/dga.c,v
+retrieving revision 1.2
+diff -u -r1.2 dga.c
 --- xc/programs/xf86dga/dga.c	23 Apr 2004 19:54:47 -0000	1.2
 +++ xc/programs/xf86dga/dga.c	5 Jun 2006 10:35:21 -0000
 @@ -16,6 +16,7 @@
@@ -157,6 +279,11 @@
  #endif
  
     XF86DGASetViewPort(dis, DefaultScreen(dis), 0, 0);
+Index: xc/programs/xinit/xinit.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xinit/xinit.c,v
+retrieving revision 1.4
+diff -u -r1.4 xinit.c
 --- xc/programs/xinit/xinit.c	4 Oct 2005 01:27:34 -0000	1.4
 +++ xc/programs/xinit/xinit.c	5 Jun 2006 10:35:21 -0000
 @@ -1,5 +1,5 @@
@@ -178,6 +305,11 @@
  		setpgrp(0, getpid());
  		environ = newenviron;
  #ifdef __UNIXOS2__
+Index: xc/programs/xload/xload.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xload/xload.c,v
+retrieving revision 1.2
+diff -u -r1.2 xload.c
 --- xc/programs/xload/xload.c	23 Apr 2004 19:54:57 -0000	1.2
 +++ xc/programs/xload/xload.c	5 Jun 2006 10:35:21 -0000
 @@ -34,7 +34,7 @@
@@ -209,6 +341,11 @@
  
      XtSetLanguageProc(NULL, (XtLanguageProc) NULL, NULL);
  
+Index: xc/programs/xterm/main.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xterm/main.c,v
+retrieving revision 1.8
+diff -u -r1.8 main.c
 --- xc/programs/xterm/main.c	14 Dec 2005 23:28:27 -0000	1.8
 +++ xc/programs/xterm/main.c	5 Jun 2006 10:35:22 -0000
 @@ -1592,8 +1592,10 @@
@@ -243,6 +380,11 @@
  #define get_pty(pty, from) really_get_pty(pty, from)
  #endif
  
+Index: xc/programs/xterm/misc.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xterm/misc.c,v
+retrieving revision 1.6
+diff -u -r1.6 misc.c
 --- xc/programs/xterm/misc.c	14 Dec 2005 23:28:27 -0000	1.6
 +++ xc/programs/xterm/misc.c	5 Jun 2006 10:35:22 -0000
 @@ -1094,8 +1094,10 @@
@@ -271,6 +413,11 @@
  
  	    execl(shell, shell, "-c", &screen->logfile[1], (void *) 0);
  
+Index: xc/programs/xterm/print.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/xterm/print.c,v
+retrieving revision 1.5
+diff -u -r1.5 print.c
 --- xc/programs/xterm/print.c	5 Aug 2005 16:13:04 -0000	1.5
 +++ xc/programs/xterm/print.c	5 Jun 2006 10:35:22 -0000
 @@ -387,9 +387,11 @@
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/x11r6.9.0-setuid.diff?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list