mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Skipping all SetCaps() and SetUser() calls when it is started as 'root' and "-u root" is given
This commit is contained in:
parent
df65f4a2f1
commit
f415169064
5
HISTORY
5
HISTORY
@ -4135,7 +4135,7 @@ Video Disk Recorder Revision History
|
||||
Schneider).
|
||||
- Cleaned up some trailing white space.
|
||||
|
||||
2006-01-08: Version 1.3.39
|
||||
2006-01-09: Version 1.3.39
|
||||
|
||||
- The SVDRP command LSTT now accepts the new option 'id' to have the channels
|
||||
of the timers listed with their unique channel ids instead of their numbers
|
||||
@ -4147,3 +4147,6 @@ Video Disk Recorder Revision History
|
||||
(thanks to Peter Bieringer). If you are using the PC keyboard as remote control
|
||||
input you may need to make VDR newly learn the keys by removing the remote.conf
|
||||
file.
|
||||
- To avoid problems with access rights when VDR shall run as 'root' it now skips
|
||||
all SetCaps() and SetUser() calls when it is started as 'root' and "-u root"
|
||||
is given.
|
||||
|
20
vdr.c
20
vdr.c
@ -22,7 +22,7 @@
|
||||
*
|
||||
* The project's page is at http://www.cadsoft.de/vdr
|
||||
*
|
||||
* $Id: vdr.c 1.233 2006/01/08 11:49:03 kls Exp $
|
||||
* $Id: vdr.c 1.234 2006/01/09 16:44:15 kls Exp $
|
||||
*/
|
||||
|
||||
#include <getopt.h>
|
||||
@ -339,14 +339,16 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (getuid() == 0) {
|
||||
StartedAsRoot = true;
|
||||
if (!SetKeepCaps(true))
|
||||
return 2;
|
||||
if (!SetUser(VdrUser))
|
||||
return 2;
|
||||
if (!SetKeepCaps(false))
|
||||
return 2;
|
||||
if (!SetCapSysTime())
|
||||
return 2;
|
||||
if (strcmp(VdrUser, "root")) {
|
||||
if (!SetKeepCaps(true))
|
||||
return 2;
|
||||
if (!SetUser(VdrUser))
|
||||
return 2;
|
||||
if (!SetKeepCaps(false))
|
||||
return 2;
|
||||
if (!SetCapSysTime())
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Help and version info:
|
||||
|
Loading…
Reference in New Issue
Block a user