Package: policykit-1
Version: 0.105-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu raring ubuntu-patch

Hi folks,

In Ubuntu, the attached patch was applied to achieve the following:

  * debian/patches/07_pam_environment.patch: set process environment
    from pam_getenvlist().
  * debian/patches/01_pam_polkit.patch: adjust patch to invoke pam_env, so
    our global settings from /etc/environment are applied correctly.

This is wanted because of
<https://bugs.launchpad.net/ubuntu/+source/policykit-1/+bug/982684>.  Please
consider applying these changes in Debian, and/or forwarding them upstream.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
=== modified file 'debian/patches/01_pam_polkit.patch'
--- debian/patches/01_pam_polkit.patch	2009-06-22 09:24:18 +0000
+++ debian/patches/01_pam_polkit.patch	2012-11-05 06:59:01 +0000
@@ -1,6 +1,8 @@
---- a/data/polkit-1.in
-+++ b/data/polkit-1.in
-@@ -1,6 +1,6 @@
+Index: trunk/data/polkit-1.in
+===================================================================
+--- trunk.orig/data/polkit-1.in
++++ trunk/data/polkit-1.in
+@@ -1,6 +1,8 @@
  #%PAM-1.0
  
 -auth       include      @PAM_FILE_INCLUDE_AUTH@
@@ -10,4 +12,6 @@
 +@include common-auth
 +@include common-account
 +@include common-password
++session       required   pam_env.so readenv=1 user_readenv=0
++session       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
 +@include common-session

=== added file 'debian/patches/07_pam_environment.patch'
--- debian/patches/07_pam_environment.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/07_pam_environment.patch	2012-11-05 06:59:01 +0000
@@ -0,0 +1,33 @@
+Author: Steve Langasek <steve.langa...@canonical.com>
+Description: set process environment from pam_getenvlist()
+ Various pam modules provide environment variables that are intended to be
+ set in the environment of the pam session.  pkexec needs to process the
+ output of pam_getenvlist() to get these.
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/982684
+Index: trunk/src/programs/pkexec.c
+===================================================================
+--- trunk.orig/src/programs/pkexec.c
++++ trunk/src/programs/pkexec.c
+@@ -145,6 +145,7 @@
+   gboolean ret;
+   gint rc;
+   pam_handle_t *pam_h;
++  char **envlist;
+   struct pam_conv conversation;
+ 
+   ret = FALSE;
+@@ -176,6 +177,14 @@
+ 
+   ret = TRUE;
+ 
++  envlist = pam_getenvlist (pam_h);
++  if (envlist != NULL) {
++    int i;
++    for (i = 0; envlist[i]; i++)
++      putenv(envlist[i]);
++    free (envlist);
++  }
++
+ out:
+   if (pam_h != NULL)
+     pam_end (pam_h, rc);

=== modified file 'debian/patches/series'
--- debian/patches/series	2012-02-11 23:48:29 +0000
+++ debian/patches/series	2012-11-05 06:59:01 +0000
@@ -4,3 +4,4 @@
 04_get_cwd.patch
 05_revert-admin-identities-unix-group-wheel.patch
 06_systemd-service.patch
+07_pam_environment.patch

Reply via email to