components/desktop/xscreensaver/patches/0017-bug-15574928.patch
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--
24710648 puppet resource LDAP lookup fails when querying users
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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