summaryrefslogtreecommitdiff
path: root/audio/xmcd
diff options
context:
space:
mode:
authorThomas Gellekum <tg@FreeBSD.org>1999-05-26 07:08:19 +0000
committerThomas Gellekum <tg@FreeBSD.org>1999-05-26 07:08:19 +0000
commit5780b36964b7e456518e10c2531e02e667341408 (patch)
tree56f850afb4a3776163519622082c2277f2d3069d /audio/xmcd
parentUpgrade to 0.95.5. (diff)
Give up root temporarily to read user's .Xauthority.
PR: 11887
Notes
Notes: svn path=/head/; revision=19003
Diffstat (limited to 'audio/xmcd')
-rw-r--r--audio/xmcd/files/patch-af39
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(