From f415169064b21ab8e025f1f36cdcb3258d2de679 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 9 Jan 2006 16:54:35 +0100 Subject: Skipping all SetCaps() and SetUser() calls when it is started as 'root' and "-u root" is given --- vdr.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'vdr.c') diff --git a/vdr.c b/vdr.c index a476a25b..c8afec24 100644 --- a/vdr.c +++ b/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 @@ -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: -- cgit v1.2.3