[Pkg-xfce-commits] r4638 - goodies/trunk/lightdm/debian/patches

Yves-Alexis Perez corsac at alioth.debian.org
Mon Dec 6 11:08:40 UTC 2010


Author: corsac
Date: 2010-12-06 11:08:38 +0000 (Mon, 06 Dec 2010)
New Revision: 4638

Added:
   goodies/trunk/lightdm/debian/patches/06_use-pam-envvar.patch
Modified:
   goodies/trunk/lightdm/debian/patches/series
Log:
get env vars from PAM (fix gnome-keyring usage)


Added: goodies/trunk/lightdm/debian/patches/06_use-pam-envvar.patch
===================================================================
--- goodies/trunk/lightdm/debian/patches/06_use-pam-envvar.patch	                        (rev 0)
+++ goodies/trunk/lightdm/debian/patches/06_use-pam-envvar.patch	2010-12-06 11:08:38 UTC (rev 4638)
@@ -0,0 +1,62 @@
+=== modified file 'lightdm/src/display.c'
+--- lightdm/src/display.c	2010-12-06 06:55:38 +0000
++++ lightdm/src/display.c	2010-12-06 11:06:29 +0000
+@@ -458,6 +458,7 @@
+             gchar *session_language, *layout;
+             gchar *data;
+             gsize length;
++            gchar* *pam_env;
+ 
+             if (display->priv->session_wrapper)
+             {
+@@ -483,6 +484,22 @@
+             session_set_env (display->priv->user_session, "GDM_LANG", session_language); // FIXME: Not cross-desktop
+             session_set_env (display->priv->user_session, "GDM_KEYBOARD_LAYOUT", layout); // FIXME: Not cross-desktop
+ 
++            if ((pam_env = pam_session_get_envlist(display->priv->user_pam_session)))
++            {
++                int i;
++                for (i = 0; pam_env[i]; i++)
++                {
++                    gchar* *pam_env_vars = g_strsplit_set(pam_env[i], "=", 2);
++                    if (pam_env_vars && pam_env_vars[0] && pam_env_vars[1])
++                    {
++                        session_set_env (display->priv->user_session, pam_env_vars[0], pam_env_vars[1]);
++                        g_strfreev(pam_env_vars);
++                    }
++                    else
++                        g_debug("Can't parse PAM environment variable %s", pam_env[i]);
++                }
++            }
++
+             g_signal_emit (display, signals[START_SESSION], 0, display->priv->user_session);
+ 
+             session_start (display->priv->user_session);
+
+=== modified file 'lightdm/src/pam-session.c'
+--- lightdm/src/pam-session.c	2010-11-17 03:23:08 +0000
++++ lightdm/src/pam-session.c	2010-12-05 23:57:37 +0000
+@@ -307,3 +307,9 @@
+                       g_cclosure_marshal_VOID__VOID,
+                       G_TYPE_NONE, 0);
+ }
++
++char**
++pam_session_get_envlist (PAMSession *session)
++{
++  return pam_getenvlist (session->priv->pam_handle);
++}
+
+=== modified file 'lightdm/src/pam-session.h'
+--- lightdm/src/pam-session.h	2010-11-17 03:23:08 +0000
++++ lightdm/src/pam-session.h	2010-12-05 23:55:52 +0000
+@@ -62,6 +62,8 @@
+ // FIXME: Do in unref
+ void pam_session_end (PAMSession *session);
+ 
++char** pam_session_get_envlist(PAMSession *session);
++
+ G_END_DECLS
+ 
+ #endif /* _PAM_SESSION_H_ */
+

Modified: goodies/trunk/lightdm/debian/patches/series
===================================================================
--- goodies/trunk/lightdm/debian/patches/series	2010-12-06 11:07:55 UTC (rev 4637)
+++ goodies/trunk/lightdm/debian/patches/series	2010-12-06 11:08:38 UTC (rev 4638)
@@ -3,3 +3,4 @@
 03_fix-xauthority-perms.patch
 04_fix_xauthority-path.patch
 05_fix-ownership-dmrc.patch
+06_use-pam-envvar.patch




More information about the Pkg-xfce-commits mailing list