vdr/vdr/debian/patches 07_not_as_root.dpatch

Thomas Schmidt pkg-vdr-dvb-changes@lists.alioth.debian.org
Sun, 16 Jan 2005 20:41:07 +0000


Update of /cvsroot/pkg-vdr-dvb/vdr/vdr/debian/patches
In directory haydn:/tmp/cvs-serv17638/vdr/vdr/debian/patches

Modified Files:
	07_not_as_root.dpatch 
Log Message:
* also refuse to run when gid is root

Index: 07_not_as_root.dpatch
===================================================================
RCS file: /cvsroot/pkg-vdr-dvb/vdr/vdr/debian/patches/07_not_as_root.dpatch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- 07_not_as_root.dpatch	16 Jan 2005 19:39:47 -0000	1.1
+++ 07_not_as_root.dpatch	16 Jan 2005 20:41:05 -0000	1.2
@@ -6,9 +6,9 @@
 ## DP: 05_set_system_time_as_user.dpatch)
 
 @DPATCH@
-diff -urNad vdr-1.2.6/vdr.c /tmp/dpep.zQi8Wv/vdr-1.2.6/vdr.c
---- vdr-1.2.6/vdr.c	2005-01-16 20:24:35.000000000 +0100
-+++ /tmp/dpep.zQi8Wv/vdr-1.2.6/vdr.c	2005-01-16 20:32:07.000000000 +0100
+diff -urNad vdr-1.2.6/vdr.c /tmp/dpep.KXhAyV/vdr-1.2.6/vdr.c
+--- vdr-1.2.6/vdr.c	2005-01-16 21:24:13.000000000 +0100
++++ /tmp/dpep.KXhAyV/vdr-1.2.6/vdr.c	2005-01-16 21:27:33.000000000 +0100
 @@ -35,6 +35,7 @@
  #include <grp.h>
  #include <sys/capability.h>
@@ -17,17 +17,25 @@
  #include "audio.h"
  #include "channels.h"
  #include "config.h"
-@@ -325,12 +326,22 @@
+@@ -325,12 +326,30 @@
            }
          }
  
 +  // Check if the program should run as root
 +  bool IsRoot=0; 
 +  
-+  if (username == NULL) 
++  if (username == NULL && groupname == NULL) 
 +     IsRoot = !getuid () || !getgid () || !geteuid () || !getegid ();
-+  else if (strcmp(username,"root") == 0)
-+     IsRoot = 1;
++  else {
++     if (username != NULL) { 
++     	if (strcmp(username,"root") == 0)
++   		IsRoot = 1;
++     }
++     if (groupname != NULL) {
++     	if (strcmp(groupname,"root") == 0) 
++		IsRoot = 1;
++     }
++  }
 +  
    // Help and version info:
  
@@ -43,7 +51,7 @@
       if (DisplayHelp) {
          printf("Usage: vdr [OPTIONS]\n\n"          // for easier orientation, this is column 80|
                 "  -a CMD,   --audio=CMD    send Dolby Digital audio to stdin of command CMD\n"
-@@ -374,7 +385,7 @@
+@@ -374,7 +393,7 @@
          }
       if (DisplayVersion)
          printf("vdr (%s) - The Video Disk Recorder\n", VDRVERSION);
@@ -52,7 +60,7 @@
          if (DisplayHelp)
             printf("Plugins: vdr -P\"name [OPTIONS]\"\n\n");
          for (int i = 0; ; i++) {
-@@ -394,6 +405,11 @@
+@@ -394,6 +413,11 @@
       return 0;
       }