mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
When switching to a less privileged user id, VDR now sets the environment variables HOME, USER, LOGNAME and SHELL accordingly
This commit is contained in:
parent
87acd119ce
commit
21b564805d
@ -2790,6 +2790,8 @@ Manuel Reimer <Manuel.Reimer@gmx.de>
|
||||
seconds during replay
|
||||
for suggesting to synchronize system time to the transponder time using adjtime() in
|
||||
order to avoid discontinuities
|
||||
for setting the environment variables HOME, USER, LOGNAME and SHELL accordingly
|
||||
when switching to a less privileged user id
|
||||
|
||||
Rene van den Braken <rene@vandenbraken.name>
|
||||
for reporting a bug in writing the PCR pid into the PMT in
|
||||
|
2
HISTORY
2
HISTORY
@ -7750,3 +7750,5 @@ Video Disk Recorder Revision History
|
||||
- Updated the introductory text of the vdr.1 man page.
|
||||
- Added a note to the INSTALL file regarding multiple disk setup becoming deprecated
|
||||
in a future version of VDR.
|
||||
- When switching to a less privileged user id, VDR now sets the environment variables
|
||||
HOME, USER, LOGNAME and SHELL accordingly (thanks to Manuel Reimer).
|
||||
|
8
vdr.c
8
vdr.c
@ -22,7 +22,7 @@
|
||||
*
|
||||
* The project's page is at http://www.tvdr.de
|
||||
*
|
||||
* $Id: vdr.c 2.55 2013/03/12 13:27:40 kls Exp $
|
||||
* $Id: vdr.c 2.56 2013/03/14 09:34:57 kls Exp $
|
||||
*/
|
||||
|
||||
#include <getopt.h>
|
||||
@ -87,7 +87,7 @@
|
||||
|
||||
static int LastSignal = 0;
|
||||
|
||||
static bool SetUser(const char *UserName, bool UserDump)//XXX name?
|
||||
static bool SetUser(const char *UserName, bool UserDump)
|
||||
{
|
||||
if (UserName) {
|
||||
struct passwd *user = getpwnam(UserName);
|
||||
@ -109,6 +109,10 @@ static bool SetUser(const char *UserName, bool UserDump)//XXX name?
|
||||
}
|
||||
if (UserDump && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0)
|
||||
fprintf(stderr, "vdr: warning - cannot set dumpable: %s\n", strerror(errno));
|
||||
setenv("HOME", user->pw_dir, 1);
|
||||
setenv("USER", user->pw_name, 1);
|
||||
setenv("LOGNAME", user->pw_name, 1);
|
||||
setenv("SHELL", user->pw_shell, 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user