author | Patrick Einheber <patrick.einheber@oracle.com> |
Wed, 12 Oct 2016 08:38:46 -0700 | |
changeset 7093 | a50590d00730 |
parent 5561 | 0416d82f7f55 |
permissions | -rw-r--r-- |
5561
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
1 |
From a9d3ad0d8b824e687dc13addc63bbdabcb7dec09 Mon Sep 17 00:00:00 2001 |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
2 |
From: Alan Coopersmith <[email protected]> |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
3 |
Date: Sat, 2 Jan 2016 23:05:51 -0800 |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
4 |
Subject: [PATCH] bug 15574928 |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
5 |
|
5400
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
6 |
Bug 15574928 - SUNBT6859039 |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
7 |
|
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
8 |
Upstream applicability & status unknown. |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
9 |
--- |
5561
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
10 |
driver/prefs.c | 14 ++++++++++++++ |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
11 |
1 file changed, 14 insertions(+) |
5400
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
12 |
|
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
13 |
diff --git a/driver/prefs.c b/driver/prefs.c |
5561
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
14 |
index 20f3a4a..c14d1be 100644 |
5400
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
15 |
--- a/driver/prefs.c |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
16 |
+++ b/driver/prefs.c |
5561
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
17 |
@@ -381,7 +381,21 @@ parse_init_file (saver_preferences *p) |
5400
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
18 |
return 0; |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
19 |
} |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
20 |
|
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
21 |
+ /* |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
22 |
+ * 6859039: unprivileged local users can use xscreensaver to show |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
23 |
+ * contents of files they don't have permission to read. |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
24 |
+ */ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
25 |
+ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
26 |
+ /* Drop Privilege before opening .xscreensaver file */ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
27 |
+ uid_t idorg = geteuid (); |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
28 |
+ if (seteuid (getuid ()) != 0) |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
29 |
+ return 0; |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
30 |
+ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
31 |
in = fopen(name, "r"); |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
32 |
+ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
33 |
+ /* Restore Privilege */ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
34 |
+ seteuid (idorg); |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
35 |
+ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
36 |
if (!in) |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
37 |
{ |
1199f8e91f50
22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff
changeset
|
38 |
char *buf = (char *) malloc(1024 + strlen(name)); |
5561
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
39 |
-- |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
40 |
2.6.1 |
0416d82f7f55
22593000 Upgrade xscreensaver to version 5.34
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5400
diff
changeset
|
41 |