diff options
author | Thomas Gellekum <tg@FreeBSD.org> | 1999-05-26 07:08:19 +0000 |
---|---|---|
committer | Thomas Gellekum <tg@FreeBSD.org> | 1999-05-26 07:08:19 +0000 |
commit | 5780b36964b7e456518e10c2531e02e667341408 (patch) | |
tree | 56f850afb4a3776163519622082c2277f2d3069d /audio/xmcd | |
parent | Upgrade to 0.95.5. (diff) |
Give up root temporarily to read user's .Xauthority.
PR: 11887
Diffstat (limited to 'audio/xmcd')
-rw-r--r-- | audio/xmcd/files/patch-af | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/audio/xmcd/files/patch-af b/audio/xmcd/files/patch-af new file mode 100644 index 000000000000..5200c47286f0 --- /dev/null +++ b/audio/xmcd/files/patch-af @@ -0,0 +1,39 @@ +--- xmcd_d/main.c.orig Sat Apr 24 03:41:00 1999 ++++ xmcd_d/main.c Sun May 23 11:55:01 1999 +@@ -151,6 +151,8 @@ + { + int i; + Display *display; ++ uid_t euid, ruid; ++ gid_t egid, rgid; + + /* Error message stream */ + errfp = stderr; +@@ -201,6 +203,16 @@ + } + } + ++ /* get real IDs */ ++ ruid = getuid(); ++ rgid = getgid(); ++ /* save effective IDs */ ++ euid = geteuid(); ++ egid = getegid(); ++ /* give up root until we have a connection to the X server */ ++ (void)seteuid(ruid); ++ (void)setegid(rgid); ++ + /* Initialize X toolkit */ + widgets.toplevel = XtVaAppInitialize( + &app_context, +@@ -210,6 +222,10 @@ + NULL, + NULL + ); ++ ++ /* Ok, back to root */ ++ (void)seteuid(euid); ++ (void)setegid(egid); + + /* Get application options */ + XtVaGetApplicationResources( |