summaryrefslogtreecommitdiff
path: root/gnome-unstable/gdm
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-10-17 14:16:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-10-17 14:16:38 +0000
commite1b3d592f43a99f4ed7c91971deda6ce8414dd69 (patch)
tree38fecdc19b201d4d28df13c22e9b3b45bb469e4b /gnome-unstable/gdm
parentd286d980d2ff42151e9bc81ec348c864c24f9cc4 (diff)
Mon Oct 17 14:16:38 UTC 2011
Diffstat (limited to 'gnome-unstable/gdm')
-rw-r--r--gnome-unstable/gdm/PKGBUILD65
-rw-r--r--gnome-unstable/gdm/fix-consolekit-registration.patch98
-rw-r--r--gnome-unstable/gdm/fix_external_program_directories.patch34
-rwxr-xr-xgnome-unstable/gdm/gdm36
-rw-r--r--gnome-unstable/gdm/gdm-autologin.pam18
-rw-r--r--gnome-unstable/gdm/gdm-fingerprint.pam18
-rw-r--r--gnome-unstable/gdm/gdm-password.pam20
-rw-r--r--gnome-unstable/gdm/gdm-smartcard.pam18
-rw-r--r--gnome-unstable/gdm/gdm-vt-allocation-hack.patch118
-rw-r--r--gnome-unstable/gdm/gdm-welcome.pam12
-rw-r--r--gnome-unstable/gdm/gdm.install29
-rw-r--r--gnome-unstable/gdm/gdm.pam10
12 files changed, 0 insertions, 476 deletions
diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD
deleted file mode 100644
index 4cd728c8f..000000000
--- a/gnome-unstable/gdm/PKGBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# $Id: PKGBUILD 138715 2011-09-27 17:37:42Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=gdm
-pkgver=3.2.0
-pkgrel=1
-pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.gnome.org"
-backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password'
- 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf')
-groups=('gnome-extra')
-options=('!libtool')
-depends=('libcanberra' 'libxklavier' 'gnome-session' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss')
-makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection')
-optdepends=('gnome-shell: new login interface')
-install=gdm.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
- fix_external_program_directories.patch
- gdm-vt-allocation-hack.patch
- gdm
- gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam)
-sha256sums=('f827f5500827acef94ad2d60f02ec489bc35cb6392d8f4a60ec814599c2991b7'
- '55654861b14fea344bc7a43fa265c9aaffcd16f5cf56360483fff5d4dc83cf15'
- '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
- '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
- 'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
- '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
- 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
- '0dbb37b4e2a2a2dd2305f0f69cf32d63d353d34aacaf805d2c2ec52fbe558bb4'
- 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
- '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/fix_external_program_directories.patch"
- patch -Np1 -i "${srcdir}/gdm-vt-allocation-hack.patch"
-
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/gdm \
- --localstatedir=/var \
- --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
- --disable-scrollkeeper \
- --disable-static \
- --without-tcp-wrappers
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
- gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gdm ${pkgdir}/etc/gconf/schemas/*.schemas
-
- for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do
- install -m644 "${srcdir}/${i}" "${pkgdir}/etc/pam.d/${i%.pam}"
- done
-
- install -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
-
- chmod 1770 "${pkgdir}/var/log/gdm"
- chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
- rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
-}
diff --git a/gnome-unstable/gdm/fix-consolekit-registration.patch b/gnome-unstable/gdm/fix-consolekit-registration.patch
deleted file mode 100644
index 282d7705e..000000000
--- a/gnome-unstable/gdm/fix-consolekit-registration.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 984038d2df357750f49658ad0c5bfe0d2e812ffd Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Tue, 06 Sep 2011 15:41:07 +0000
-Subject: daemon: fix consolekit registration
-
-ioni pointed out on IRC, that since commit
-647cad5bf59a4ff3776ba1ae5cda6b1aaaa1cfb2
-
-the greeter session isn't getting fully registered
-with consolekit and so udev acls weren't being
-properly applied.
-
-This commit passes the tty to the worker process
-so that it can be used for registration.
-
-It also passes hostname, merely for completeness.
----
-diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
-index 1d5c16a..c25bc9b 100644
---- a/daemon/gdm-session-direct.c
-+++ b/daemon/gdm-session-direct.c
-@@ -1401,6 +1401,8 @@ do_introspect (DBusConnection *connection,
- " <signal name=\"SetupForProgram\">\n"
- " <arg name=\"service_name\" type=\"s\"/>\n"
- " <arg name=\"x11_display_name\" type=\"s\"/>\n"
-+ " <arg name=\"display_device\" type=\"s\"/>\n"
-+ " <arg name=\"hostname\" type=\"s\"/>\n"
- " <arg name=\"x11_authority_file\" type=\"s\"/>\n"
- " <arg name=\"log_file\" type=\"s\"/>\n"
- " </signal>\n"
-@@ -2052,6 +2054,8 @@ send_setup_for_program (GdmSessionDirect *session,
- DBusMessage *message;
- DBusMessageIter iter;
- const char *display_name;
-+ const char *display_device;
-+ const char *display_hostname;
- const char *display_x11_authority_file;
- GdmSessionConversation *conversation;
-
-@@ -2062,6 +2066,16 @@ send_setup_for_program (GdmSessionDirect *session,
- } else {
- display_name = "";
- }
-+ if (session->priv->display_hostname != NULL) {
-+ display_hostname = session->priv->display_hostname;
-+ } else {
-+ display_hostname = "";
-+ }
-+ if (session->priv->display_device != NULL) {
-+ display_device = session->priv->display_device;
-+ } else {
-+ display_device = "";
-+ }
- if (session->priv->display_x11_authority_file != NULL) {
- display_x11_authority_file = session->priv->display_x11_authority_file;
- } else {
-@@ -2077,6 +2091,8 @@ send_setup_for_program (GdmSessionDirect *session,
- dbus_message_iter_init_append (message, &iter);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &service_name);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_name);
-+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_device);
-+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_hostname);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_x11_authority_file);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &log_file);
-
-diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
-index 2b46ca8..c402e6c 100644
---- a/daemon/gdm-session-worker.c
-+++ b/daemon/gdm-session-worker.c
-@@ -2597,6 +2597,8 @@ on_setup_for_program (GdmSessionWorker *worker,
- DBusError error;
- char *service;
- char *x11_display_name;
-+ char *console;
-+ char *hostname;
- char *x11_authority_file;
- char *log_file;
- dbus_bool_t res;
-@@ -2611,6 +2613,8 @@ on_setup_for_program (GdmSessionWorker *worker,
- &error,
- DBUS_TYPE_STRING, &service,
- DBUS_TYPE_STRING, &x11_display_name,
-+ DBUS_TYPE_STRING, &console,
-+ DBUS_TYPE_STRING, &hostname,
- DBUS_TYPE_STRING, &x11_authority_file,
- DBUS_TYPE_STRING, &log_file,
- DBUS_TYPE_INVALID);
-@@ -2621,6 +2625,8 @@ on_setup_for_program (GdmSessionWorker *worker,
- worker->priv->service = g_strdup (service);
- worker->priv->username = g_strdup (GDM_USERNAME);
- worker->priv->x11_display_name = g_strdup (x11_display_name);
-+ worker->priv->hostname = g_strdup (hostname);
-+ worker->priv->display_device = g_strdup (console);
- worker->priv->x11_authority_file = g_strdup (x11_authority_file);
- worker->priv->log_file = g_strdup (log_file);
- worker->priv->is_program_session = TRUE;
---
-cgit v0.9.0.2
diff --git a/gnome-unstable/gdm/fix_external_program_directories.patch b/gnome-unstable/gdm/fix_external_program_directories.patch
deleted file mode 100644
index b74530dd2..000000000
--- a/gnome-unstable/gdm/fix_external_program_directories.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Nur gdm-3.1.91.orig/daemon/gdm-server.c gdm-3.1.91/daemon/gdm-server.c
---- gdm-3.1.91.orig/daemon/gdm-server.c 2011-09-09 21:58:06.586838200 +0000
-+++ gdm-3.1.91/daemon/gdm-server.c 2011-09-09 21:58:14.583578916 +0000
-@@ -131,7 +131,7 @@
- g_return_val_if_fail (GDM_IS_SERVER (server), NULL);
-
- error = NULL;
-- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s",
-+ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s",
- server->priv->display_name);
-
- g_debug ("GdmServer: Running helper %s", command);
-diff -Nur gdm-3.1.91.orig/data/gdm-shell.session.in gdm-3.1.91/data/gdm-shell.session.in
---- gdm-3.1.91.orig/data/gdm-shell.session.in 2011-09-09 21:58:06.613505113 +0000
-+++ gdm-3.1.91/data/gdm-shell.session.in 2011-09-09 21:59:00.300668930 +0000
-@@ -1,5 +1,5 @@
- [GNOME Session]
- Name=Display Manager
- RequiredComponents=gnome-shell;gnome-settings-daemon;
--IsRunnableHelper=@libexecdir@/gnome-session-check-accelerated
-+IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
- FallbackSession=gdm-fallback
-diff -Nur gdm-3.1.91.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.1.91/gui/simple-chooser/gdm-chooser-session.c
---- gdm-3.1.91.orig/gui/simple-chooser/gdm-chooser-session.c 2011-09-09 21:58:06.613505113 +0000
-+++ gdm-3.1.91/gui/simple-chooser/gdm-chooser-session.c 2011-09-09 21:58:14.583578916 +0000
-@@ -131,7 +131,7 @@
- ret = FALSE;
-
- error = NULL;
-- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);
-+ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error);
- if (error != NULL) {
- g_warning ("Error starting settings daemon: %s", error->message);
- g_error_free (error);
diff --git a/gnome-unstable/gdm/gdm b/gnome-unstable/gdm/gdm
deleted file mode 100755
index c3e635a6d..000000000
--- a/gnome-unstable/gdm/gdm
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
- start)
- stat_busy "Starting GDM"
- /usr/sbin/gdm &
- if [ $? -gt 0 ]; then
- stat_fail
- else
-
- add_daemon gdm
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping GDM"
- [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon gdm
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 2
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/gnome-unstable/gdm/gdm-autologin.pam b/gnome-unstable/gdm/gdm-autologin.pam
deleted file mode 100644
index c77c78917..000000000
--- a/gnome-unstable/gdm/gdm-autologin.pam
+++ /dev/null
@@ -1,18 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-
-auth requisite pam_permit.so
-
-auth sufficient pam_succeed_if.so uid >= 1000 quiet
-auth required pam_deny.so
-
-account required pam_unix.so
-
-password required pam_deny.so
-
-session required pam_loginuid.so
--session optional pam_systemd.so
-session optional pam_keyinit.so revoke
-session required pam_limits.so
-session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-fingerprint.pam b/gnome-unstable/gdm/gdm-fingerprint.pam
deleted file mode 100644
index 5b74bf6d6..000000000
--- a/gnome-unstable/gdm/gdm-fingerprint.pam
+++ /dev/null
@@ -1,18 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-
-auth requisite pam_fprintd.so
-
-auth sufficient pam_succeed_if.so uid >= 1000 quiet
-auth required pam_deny.so
-
-account required pam_unix.so
-
-password required pam_deny.so
-
-session required pam_loginuid.so
--session optional pam_systemd.so
-session optional pam_keyinit.so revoke
-session required pam_limits.so
-session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-password.pam b/gnome-unstable/gdm/gdm-password.pam
deleted file mode 100644
index 7beda835a..000000000
--- a/gnome-unstable/gdm/gdm-password.pam
+++ /dev/null
@@ -1,20 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-
-auth requisite pam_unix.so nullok
-auth optional pam_gnome_keyring.so
-
-auth sufficient pam_succeed_if.so uid >= 1000 quiet
-auth required pam_deny.so
-
-account required pam_unix.so
-
-password required pam_unix.so
-
-session required pam_loginuid.so
--session optional pam_systemd.so
-session optional pam_keyinit.so revoke
-session required pam_limits.so
-session required pam_unix.so
-session optional pam_gnome_keyring.so auto_start
diff --git a/gnome-unstable/gdm/gdm-smartcard.pam b/gnome-unstable/gdm/gdm-smartcard.pam
deleted file mode 100644
index baacb8bed..000000000
--- a/gnome-unstable/gdm/gdm-smartcard.pam
+++ /dev/null
@@ -1,18 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-
-auth requisite pam_pkcs11.so wait_for_card card_only
-
-auth sufficient pam_succeed_if.so uid >= 1000 quiet
-auth required pam_deny.so
-
-account required pam_unix.so
-
-password required pam_pkcs11.so
-
-session required pam_loginuid.so
--session optional pam_systemd.so
-session optional pam_keyinit.so revoke
-session required pam_limits.so
-session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-vt-allocation-hack.patch b/gnome-unstable/gdm/gdm-vt-allocation-hack.patch
deleted file mode 100644
index 56fa5a151..000000000
--- a/gnome-unstable/gdm/gdm-vt-allocation-hack.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
-index 39def47..03488fd 100644
---- a/daemon/gdm-server.c
-+++ b/daemon/gdm-server.c
-@@ -33,6 +33,8 @@
- #include <grp.h>
- #include <signal.h>
- #include <sys/resource.h>
-+#include <sys/ioctl.h>
-+#include <sys/vt.h>
-
- #include <glib.h>
- #include <glib/gi18n.h>
-@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
- return out;
- }
-
-+#ifndef O_NOCTTY
-+# define O_NOCTTY 0
-+#endif
-+
-+static int
-+open_vt (int vtno)
-+{
-+ char *vtname;
-+ int fd;
-+
-+ vtname = g_strdup_printf ("/dev/tty%d", vtno);
-+
-+ do {
-+ errno = 0;
-+ fd = open (vtname, O_RDWR | O_NOCTTY, 0);
-+ } while (errno == EINTR);
-+
-+ g_free (vtname);
-+ return fd;
-+}
-+
-+static gint
-+find_first_probably_free_vt (void)
-+{
-+ int fd, fdv;
-+ int vtno;
-+ unsigned short vtmask;
-+ struct vt_stat vtstat;
-+ guint v_state;
-+
-+ fdv = -1;
-+
-+ do {
-+ errno = 0;
-+ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
-+ } while (errno == EINTR);
-+
-+ if (fd >= 0) {
-+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
-+ v_state = vtstat.v_state;
-+ } else {
-+ close (fd);
-+ v_state = 0;
-+ fd = -1;
-+ }
-+ } else {
-+ v_state = 0;
-+ }
-+
-+ if (fd < 0) {
-+ do {
-+ errno = 0;
-+ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
-+ } while (errno == EINTR);
-+
-+ if (fd >= 0) {
-+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
-+ v_state = vtstat.v_state;
-+ }
-+ }
-+
-+ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
-+ /* Is this console in use? */
-+ if (v_state & vtmask)
-+ continue;
-+
-+ /* No, try to open it */
-+ fdv = open_vt (vtno);
-+ if (fdv >= 0)
-+ break;
-+
-+ /* If we're here, kernel indicated that the console was free,
-+ * but we failed to open it. Just go on to higher VTs. */
-+ }
-+
-+ if (fdv >= 0)
-+ close (fdv);
-+ else
-+ vtno = -1;
-+
-+ if (fd >= 0)
-+ close (fd);
-+
-+ return vtno;
-+}
-+
- char *
- gdm_server_get_display_device (GdmServer *server)
- {
-@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server,
-
- if (vtarg != NULL && ! gotvtarg) {
- argv[len++] = g_strdup (vtarg);
-+ } else if (!query_in_arglist && !gotvtarg) {
-+ gint vtnum = find_first_probably_free_vt ();
-+
-+ if (vtnum > 0)
-+ argv [len++] = g_strdup_printf ("vt%d", vtnum);
- }
-
- argv[len++] = NULL;
diff --git a/gnome-unstable/gdm/gdm-welcome.pam b/gnome-unstable/gdm/gdm-welcome.pam
deleted file mode 100644
index cc3811c19..000000000
--- a/gnome-unstable/gdm/gdm-welcome.pam
+++ /dev/null
@@ -1,12 +0,0 @@
-#%PAM-1.0
-auth required pam_env.so
-auth required pam_permit.so
-
-account required pam_nologin.so
-account required pam_unix.so
-
-password required pam_deny.so
-
-session required pam_loginuid.so
--session optional pam_systemd.so
-session optional pam_keyinit.so force revoke
diff --git a/gnome-unstable/gdm/gdm.install b/gnome-unstable/gdm/gdm.install
deleted file mode 100644
index b9732be50..000000000
--- a/gnome-unstable/gdm/gdm.install
+++ /dev/null
@@ -1,29 +0,0 @@
-pkgname=gdm
-
-post_install() {
- getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
- getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
- passwd -l gdm > /dev/null
- chown -R gdm:gdm /var/lib/gdm > /dev/null
-
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
- gconfpkg --install ${pkgname}
- glib-compile-schemas usr/share/glib-2.0/schemas
-}
-
-pre_remove() {
- if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
- gconfpkg --uninstall ${pkgname}
- fi
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- glib-compile-schemas usr/share/glib-2.0/schemas
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
- getent passwd gdm >/dev/null 2>&1 && userdel gdm
- getent group gdm >/dev/null 2>&1 && groupdel gdm
-}
diff --git a/gnome-unstable/gdm/gdm.pam b/gnome-unstable/gdm/gdm.pam
deleted file mode 100644
index 655299cb7..000000000
--- a/gnome-unstable/gdm/gdm.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_unix.so
-auth optional pam_gnome_keyring.so
-account required pam_unix.so
-session required pam_limits.so
-session required pam_unix.so
-session optional pam_gnome_keyring.so auto_start
-password required pam_unix.so