[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