]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Removed unused GAsyncResultIface.is_tagged as this attribute was not available in...
authorRobert Ancell <robert.ancell@canonical.com>
Mon, 18 Aug 2014 05:22:42 +0000 (17:22 +1200)
committerRobert Ancell <robert.ancell@canonical.com>
Mon, 18 Aug 2014 05:22:42 +0000 (17:22 +1200)
137 files changed:
NEWS
autogen.sh
configure.ac
data/lightdm.conf
debian/changelog
debian/guest-account.sh [moved from debian/guest-account with 93% similarity]
debian/lightdm.install
debian/lightdm.service
debian/patches/04_language_handling.patch
debian/patches/05_translate_debian_files.patch [new file with mode: 0644]
debian/patches/05_translate_guest_session_dialog.patch [deleted file]
debian/patches/series
debian/po/af.po
debian/po/an.po
debian/po/ar.po
debian/po/ast.po
debian/po/az.po
debian/po/be.po
debian/po/bg.po
debian/po/bn.po
debian/po/bo.po
debian/po/br.po
debian/po/bs.po
debian/po/ca.po
debian/po/ca@valencia.po
debian/po/ce.po [new file with mode: 0644]
debian/po/ckb.po
debian/po/cs.po
debian/po/cy.po
debian/po/da.po
debian/po/de.po
debian/po/el.po
debian/po/en_AU.po
debian/po/en_CA.po
debian/po/en_GB.po
debian/po/eo.po
debian/po/es.po
debian/po/et.po
debian/po/eu.po
debian/po/fa.po
debian/po/fi.po
debian/po/fo.po
debian/po/fr.po
debian/po/fr_CA.po
debian/po/fy.po
debian/po/gd.po
debian/po/gl.po
debian/po/gu.po
debian/po/he.po
debian/po/hi.po
debian/po/hr.po
debian/po/hu.po
debian/po/ia.po
debian/po/id.po
debian/po/is.po
debian/po/it.po
debian/po/ja.po
debian/po/kk.po
debian/po/kl.po
debian/po/km.po
debian/po/kn.po
debian/po/ko.po
debian/po/ku.po
debian/po/lb.po
debian/po/lt.po
debian/po/lv.po
debian/po/mhr.po
debian/po/mi.po
debian/po/ml.po
debian/po/mr.po
debian/po/ms.po
debian/po/my.po
debian/po/nb.po
debian/po/nl.po
debian/po/nn.po
debian/po/oc.po
debian/po/pa.po
debian/po/pl.po
debian/po/pt.po
debian/po/pt_BR.po
debian/po/ro.po
debian/po/ru.po
debian/po/sc.po
debian/po/sd.po
debian/po/shn.po
debian/po/si.po
debian/po/sk.po
debian/po/sl.po
debian/po/sq.po
debian/po/sr.po
debian/po/sv.po
debian/po/ta.po
debian/po/te.po
debian/po/tg.po
debian/po/th.po
debian/po/tl.po
debian/po/tr.po
debian/po/ug.po
debian/po/uk.po
debian/po/uz.po
debian/po/vi.po
debian/po/wae.po
debian/po/zh_CN.po
debian/po/zh_HK.po
debian/po/zh_TW.po
debian/rules
src/dm-tool.c
src/lightdm.c
src/seat-surfaceflinger.c
src/seat-unity.c
src/seat-xlocal.c
src/seat-xremote.c
src/seat.c
src/seat.h
tests/Makefile.am
tests/scripts/autologin-guest-timeout.conf
tests/scripts/autologin-pam-config.conf [new file with mode: 0644]
tests/scripts/autologin-timeout-in-background.conf
tests/scripts/autologin-timeout-logout.conf [new file with mode: 0644]
tests/scripts/autologin-timeout.conf
tests/scripts/login-pam-config.conf [new file with mode: 0644]
tests/scripts/switch-to-greeter-disabled.conf [new file with mode: 0644]
tests/scripts/switch-to-greeter.conf
tests/scripts/switch-to-guest-disabled.conf [new file with mode: 0644]
tests/scripts/switch-to-guest.conf
tests/scripts/switch-to-user-disabled.conf [new file with mode: 0644]
tests/scripts/switch-to-user.conf
tests/src/test-gobject-greeter.c
tests/src/test-python-greeter
tests/src/test-qt-greeter.cpp
tests/src/test-runner.c
tests/test-autologin-pam-config [new file with mode: 0755]
tests/test-autologin-timeout-logout [new file with mode: 0755]
tests/test-login-pam-config [new file with mode: 0755]
tests/test-switch-to-greeter-disabled [new file with mode: 0755]
tests/test-switch-to-guest-disabled [new file with mode: 0755]
tests/test-switch-to-user-disabled [new file with mode: 0755]

diff --git a/NEWS b/NEWS
index e7991966bbcd1250461f116bec73396812d53010..1d6b68fb3eebf9caeb450912d118f42749e2a71f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+Overview of changes in lightdm 1.11.5
+
+    * Make PAM services configurable
+
+Overview of changes in lightdm 1.11.4
+
+    * Do timed autologin each time you are returned to the greeter
+    * Fix tests failing with Qt 5.3 due to it checking getuid/geteuid which we are faking
+    * dm-tool: Warn if trying to switch to user without username
+
 Overview of changes in lightdm 1.11.3
 
     * Fix Mir sessions broken with unity-system-compositor 0.3.
index b0e51a33d10dd829dda39954f2142d0b5fde8d85..ab1e8aa9fa035d7eb5dc3ed7e46c7a1fcec36afa 100755 (executable)
@@ -8,6 +8,14 @@ aclocal
 autoconf
 autoheader
 automake --add-missing --copy --foreign
+
+YELP=`which yelp-build`
+if test -z $YELP; then
+  echo "*** The tools to build the documentation are not found,"
+  echo "    please install the yelp-tools package ***"
+  exit 1
+fi
+
 if [ -z "$NOCONFIGURE" ]; then
     ./configure $@
 fi
index f7ca3ea27bb369e27fd282edb1a28fa94c6d72a1..08031a5da893da1789832b891d6cbbe751afc9aa 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(lightdm, 1.11.3)
+AC_INIT(lightdm, 1.11.5)
 AC_CONFIG_MACRO_DIR(m4)
 AC_CONFIG_HEADER(config.h)
 AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
index 9e7ba17ca6eba6a4a86721fd8f59946dd2afc46a..6bc0a0b50291a98e03f4aeba7045a4a11e4efbb3 100644 (file)
@@ -35,6 +35,9 @@
 #
 # type = Seat type (xlocal, xremote)
 # xdg-seat = Seat name to set pam_systemd XDG_SEAT variable and name to pass to X server
+# pam-service = PAM service to use for login
+# pam-autologin-service = PAM service to use for autologin
+# pam-greeter-service = PAM service to use for greeters
 # xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
 # xserver-layout = Layout to pass to X server
 # xserver-config = Config file to pass to X server
@@ -53,6 +56,7 @@
 # greeter-show-manual-login = True if the greeter should offer a manual login option
 # greeter-show-remote-login = True if the greeter should offer a remote login option
 # user-session = Session to load for users
+# allow-user-switching = True if allowed to switch users
 # allow-guest = True if guest login is allowed
 # guest-session = Session to load for guests (overrides user-session)
 # session-wrapper = Wrapper script to run session with
@@ -73,6 +77,9 @@
 [SeatDefaults]
 #type=xlocal
 #xdg-seat=seat0
+#pam-service=lightdm
+#pam-autologin-service=lightdm-autologin
+#pam-greeter-service=lightdm-greeter
 #xserver-command=X
 #xserver-layout=
 #xserver-config=
@@ -91,6 +98,7 @@
 #greeter-show-manual-login=false
 #greeter-show-remote-login=true
 #user-session=default
+#allow-user-switching=true
 #allow-guest=true
 #guest-session=
 #session-wrapper=lightdm-session
index a9e0c43171b15b8b26e22cc001d0289d21f6aeac..daecd9853ae69476dca65ba3252831d54d96e08c 100644 (file)
@@ -1,3 +1,26 @@
+lightdm (1.11.5-0ubuntu1) utopic; urgency=medium
+
+  * New upstream release:
+    - Make PAM services configurable (LP: #1348251)
+  * debian/guest-account:
+  * debian/lightdm.install:
+  * debian/rules:
+  * debian/patches/05_translate_debian_files.patch:
+    - Make the real name of a guest account translatable (LP: #1177713)
+
+ -- Robert Ancell <robert.ancell@canonical.com>  Mon, 28 Jul 2014 13:40:46 +1200
+
+lightdm (1.11.4-0ubuntu1) utopic; urgency=medium
+
+  * New upstream release:
+    - Do timed autologin each time you are returned to the greeter
+    - Fix tests failing with Qt 5.3 due to it checking getuid/geteuid which we are faking
+    - dm-tool: Warn if trying to switch to user without username
+  * debian/lightdm.service:
+    - Don't test for specific installation path
+
+ -- Robert Ancell <robert.ancell@canonical.com>  Tue, 01 Jul 2014 15:50:16 +1200
+
 lightdm (1.11.3-0ubuntu1) utopic; urgency=medium
 
   * New upstream release:
similarity index 93%
rename from debian/guest-account
rename to debian/guest-account.sh
index 47cfe70a7bc085eab9ac219d1b4790407524a209..60908984322c91ca937c07ffb94bf68882d17001 100644 (file)
@@ -8,6 +8,16 @@
 # If this succeeds, this script needs to print the username as the last line to
 # stdout.
 
+export TEXTDOMAINDIR=/usr/share/locale-langpack
+export TEXTDOMAIN=lightdm
+
+# set the system wide locale for gettext calls
+if [ -f /etc/default/locale ]; then
+  . /etc/default/locale
+  LANGUAGE=
+  export LANG LANGUAGE
+fi
+
 add_account ()
 {
   HOME=`mktemp -td guest-XXXXXX`
@@ -36,7 +46,7 @@ add_account ()
     fi
   else
     # does not exist, so create it
-    adduser --system --no-create-home --home / --gecos "Guest" --group --shell /bin/bash $USER || {
+    adduser --system --no-create-home --home / --gecos $(gettext "Guest") --group --shell /bin/bash $USER || {
         umount "$HOME"
         rm -rf "$HOME"
         exit 1
index 726383b76b157f73c45d0bf38375fc57259d5cc4..1da4aeb97cfca6078e43dac192b2f2ef7f0651d4 100644 (file)
@@ -9,7 +9,6 @@ etc/lightdm/lightdm.conf usr/share/doc/lightdm/
 etc/lightdm/keys.conf usr/share/doc/lightdm/
 etc/apparmor.d
 debian/lightdm-session usr/sbin
-debian/guest-account usr/sbin
 debian/guest-session-auto.sh usr/lib/lightdm
 debian/lightdm-greeter-session usr/lib/lightdm
 debian/source_lightdm.py usr/share/apport/package-hooks
index eb23df6346259e8115eb803335b38198d44af6df..84b2b43608750d09df0bdfa34e1fb895329c6ca9 100644 (file)
@@ -7,7 +7,7 @@ After=systemd-user-sessions.service getty@tty7.service plymouth-quit.service
 [Service]
 # temporary safety check until all DMs are converted to correct
 # display-manager.service symlink handling
-ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/lightdm" ]'
+ExecStartPre=/bin/sh -c '[ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ]'
 ExecStart=/usr/sbin/lightdm
 Restart=always
 BusName=org.freedesktop.DisplayManager
index a2177351e6125f9f7dcbafa239cb463b1b85364e..6f06e49c5ed98d5b34a5eecad7c726ff99dd7aed 100644 (file)
@@ -75,7 +75,7 @@ Index: trunk/src/seat.c
 ===================================================================
 --- trunk.orig/src/seat.c
 +++ trunk/src/seat.c
-@@ -955,7 +955,7 @@ configure_session (Session *session, Ses
+@@ -950,7 +950,7 @@ configure_session (Session *session, Ses
          session_set_env (session, "XDG_CURRENT_DESKTOP", desktop_name);
      if (language && language[0] != '\0')
      {
diff --git a/debian/patches/05_translate_debian_files.patch b/debian/patches/05_translate_debian_files.patch
new file mode 100644 (file)
index 0000000..382192c
--- /dev/null
@@ -0,0 +1,15 @@
+Description: Grab translatable strings from debian/* files
+ This is done as an Ubuntu patch, since debian/* files are not included upstream.
+Forwarded: not-needed
+Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
+
+--- lightdm.orig/po/POTFILES.in        2014-01-23 19:17:23.143894000 +0100
++++ lightdm/po/POTFILES.in     2014-07-24 23:28:19.519106226 +0200
+@@ -1,5 +1,7 @@
+ # List of source files containing translatable strings.
+ # Please keep this file sorted alphabetically.
+ [encoding: UTF-8]
++debian/guest-account.sh
++debian/guest-session-auto.sh
+ src/lightdm.c
+ src/dm-tool.c
diff --git a/debian/patches/05_translate_guest_session_dialog.patch b/debian/patches/05_translate_guest_session_dialog.patch
deleted file mode 100644 (file)
index 398a4a1..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Grab translatable strings from debian/guest-session-auto.sh
- This is done as an Ubuntu patch, since debian/guest-session-auto.sh
- is not an upstream file.
-Forwarded: not-needed
-Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
-
---- lightdm.orig/po/POTFILES.in        2014-01-24 14:44:56.240966000 +0100
-+++ lightdm/po/POTFILES.in     2014-01-24 15:09:58.651191195 +0100
-@@ -1,5 +1,6 @@
- # List of source files containing translatable strings.
- # Please keep this file sorted alphabetically.
- [encoding: UTF-8]
-+debian/guest-session-auto.sh
- src/lightdm.c
- src/dm-tool.c
index 4d371ddeb59d69d909a7e6a819ec9922718ae4c0..4bb2ea009e32a8fddefe3c509566424a1b71f141 100644 (file)
@@ -1,3 +1,3 @@
 01_transition_ubuntu2d_ubuntu_desktop.patch
 04_language_handling.patch
-05_translate_guest_session_dialog.patch
+05_translate_debian_files.patch
index 5905f326d8fd540ec57eb5b14342e36ce9febe62..0077f8335ddcb20aa841c1ce5198ad06db10bf0a 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ed55f3fa52918dc9bd7af4c008e769fcc750c676..49746a2ad9ac0545ec2571e7c497d814fa1c8649 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 1354bcb47d24c18cdbdcc5616d93a4e96c88f7ec..7856c4e5817e527e643745856ffa2b83e6b3cdc9 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 72dc18416ae9d3b36176dd2be7cae5b5fe011161..658d02a6f195c1f6d774a4a8af326ebcb9645146 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 214842dc6c508d9b2236d76b38a33401e77b5bda..98c0bd83b771b26db3608b497279e65cf55853bd 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 1078e874252c3d05a628e737a6408dd2b708a906..d5feebfdd858afec127b04fd2cfb7d2079b61c76 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 95e98ec81e8bf83a9c1dcced32a7ebdbe0b02a17..e973cbfeb03e3f60de5bada778cb1af208669201 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 0c276125cab5e18c29f033f6dc85aaeee50807cb..decd614b888cf122c23472fce9d4fbc88b507cbf 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 3e90fcc732a271d37bdc907e2a0c98f2f0f8cdd3..611e64b6e50180a5671ab94c18b090a36d196461 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 43c0348b1fc5e32f110ef79b4fcd9161eae7eee7..ef443b101994ecfb1bcbf2b576f1500180e2a023 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 9c689b6b605d692db3e3566c6835b0978cbd2baa..4473be9c28983d9a833cfd22bb3fa05771f840f1 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index fb1375ea697f742ea2b8f55c982172863c3da725..3cf23fd469818e26ad8d509c4d73c426b6956843 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index afb45d3b4555de71ebf574797e33393505c04552..cc6419703b3399ac244bb016c87a270ea5d5d528 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
diff --git a/debian/po/ce.po b/debian/po/ce.po
new file mode 100644 (file)
index 0000000..c0028e7
--- /dev/null
@@ -0,0 +1,51 @@
+# Chechen translation for lightdm
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2014-08-11 10:28+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Chechen <ce@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-08-12 06:04+0000\n"
+"X-Generator: Launchpad (build 17156)\n"
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid "Default display manager:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
index c26141fa42925d2c140d8b0d144a2c5506055233..cc7157682345fba87ebff0ff590be69c9534fbfb 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 3ca1620909c868c04435bd0bd97f68f35c814b9e..d089b179cabde85421e3e6191e7ef79ee7340dd1 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index cd21df3aece91ae07b8cd4f34c247933b291ea28..b7e53dcc750558b3c7196e5edba730c4c19efed5 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c0a182d5e98a78e1fe2066b45d52b289bcc6f634..f21f66b175e6af3e2a71271f7f30a3587729de3e 100644 (file)
@@ -15,8 +15,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 1e69d408f4933d97a44b33e6c68e25837fd60540..e492b95e345727994f9c083f2c2d182a1f14aafc 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index b19467c9ad863592ed490ed5b31a856194da706d..8ac555f91e3fef79beeaac2f44ad4431a8c9c6f7 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 8c818941492b82e1ec7f19b2eea79256d446d749..7d06a77614495eff081437e7e3c5a3caf8c98a2e 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 99d49bb6bfd06d616e23672fd67f37e52bf811ed..c76193df8674c26def4cc360ae20f336d070c11b 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 9b906c9d8887befea5a7bbe3c3d7b36eb06e06cd..624ee139d31d365f334ead2febbcb305e271a671 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 7ea96b4acee7cf180fa8927aeeeb7f63656c03fa..6a31d963b8602577e45366b02b9829ed75cd09ff 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index b540ca4516fcd2600bf94186c052620db77b3772..4049d465671df54a7ec83b3858c83a73f22ec7d3 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: lightdm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2007-05-31 08:04+0200\n"
-"PO-Revision-Date: 2013-11-17 12:32+0000\n"
+"PO-Revision-Date: 2014-08-05 08:52+0000\n"
 "Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-06 06:29+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
@@ -54,6 +54,10 @@ msgid ""
 "accordingly, edit each of their init scripts in /etc/init.d, and disable the "
 "check for a default display manager."
 msgstr ""
+"Se pueden ejecutar varios gestores de sesiones si se configuran para manejar "
+"servidores distintos. Para hacer esto, edite las secuencias de órdenes de "
+"init de cada gestor (en /etc/init.d) y desactive la comprobación de gestor "
+"de sesiones predeterminado."
 
 #~ msgid "Cancel"
 #~ msgstr "Cancelar"
index 361428e489ee0378244a49d1c7aa22792d195782..311c6d40066b65c03cccad5ba52a55f08fe2c7e9 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 55d9285b40d3dceca8b62b5e9f57860328ba959e..510275dc2464d9ad81ddbe6faf1728ffd5e27b5f 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c31dc93883f462586c552e66d225336f3e347be0..a7955b710a407bc4f33eec7d47749e6b4eec0db2 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c65e2504c24d3f2c3d7737ab4abce6a92b2e2522..08e6a9f6d41c753cf3376e7df3f0415e5b5904ed 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c10fbc5c308c50cf52861f7c81d235470a7e19a2..a6e650154f20ce028f35049703a2b12a58250303 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index deab00b3123d915275b83be3580d6d1b589dd5df..afa66642141e97be508ed065b23b57c945d3b547 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 7a981e417c52250e6cba5556045123a3c4abdbee..492c8039cfd0c1cba27dcd513552ed3865e33ea6 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 6db567c281387b1fdc49386f0f102eccf5f1b465..de6a2054605ecd02016c487425c7c0edae480267 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c8c56448ba4bd15061048688b5cf4aeb0ee6b36c..98fbe299207d899241abdc04f29b599225df95cc 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index aa544e7b7a88bb068c95f1d1515caf7d292f3b0a..667e43c38c51057f7caab0d1569bae9e6a5d9472 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index bb8d2fac99b7df3773df540716b210cdcd243756..73be459ff3ff0da23a1dc033512158c76f670d2c 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index b17b8070e2e343e77537b2c29ff2e4610e6bdd87..960ebd162308e8c576977d27ccda01704a64dce9 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 34ffe9ede8d6639ddad0506f6d110d4655c30dba..23ef09b9fe1032a463c95b5e45c782e50f712f30 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 3d86fad78f6b09b51c438b0d850f9b9de44537fe..9efe92cb24242e54fcffb5c86c9798ac1523d72e 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 5b80008b816fe4fdbf884abfb1e4dba398cde07a..415a236308bc6b3ad2ffb3dfc5cf36fed237b0bd 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 9ddadd0efe754c92a98d169b808888f265320ccf..b95559f5a607002236777cd6f0ecbb9714ed0a1e 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 8acb67d0ff96fb205ea82c00f87700229156f35a..7260c157caf4343fff38d78e9ee19ef33f7ad7bf 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 5892eb2dd5bc678d89e80fc5dc2dde7b6db74fa4..008f38a7d12fb15048e7fd6f5ea4b9767ba65d9d 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 73e55aff6320f8b430d176b643c7d6e21780783d..8412ce9141801ec6eb710778d34debe5f137c735 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 5a795c7e6d304cf38b0b9c6a0066d5c37ed1618d..692201712687f91453ebe434ea2c707106e09416 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index bf89550c68f0b04132b273ba790a954f1250f943..1ff89222067f475d55a4c56622656128343cbb64 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 9b43d31a9f99e73c71678e0c59046fb448bed282..8211343f8793eda74599cc622b18ba64a2d7f727 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 6419ff5af1fe43278729e0a2ee5599e4d95632ae..1716489e40f8a07530562549ee2434c35f5ca2c8 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index f507a25a5badd71df624b4e6cf41babe2c0796d6..bb3cc203472a5ead26eeb97f2dc4d4e458e8afa2 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index fb736aaa67fceafba548b3ddc4d4a055b0cdbb27..33fd8c419c4919b4808360db888f73adbb8f26ee 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index f2f6653940f11bc271bc4953d458ece50bde144f..50470f5ce90683867f79b242b07896e58bf60864 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 74c9f7c09faa369a33d9ca83c0e9b03bdb98fa9e..9b4c7e2c7ce61c5b15eefc9c1c35c9697201598c 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index e1815b2d61f1001f6e071c529a58909b8158fe8d..35cb45ad076b9cb605eb82811c4e0c4287e88f02 100644 (file)
@@ -9,13 +9,13 @@ msgstr ""
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2007-05-31 08:04+0200\n"
 "PO-Revision-Date: 2013-08-24 08:14+0000\n"
-"Last-Translator: Algimantas Margevičius <Margevicius.Algimantas@gmail.com>\n"
+"Last-Translator: Algimantas Margevičius <algimantas@margevicius.lt>\n"
 "Language-Team: Lithuanian <lt@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 9c9dd4f2021b2830511d233904d84a931e47a623..3cc3bf91b05e82528a0742750d8fd9c8c723aa95 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ae48dca166eb4712fcdd5ecf419d6df9bbe1c220..2c798b4b8ad3bfc56df229a00173bc2f710a333a 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ca8725332e92a0b52b2efba9edde7bf6899dd4c6..fa3c34628e9693770471d843445b6f990cb2d464 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 033850c38e2829cdca64145f1c171ebf7120165d..eb8f6a1f6d193840e38da9ed54e4247ac211dec6 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index fcc5ccdb5a5fcc2cd8c397ae1f90fa0e412e8a99..cdc1a3c74fcb69d64306d569af6394e479ca23ea 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 35447b535aba958c2bbb227211fe9861b39cfc0d..24fb78dc651fa279588db4d05f6327c2408c141c 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 73962fe05e9b3ea0756f6b2dcab7d51f81748e02..02a3ec139b50d358e000eca58d3cfa0890e17530 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 6cf09c8301c19e220d7571b23814d9b2545cff5c..bb519df5c464838264e75661a7e960ea36962c96 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 5285c3779c23f03024f0687b77491b075e6b47c3..2809113524c1f0c3268d8f813b6bc059cee80327 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 4b3eb6f34c2878c396a8ac40bd75151f0788334c..f3a2996310276510ec8101713946a99775719366 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 97bbbfdedb2eb1ad31351ced23d9126a3ebe5209..d4a3f47b6c52555152bd067e92deb0badfec9d0a 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 02741eee750c9a35f4610de34a2117da3d67cd52..82e791e91001253cc1d52204dd70793edc470079 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 4d98e0e85672cf0858978194bed15d9fc5c4fcac..d20ba45648201c64bb05cfd50e31e9fcb569fe6a 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 76789d8669d2e9f2d2bc815503f918c5374567a5..027c79ce20f3ecb2b7dfaeae19e1a9da66557d5d 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index f0033051b42f92ee999b34a449ff783d5d095bd0..afdb3de2cef5ee61919d6b956e5575833d5c6fb8 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 50e10c9123ae36536025ab3846c421f3a41b27d0..751aedf535a9deb21f10317d8152c0480e24f9aa 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 4bf28133ea4e34078f99d87ecb345258e644922d..64c7a60cb9d8d62e1b387bb7652aa8636528ccbf 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index c1d4affb965fec9934eea62e828c79fb311780e2..00471ea9f8a2c63612644ad842741113eefad7fb 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 2514f91e26297e125c06e9ff633c81b8e4952369..2d95b6d73f8629392c369d794ac2357458910846 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index e8e8fe215f7b380ec3cda1be6699e55bf9257179..c55a3a83cfa6c35a281998b8d7b0f74ce3f66701 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 83697ca15241b926a6210287a1819269f5244351..e910e3eeb156df8b04e11597a0d547841a0f93de 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index b1102f0734974a7e48003f4b61b74c4c4556db7c..8f6611ee16bd44a7c9163378e3c6e01d72f05927 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index fcfa5aae17cae1940cba6356c698e93655bc6829..b2af79d96dbc449aeeacf9057279ae4fed7ef21c 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 56c6319304c228b472fe93258bc2df27b8480949..baf5ee07776635e7241e37e9f2ba1409de3968ac 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index d000c36a8b16b4e19f4a4647afbad3e98ecc6e92..a707c03d8a50eb427a99313b9d4098dc2b7363b3 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 "Language: sr\n"
 
 #. Type: select
index ec56a507ac31f8a69cf14e98a75ffd4a008a2e9b..63f610ff3b0560b69757fb7cc817c373965c0e9d 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ee8eaf567f423f998a74e8f11dbb607102d4272b..60e35eb0d783bbfb0a8b842abdc7154a308a9456 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index a5e310e2ba0420cb17238262945114097d1c7863..3a8c9801e75ebe793f16d19ea567579a75eb164c 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 8cc0e1b44ded1a2535fcd7d465ff06bbe96852fc..68a298058d97704319f43865bb5a1479bb8d63d3 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ea8af360bb47b994f7a92ce4e4eac1a902e74f9a..8d3837a93b509eefc7b4647db0a76a11ad8d033f 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 8d3903f4b6391bf6cfb0ec71acfab0a9c4b9e215..7c7b47b747321d33be8ba628c7b1e42cfc64d403 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index d0f059e13d0dfdeaf29b7f46e642b674ad913eda..b25b256abc7496f43014e0896f556a76ddf818fc 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 77cd6fa3fed491df0853e344e37426f1c8f52525..46888f06422a75604d449f3d6945e6f6c9e18a5d 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index a38e30059b63a97a3004b8bceeb42b8ad646677a..723c7c3c9e43f4308b5984fb7f7305d77f13aced 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 7d322e9fbb7dd364984fd3ec8388ca202c5b5514..0b1eada418f738e4e6bd7f4125423297e31e2a46 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 3dd21c6391bd5112e6d1100f7660b08316459600..fceb4addee8022b51b9cf1e35711b97ba2eb1e7d 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index ee27fe75304a00f9f145bca16bdabe59ff40718f..8fa3da9a1561e6711d0640bde931e8a49494033e 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 3ed26534fe4c984bb92afe5dda06698633478dbc..bda7c9c8903c7c34ba096d993ed35f98abf9cd2e 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index 8a97b100a5d0a26a261ad983c71e7c708f979daa..7feeb3e8df656ada9fc0e3c46a18ba7761b82123 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index e30d732f7476f27d61d26c9b33efdde181e79910..a9c3bc0e3d021b78144e15a59896bacca28dd2c2 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-05 05:48+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-08-04 06:06+0000\n"
+"X-Generator: Launchpad (build 17147)\n"
 
 #. Type: select
 #. Description
index d0651d04fabf8f7d857b110a555247669831b8cf..b83cccfe1e1c2c44627de706e720f43d0bdb96f7 100755 (executable)
@@ -21,6 +21,7 @@ override_dh_install:
        rm -r debian/tmp/usr/share/help/C/
        # we do install pam through installpam and init through installinit
        dh_install -X.a -X.la -Xpam.d -X'etc/init/lightdm.conf' --fail-missing
+       install -D debian/guest-account.sh debian/lightdm/usr/sbin/guest-account
        chmod +x debian/lightdm/usr/lib/lightdm/lightdm-greeter-session
        chmod +x debian/lightdm/usr/lib/lightdm/guest-session-auto.sh
 
index ae16e7b4c36b2dde52080bbfa1e3df6e4386be66..c0d257c555e0a1c5f6dd1d20ed51629055e62e02 100644 (file)
@@ -210,7 +210,7 @@ main (int argc, char **argv)
     {
         gchar *username, *session = "";
 
-        if (n_options > 2)
+        if (n_options < 1 || n_options > 2)
         {
             g_printerr ("Usage switch-to-user USERNAME [SESSION]\n");
             usage ();
index bdfd2b1822efe73d343d28fc132119d342250296..013a879ae23e0375f4b5108225359bcfe79be26e 100644 (file)
@@ -321,7 +321,10 @@ handle_display_manager_call (GDBusConnection       *connection,
         Seat *seat;
 
         if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa(ss))")))
+        {
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
             return;
+        }
 
         g_variant_get (parameters, "(&sa(ss))", &type, &property_iter);
 
@@ -360,7 +363,10 @@ handle_display_manager_call (GDBusConnection       *connection,
         Seat *seat;
 
         if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(i)")))
+        {
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
             return;
+        }
 
         g_variant_get (parameters, "(i)", &display_number);
 
@@ -395,6 +401,8 @@ handle_display_manager_call (GDBusConnection       *connection,
             g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to start seat");
         g_object_unref (seat);
     }
+    else
+        g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Unknown method");
 }
 
 static GVariant *
@@ -438,45 +446,58 @@ handle_seat_call (GDBusConnection       *connection,
     if (g_strcmp0 (method_name, "SwitchToGreeter") == 0)
     {
         if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("()")))
-            return;
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
 
-        seat_switch_to_greeter (seat);
-        g_dbus_method_invocation_return_value (invocation, NULL);
+        if (seat_switch_to_greeter (seat))
+            g_dbus_method_invocation_return_value (invocation, NULL);
+        else// FIXME: Need to make proper error
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to switch to greeter");
     }
     else if (g_strcmp0 (method_name, "SwitchToUser") == 0)
     {
         const gchar *username, *session_name;
 
         if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(ss)")))
-            return;
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
 
         g_variant_get (parameters, "(&s&s)", &username, &session_name);
         if (strcmp (session_name, "") == 0)
             session_name = NULL;
 
-        seat_switch_to_user (seat, username, session_name);
-        g_dbus_method_invocation_return_value (invocation, NULL);
+        if (seat_switch_to_user (seat, username, session_name))
+            g_dbus_method_invocation_return_value (invocation, NULL);
+        else// FIXME: Need to make proper error
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to switch to user");
     }
     else if (g_strcmp0 (method_name, "SwitchToGuest") == 0)
     {
         const gchar *session_name;
 
         if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(s)")))
-            return;
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
 
         g_variant_get (parameters, "(&s)", &session_name);
         if (strcmp (session_name, "") == 0)
             session_name = NULL;
 
-        seat_switch_to_guest (seat, session_name);
-        g_dbus_method_invocation_return_value (invocation, NULL);
+        if (seat_switch_to_guest (seat, session_name))
+            g_dbus_method_invocation_return_value (invocation, NULL);
+        else// FIXME: Need to make proper error
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to switch to guest");
     }
     else if (g_strcmp0 (method_name, "Lock") == 0)
     {
+        if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("()")))
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
+
         /* FIXME: Should only allow locks if have a session on this seat */
-        seat_lock (seat, NULL);
-        g_dbus_method_invocation_return_value (invocation, NULL);
+        if (seat_lock (seat, NULL))
+            g_dbus_method_invocation_return_value (invocation, NULL);
+        else// FIXME: Need to make proper error
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to lock seat");
     }
+    else
+        g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Unknown method");
 }
 
 static Seat *
@@ -538,11 +559,16 @@ handle_session_call (GDBusConnection       *connection,
     {
         Seat *seat;
 
+        if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("()")))
+            g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Invalid arguments");
+
         seat = get_seat_for_session (session);
         /* FIXME: Should only allow locks if have a session on this seat */
         seat_lock (seat, session_get_username (session));
         g_dbus_method_invocation_return_value (invocation, NULL);
     }
+    else
+        g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Unknown method");
 }
 
 static SeatBusEntry *
@@ -1109,6 +1135,12 @@ main (int argc, char **argv)
         config_set_boolean (config_get_instance (), "LightDM", "lock-memory", TRUE);
     if (!config_has_key (config_get_instance (), "SeatDefaults", "type"))
         config_set_string (config_get_instance (), "SeatDefaults", "type", "xlocal");
+    if (!config_has_key (config_get_instance (), "SeatDefaults", "pam-service"))
+        config_set_string (config_get_instance (), "SeatDefaults", "pam-service", "lightdm");
+    if (!config_has_key (config_get_instance (), "SeatDefaults", "pam-autologin-service"))
+        config_set_string (config_get_instance (), "SeatDefaults", "pam-autologin-service", "lightdm-autologin");
+    if (!config_has_key (config_get_instance (), "SeatDefaults", "pam-greeter-service"))
+        config_set_string (config_get_instance (), "SeatDefaults", "pam-greeter-service", "lightdm-greeter");
     if (!config_has_key (config_get_instance (), "SeatDefaults", "xserver-command"))
         config_set_string (config_get_instance (), "SeatDefaults", "xserver-command", "X");
     if (!config_has_key (config_get_instance (), "SeatDefaults", "xserver-share"))
@@ -1117,6 +1149,8 @@ main (int argc, char **argv)
         config_set_string (config_get_instance (), "SeatDefaults", "unity-compositor-command", "unity-system-compositor");
     if (!config_has_key (config_get_instance (), "SeatDefaults", "start-session"))
         config_set_boolean (config_get_instance (), "SeatDefaults", "start-session", TRUE);
+    if (!config_has_key (config_get_instance (), "SeatDefaults", "allow-user-switching"))
+        config_set_boolean (config_get_instance (), "SeatDefaults", "allow-user-switching", TRUE);
     if (!config_has_key (config_get_instance (), "SeatDefaults", "allow-guest"))
         config_set_boolean (config_get_instance (), "SeatDefaults", "allow-guest", TRUE);
     if (!config_has_key (config_get_instance (), "SeatDefaults", "greeter-allow-guest"))
index f1338f5a5bf089b5037a5c7dd38bd3af641811b0..4bfdef153cbe2aeecadf76ad206e3e026dd3e2c6 100644 (file)
@@ -20,7 +20,7 @@ G_DEFINE_TYPE (SeatSurfaceflinger, seat_surfaceflinger, SEAT_TYPE);
 static void
 seat_surfaceflinger_setup (Seat *seat)
 {
-    seat_set_can_switch (seat, FALSE);
+    seat_set_supports_multi_session (seat, FALSE);
     SEAT_CLASS (seat_surfaceflinger_parent_class)->setup (seat);
 }
 
index fb2aafef7e130528b974e46e166870a8670bbe23..28a96f377403694a989eee313240072e68835e02 100644 (file)
@@ -48,7 +48,7 @@ seat_unity_get_start_local_sessions (Seat *seat)
 static void
 seat_unity_setup (Seat *seat)
 {
-    seat_set_can_switch (seat, TRUE);
+    seat_set_supports_multi_session (seat, TRUE);
     SEAT_CLASS (seat_unity_parent_class)->setup (seat);
 }
 
index 8dc9c66e2de3bf1bf9da9b7e30f73501296b026a..73cc1217b6ba8ac07e8b6b2770854ec795d3e1ee 100644 (file)
@@ -29,7 +29,7 @@ seat_xlocal_get_start_local_sessions (Seat *seat)
 static void
 seat_xlocal_setup (Seat *seat)
 {
-    seat_set_can_switch (seat, TRUE);
+    seat_set_supports_multi_session (seat, TRUE);
     seat_set_share_display_server (seat, seat_get_boolean_property (seat, "xserver-share"));
     SEAT_CLASS (seat_xlocal_parent_class)->setup (seat);
 }
index 63afa1a028a25570a5ebefc96887a5a14c3c0c62..44cafc49fea70f75e8e932ed97c33eeb42078f77 100644 (file)
@@ -20,7 +20,7 @@ G_DEFINE_TYPE (SeatXRemote, seat_xremote, SEAT_TYPE);
 static void
 seat_xremote_setup (Seat *seat)
 {
-    seat_set_can_switch (seat, FALSE);
+    seat_set_supports_multi_session (seat, FALSE);
     SEAT_CLASS (seat_xremote_parent_class)->setup (seat);
 }
 
index b10bdeb8bb8ab7ed08835a82e8c19a50d27a8cff..619dbac9456c797c057a15c83938e34428b7f005 100644 (file)
@@ -33,8 +33,8 @@ struct SeatPrivate
     /* Configuration for this seat */
     GHashTable *properties;
 
-    /* TRUE if able to switch users */
-    gboolean can_switch;
+    /* TRUE if this seat can run multiple sessions at once */
+    gboolean supports_multi_session;
 
     /* TRUE if display server can be shared for sessions */
     gboolean share_display_server;
@@ -64,11 +64,6 @@ struct SeatPrivate
     gboolean stopped;
 };
 
-/* PAM services to use */
-#define GREETER_SERVICE   "lightdm-greeter"
-#define USER_SERVICE      "lightdm"
-#define AUTOLOGIN_SERVICE "lightdm-autologin"
-
 static void seat_logger_iface_init (LoggerInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (Seat, seat, G_TYPE_OBJECT,
@@ -170,18 +165,16 @@ seat_get_name (Seat *seat)
 }
 
 void
-seat_set_can_switch (Seat *seat, gboolean can_switch)
+seat_set_supports_multi_session (Seat *seat, gboolean supports_multi_session)
 {
     g_return_if_fail (seat != NULL);
-
-    seat->priv->can_switch = can_switch;
+    seat->priv->supports_multi_session = supports_multi_session;
 }
 
 void
 seat_set_share_display_server (Seat *seat, gboolean share_display_server)
 {
     g_return_if_fail (seat != NULL);
-
     seat->priv->share_display_server = share_display_server;
 }
 
@@ -278,7 +271,7 @@ gboolean
 seat_get_can_switch (Seat *seat)
 {
     g_return_val_if_fail (seat != NULL, FALSE);
-    return seat->priv->can_switch;
+    return seat_get_boolean_property (seat, "allow-user-switching") && seat->priv->supports_multi_session;
 }
 
 gboolean
@@ -1091,7 +1084,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
         session = create_guest_session (seat, session_name);
         if (!session)
             return FALSE;
-        session_set_pam_service (session, AUTOLOGIN_SERVICE);
+        session_set_pam_service (session, seat_get_string_property (seat, "pam-autologin-service"));
     }
     else
     {
@@ -1198,6 +1191,9 @@ create_greeter_session (Seat *seat)
     SessionConfig *session_config;
     Greeter *greeter_session;
     const gchar *greeter_wrapper;
+    const gchar *autologin_username;
+    int autologin_timeout;
+    gboolean autologin_guest;
 
     l_debug (seat, "Creating greeter session");
 
@@ -1227,7 +1223,7 @@ create_greeter_session (Seat *seat)
     set_session_env (SESSION (greeter_session));
     session_set_env (SESSION (greeter_session), "XDG_SESSION_CLASS", "greeter");
 
-    session_set_pam_service (SESSION (greeter_session), GREETER_SERVICE);
+    session_set_pam_service (SESSION (greeter_session), seat_get_string_property (seat, "pam-greeter-service"));
     if (getuid () == 0)
     {
         gchar *greeter_user;      
@@ -1243,7 +1239,9 @@ create_greeter_session (Seat *seat)
     session_set_argv (SESSION (greeter_session), argv);
     g_strfreev (argv);
 
-    greeter_set_pam_services (greeter_session, USER_SERVICE, AUTOLOGIN_SERVICE);
+    greeter_set_pam_services (greeter_session,
+                              seat_get_string_property (seat, "pam-service"),
+                              seat_get_string_property (seat, "pam-autologin-service"));
     g_signal_connect (greeter_session, "create-session", G_CALLBACK (greeter_create_session_cb), seat);
     g_signal_connect (greeter_session, "start-session", G_CALLBACK (greeter_start_session_cb), seat);
 
@@ -1251,6 +1249,25 @@ create_greeter_session (Seat *seat)
     greeter_set_allow_guest (greeter_session, seat_get_allow_guest (seat));
     set_greeter_hints (seat, greeter_session);
 
+    /* Configure for automatic login */
+    autologin_username = seat_get_string_property (seat, "autologin-user");
+    if (g_strcmp0 (autologin_username, "") == 0)
+        autologin_username = NULL;
+    autologin_timeout = seat_get_integer_property (seat, "autologin-user-timeout");
+    autologin_guest = seat_get_boolean_property (seat, "autologin-guest");
+    if (autologin_timeout > 0)
+    {
+        gchar *value;
+
+        value = g_strdup_printf ("%d", autologin_timeout);
+        greeter_set_hint (greeter_session, "autologin-timeout", value);
+        g_free (value);
+        if (autologin_username)
+            greeter_set_hint (greeter_session, "autologin-user", autologin_username);
+        if (autologin_guest)
+            greeter_set_hint (greeter_session, "autologin-guest", "true");
+    }
+
     g_object_unref (session_config);
 
     return greeter_session;
@@ -1340,7 +1357,7 @@ seat_switch_to_greeter (Seat *seat)
 
     g_return_val_if_fail (seat != NULL, FALSE);
 
-    if (!seat->priv->can_switch)
+    if (!seat_get_can_switch (seat))
         return FALSE;
 
     /* Switch to greeter if one open */
@@ -1362,10 +1379,8 @@ seat_switch_to_greeter (Seat *seat)
 
     display_server = create_display_server (seat, session_get_session_type (SESSION (greeter_session)));
     session_set_display_server (SESSION (greeter_session), display_server);
-    if (!display_server_start (display_server))
-        return FALSE;
 
-    return TRUE;
+    return display_server_start (display_server);
 }
 
 static void
@@ -1448,7 +1463,7 @@ seat_switch_to_user (Seat *seat, const gchar *username, const gchar *session_nam
     g_return_val_if_fail (seat != NULL, FALSE);
     g_return_val_if_fail (username != NULL, FALSE);
 
-    if (!seat->priv->can_switch)
+    if (!seat_get_can_switch (seat))
         return FALSE;
 
     /* If we're already on this session, then ignore */
@@ -1461,10 +1476,9 @@ seat_switch_to_user (Seat *seat, const gchar *username, const gchar *session_nam
     /* Attempt to authenticate them */
     session = create_user_session (seat, username, FALSE);
     g_signal_connect (session, "authentication-complete", G_CALLBACK (switch_authentication_complete_cb), seat);
-    session_set_pam_service (session, USER_SERVICE);
-    session_start (session);
+    session_set_pam_service (session, seat_get_string_property (seat, "pam-service"));
 
-    return FALSE;
+    return session_start (session);
 }
 
 static Session *
@@ -1490,7 +1504,7 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
 
     g_return_val_if_fail (seat != NULL, FALSE);
 
-    if (!seat->priv->can_switch || !seat_get_allow_guest (seat))
+    if (!seat_get_can_switch (seat) || !seat_get_allow_guest (seat))
         return FALSE;
 
     /* Switch to session if one open */
@@ -1511,7 +1525,7 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
     if (seat->priv->session_to_activate)
         g_object_unref (seat->priv->session_to_activate);
     seat->priv->session_to_activate = g_object_ref (session);
-    session_set_pam_service (session, AUTOLOGIN_SERVICE);
+    session_set_pam_service (session, seat_get_string_property (seat, "pam-autologin-service"));
     session_set_display_server (session, display_server);
 
     return display_server_start (display_server);
@@ -1526,7 +1540,7 @@ seat_lock (Seat *seat, const gchar *username)
 
     g_return_val_if_fail (seat != NULL, FALSE);
 
-    if (!seat->priv->can_switch)
+    if (!seat_get_can_switch (seat))
         return FALSE;
 
     l_debug (seat, "Locking");
@@ -1636,7 +1650,7 @@ seat_real_start (Seat *seat)
             session = create_user_session (seat, autologin_username, TRUE);
 
         if (session)
-            session_set_pam_service (session, AUTOLOGIN_SERVICE);
+            session_set_pam_service (session, seat_get_string_property (seat, "pam-autologin-service"));
 
         /* Load in background if required */
         if (autologin_in_background && session)
@@ -1684,19 +1698,6 @@ seat_real_start (Seat *seat)
         seat->priv->session_to_activate = g_object_ref (greeter_session);
         session = SESSION (greeter_session);
 
-        if (autologin_timeout)
-        {
-            gchar *value;
-
-            value = g_strdup_printf ("%d", autologin_timeout);
-            greeter_set_hint (greeter_session, "autologin-timeout", value);
-            g_free (value);
-            if (autologin_username)
-                greeter_set_hint (greeter_session, "autologin-user", autologin_username);
-            if (autologin_guest)
-                greeter_set_hint (greeter_session, "autologin-guest", "true");
-        }
-
         display_server = create_display_server (seat, session_get_session_type (session));
         session_set_display_server (session, display_server);
         if (!display_server || !display_server_start (display_server))
index 0a470bc44e875537d1174c91607961b534063ae8..093f26eb89bfe4be410ecb73f0d84e61ab6cb370 100644 (file)
@@ -75,7 +75,7 @@ gint seat_get_integer_property (Seat *seat, const gchar *name);
 
 const gchar *seat_get_name (Seat *seat);
 
-void seat_set_can_switch (Seat *seat, gboolean can_switch);
+void seat_set_supports_multi_session (Seat *seat, gboolean supports_multi_session);
 
 void seat_set_share_display_server (Seat *seat, gboolean share_display_server);
 
index b9613062586cac3c3ff1a0fcafaaccbd31059241..172d31f30d1a9af386b040941c6b3d77c12c4b55 100644 (file)
@@ -20,6 +20,7 @@ TESTS = \
        test-headless \
        test-autologin \
        test-autologin-pam \
+       test-autologin-pam-config \
        test-autologin-in-background \
        test-autologin-guest-in-background \
        test-autologin-timeout-in-background \
@@ -37,6 +38,7 @@ TESTS = \
        test-restart-authentication \
        test-cancel-authentication-gobject \
        test-login-pam \
+       test-login-pam-config \
        test-denied \
        test-expired \
        test-cred-error \
@@ -44,6 +46,7 @@ TESTS = \
        test-cred-unavail \
        test-autologin-session-error \
        test-autologin-logout \
+       test-autologin-timeout-logout \
        test-autologin-previous-session \
        test-autologin-guest \
        test-autologin-guest-session-config \
@@ -135,14 +138,17 @@ TESTS = \
        test-lock-seat-console-kit \
        test-lock-seat-return-session-console-kit \
        test-switch-to-greeter \
+       test-switch-to-greeter-disabled \
        test-switch-to-greeter-new-session \
        test-switch-to-greeter-resettable \
        test-switch-to-greeter-return-session \
        test-switch-to-greeter-return-session-pam \
        test-switch-to-greeter-return-session-logout \
        test-switch-to-guest \
+       test-switch-to-guest-disabled \
        test-switch-to-guest-fail-resettable \
        test-switch-to-user \
+       test-switch-to-user-disabled \
        test-switch-to-user-no-password \
        test-switch-to-user-active \
        test-switch-to-user-existing \
@@ -349,7 +355,7 @@ EXTRA_DIST = \
        scripts/autologin-in-background.conf \
        scripts/autologin-invalid-greeter.conf \
        scripts/autologin-pam.conf \
-       scripts/autologin-timeout-in-background.conf \
+       scripts/autologin-pam-config.conf \
        scripts/autologin-invalid-session.conf \
        scripts/autologin-invalid-user.conf \
        scripts/autologin-logout.conf \
@@ -359,6 +365,8 @@ EXTRA_DIST = \
        scripts/autologin-session-crash.conf \
        scripts/autologin-session-error.conf \
        scripts/autologin-timeout.conf \
+       scripts/autologin-timeout-in-background.conf \
+       scripts/autologin-timeout-logout.conf \
        scripts/autologin-xserver-crash.conf \
        scripts/change-authentication.conf \
        scripts/cancel-authentication.conf \
@@ -422,6 +430,7 @@ EXTRA_DIST = \
        scripts/login-new-authtok.conf \
        scripts/login-no-password.conf \
        scripts/login-pam.conf \
+       scripts/login-pam-config.conf \
        scripts/login-pick-session.conf \
        scripts/login-previous-session.conf \
        scripts/login-remember-session.conf \
@@ -467,16 +476,19 @@ EXTRA_DIST = \
        scripts/session-stderr-backup.conf \
        scripts/surfaceflinger-autologin.conf \
        scripts/switch-to-greeter.conf \
+       scripts/switch-to-greeter-disabled.conf \
        scripts/switch-to-greeter-new-session.conf \
        scripts/switch-to-greeter-resettable.conf \
        scripts/switch-to-greeter-return-session.conf \
        scripts/switch-to-greeter-return-session-logout.conf \
        scripts/switch-to-greeter-return-session-pam.conf \
        scripts/switch-to-guest.conf \
+       scripts/switch-to-guest-disabled.conf \
        scripts/switch-to-guest-fail-resettable.conf \
        scripts/switch-to-user.conf \
        scripts/switch-to-users.conf \
        scripts/switch-to-user-active.conf \
+       scripts/switch-to-user-disabled.conf \
        scripts/switch-to-user-existing.conf \
        scripts/switch-to-user-existing-no-password.conf \
        scripts/switch-to-user-existing-resettable.conf \
index 058731e682bbb46fd6952c9ac8cb912225d197c6..52f8da1d63c4ba71236be591882b544484dfcf52 100644 (file)
@@ -4,7 +4,7 @@
 
 [SeatDefaults]
 autologin-guest=true
-autologin-user-timeout=1
+autologin-user-timeout=99
 user-session=default
 
 #?*START-DAEMON
@@ -26,8 +26,8 @@ user-session=default
 #?GREETER-X-0 CONNECT-TO-DAEMON
 #?GREETER-X-0 CONNECTED-TO-DAEMON
 
-# Autologin timer expires
-#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
+# Greeter is requested to timeout
+#?GREETER-X-0 AUTOLOGIN-GUEST TIMEOUT=99
 
 # Trigger autologin
 #?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
diff --git a/tests/scripts/autologin-pam-config.conf b/tests/scripts/autologin-pam-config.conf
new file mode 100644 (file)
index 0000000..2092ebb
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# Check we can configure the PAM service for automatic login
+#
+
+[SeatDefaults]
+autologin-user=no-password1
+user-session=default
+pam-autologin-service=lightdm-autologin-alternative
+
+[test-pam]
+log-events=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session authenticates
+#?PAM-no-password1 START SERVICE=lightdm-autologin-alternative USER=no-password1
+#?PAM-no-password1 AUTHENTICATE
+#?PAM-no-password1 ACCT-MGMT
+#?PAM-no-password1 SETCRED ESTABLISH_CRED
+#?PAM-no-password1 OPEN-SESSION
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?PAM-no-password1 CLOSE-SESSION
+#?PAM-no-password1 SETCRED DELETE_CRED
+#?PAM-no-password1 END
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index ea7520361a7f482eb2f28b2070ab9bde5224f18e..cababc8df8cdda970ab639d7df545a5665645bc8 100644 (file)
@@ -4,7 +4,7 @@
 
 [SeatDefaults]
 autologin-user=have-password1
-autologin-user-timeout=1
+autologin-user-timeout=99
 autologin-in-background=true
 user-session=default
 
@@ -33,8 +33,8 @@ user-session=default
 #?XSERVER-1 ACCEPT-CONNECT
 #?SESSION-X-1 CONNECT-XSERVER
 
-# Autologin timer expires
-#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
+# Greeter is requested to timeout
+#?GREETER-X-0 AUTOLOGIN-USER USERNAME=have-password1 TIMEOUT=99
 
 # Trigger autologin
 #?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
diff --git a/tests/scripts/autologin-timeout-logout.conf b/tests/scripts/autologin-timeout-logout.conf
new file mode 100644 (file)
index 0000000..6961543
--- /dev/null
@@ -0,0 +1,73 @@
+#
+# Check logging out after autologin returns to greeter and does timed login again
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+autologin-user-timeout=99
+user-session=default
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Greeter is requested to timeout
+#?GREETER-X-0 AUTOLOGIN-USER USERNAME=have-password1 TIMEOUT=99
+
+# Trigger autologin
+#?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Logout session
+#?*SESSION-X-0 LOGOUT
+
+# X server stops
+#?XSERVER-0 TERMINATE SIGNAL=15
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c2
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Greeter is requested to timeout
+#?GREETER-X-0 AUTOLOGIN-USER USERNAME=have-password1 TIMEOUT=99
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index eede796fb8b4125880f9ee843043de137f37bcf5..2b13eb38d8d74a91c53a153c801e54c12b3e012c 100644 (file)
@@ -4,7 +4,7 @@
 
 [SeatDefaults]
 autologin-user=have-password1
-autologin-user-timeout=1
+autologin-user-timeout=99
 user-session=default
 
 #?*START-DAEMON
@@ -26,8 +26,8 @@ user-session=default
 #?GREETER-X-0 CONNECT-TO-DAEMON
 #?GREETER-X-0 CONNECTED-TO-DAEMON
 
-# Autologin timer expires
-#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
+# Greeter is requested to timeout
+#?GREETER-X-0 AUTOLOGIN-USER USERNAME=have-password1 TIMEOUT=99
 
 # Trigger autologin
 #?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
diff --git a/tests/scripts/login-pam-config.conf b/tests/scripts/login-pam-config.conf
new file mode 100644 (file)
index 0000000..bdc9242
--- /dev/null
@@ -0,0 +1,70 @@
+#
+# Check we can configure the PAM service for login
+#
+
+[SeatDefaults]
+user-session=default
+pam-service=lightdm-alternative
+pam-greeter-service=lightdm-greeter-alternative
+
+[test-pam]
+log-events=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Create PAM session for greeter
+#?PAM-lightdm START SERVICE=lightdm-greeter-alternative USER=lightdm
+#?PAM-lightdm SETCRED ESTABLISH_CRED
+#?PAM-lightdm OPEN-SESSION
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Greeter does authentication via PAM
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?PAM-have-password1 START SERVICE=lightdm-alternative USER=have-password1
+#?PAM-have-password1 AUTHENTICATE
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?PAM-have-password1 ACCT-MGMT
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+
+# User session starts
+#?*GREETER-X-0 START-SESSION
+#?PAM-have-password1 SETCRED ESTABLISH_CRED
+#?PAM-have-password1 OPEN-SESSION
+
+# Greeter session stops
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?PAM-lightdm CLOSE-SESSION
+#?PAM-lightdm SETCRED DELETE_CRED
+#?PAM-lightdm END
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?PAM-have-password1 CLOSE-SESSION
+#?PAM-have-password1 SETCRED DELETE_CRED
+#?PAM-have-password1 END
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/switch-to-greeter-disabled.conf b/tests/scripts/switch-to-greeter-disabled.conf
new file mode 100644 (file)
index 0000000..23634f1
--- /dev/null
@@ -0,0 +1,39 @@
+#
+# Check can't switch to greeter when disabled
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=default
+allow-user-switching=false
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Check daemon says we can't switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=FALSE
+
+# Attempt to show the greeter
+#?*SWITCH-TO-GREETER
+#?RUNNER SWITCH-TO-GREETER FAILED
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index d91bae5aca6769df68028a007f1a66d0addcd53a..e3f6f752a8a003f26876387d348627c5b517480e 100644 (file)
@@ -23,6 +23,10 @@ user-session=default
 #?XSERVER-0 ACCEPT-CONNECT
 #?SESSION-X-0 CONNECT-XSERVER
 
+# Check daemon says we can switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=TRUE
+
 # Show the greeter
 #?*SWITCH-TO-GREETER
 #?RUNNER SWITCH-TO-GREETER
diff --git a/tests/scripts/switch-to-guest-disabled.conf b/tests/scripts/switch-to-guest-disabled.conf
new file mode 100644 (file)
index 0000000..ceca709
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# Check can't switch to guest when disabled
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=default
+allow-user-switching=false
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Default session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Check daemon says we can't switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=FALSE
+
+# Check daemon says we have a guest account
+#?*SEAT-HAS-GUEST-ACCOUNT
+#?RUNNER SEAT-HAS-GUEST-ACCOUNT HAS-GUEST-ACCOUNT=TRUE
+
+# Attempt to switch to guest
+#?*SWITCH-TO-GUEST
+#?RUNNER SWITCH-TO-GUEST FAILED
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index b993af77f5b9d06f46b5812b1a0d7549366d52cd..cc59cca10131ba9dac36043a1795d21d191feb89 100644 (file)
@@ -24,6 +24,14 @@ user-session=default
 #?XSERVER-0 ACCEPT-CONNECT
 #?SESSION-X-0 CONNECT-XSERVER
 
+# Check daemon says we can switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=TRUE
+
+# Check daemon says we have a guest account
+#?*SEAT-HAS-GUEST-ACCOUNT
+#?RUNNER SEAT-HAS-GUEST-ACCOUNT HAS-GUEST-ACCOUNT=TRUE
+
 # Switch to guest
 #?*SWITCH-TO-GUEST
 #?RUNNER SWITCH-TO-GUEST
diff --git a/tests/scripts/switch-to-user-disabled.conf b/tests/scripts/switch-to-user-disabled.conf
new file mode 100644 (file)
index 0000000..c3fbc6b
--- /dev/null
@@ -0,0 +1,40 @@
+#
+# Check that can't switch to a user when switching disabled
+#
+
+[SeatDefaults]
+autologin-user=no-password1
+user-session=default
+allow-user-switching=false
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Check daemon says we can't switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=FALSE
+
+# Attempt to switch to an account
+#?*SWITCH-TO-USER USERNAME=have-password1
+#?RUNNER SWITCH-TO-USER USERNAME=have-password1 FAILED
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index c6ea69acc4490e179be5b416c0b47565457103b0..5789af4c47013e6556d05205b0c6a65358e9aa00 100644 (file)
@@ -24,6 +24,10 @@ user-session=default
 #?XSERVER-0 ACCEPT-CONNECT
 #?SESSION-X-0 CONNECT-XSERVER
 
+# Check daemon says we can switch
+#?*SEAT-CAN-SWITCH
+#?RUNNER SEAT-CAN-SWITCH CAN-SWITCH=TRUE
+
 # Switch to an account with a password
 #?*SWITCH-TO-USER USERNAME=have-password1
 #?RUNNER SWITCH-TO-USER USERNAME=have-password1
index 6dc76defcf51f321c41c7ea4899913d90c851152..9c177e858f3ff519c7c0095d26101656eb81a995 100644 (file)
@@ -46,7 +46,6 @@ authentication_complete_cb (LightDMGreeter *greeter)
 static void
 autologin_timer_expired_cb (LightDMGreeter *greeter)
 {
-    status_notify ("%s AUTOLOGIN-TIMER-EXPIRED", greeter_id);
 }
 
 static gboolean
@@ -68,6 +67,8 @@ sigterm_cb (gpointer user_data)
 static void
 notify_hints (LightDMGreeter *greeter)
 {
+    int timeout = lightdm_greeter_get_autologin_timeout_hint (greeter);
+
     if (lightdm_greeter_get_select_user_hint (greeter))
         status_notify ("%s SELECT-USER-HINT USERNAME=%s", greeter_id, lightdm_greeter_get_select_user_hint (greeter));
     if (lightdm_greeter_get_select_guest_hint (greeter))
@@ -82,6 +83,20 @@ notify_hints (LightDMGreeter *greeter)
         status_notify ("%s SHOW-MANUAL-LOGIN-HINT", greeter_id);
     if (!lightdm_greeter_get_show_remote_login_hint (greeter))
         status_notify ("%s SHOW-REMOTE-LOGIN-HINT=FALSE", greeter_id);
+    if (lightdm_greeter_get_autologin_user_hint (greeter))
+    {
+        if (timeout != 0)
+            status_notify ("%s AUTOLOGIN-USER USERNAME=%s TIMEOUT=%d", greeter_id, lightdm_greeter_get_autologin_user_hint (greeter), timeout);
+        else
+            status_notify ("%s AUTOLOGIN-USER USERNAME=%s", greeter_id, lightdm_greeter_get_autologin_user_hint (greeter));
+    }
+    else if (lightdm_greeter_get_autologin_guest_hint (greeter))
+    {
+        if (timeout != 0)
+            status_notify ("%s AUTOLOGIN-GUEST TIMEOUT=%d", greeter_id, timeout);
+        else
+            status_notify ("%s AUTOLOGIN-GUEST", greeter_id);
+    }
 }
 
 static void
index 6fb216ef7f8d44cc92bacf69879c2dacd21ffb6b..183858170af927536c4ffc7de2f9b574c0adbf75 100755 (executable)
@@ -200,6 +200,17 @@ def notify_hints (greeter):
         status_notify ('%s SHOW-MANUAL-LOGIN-HINT' % greeter_id)
     if not greeter.get_show_remote_login_hint ():
         status_notify ('%s SHOW-REMOTE-LOGIN-HINT=FALSE' % greeter_id)
+    timeout = greeter.get_autologin_timeout_hint ()
+    if greeter.get_autologin_user_hint () is not None:
+        if timeout != 0:
+            status_notify ('%s AUTOLOGIN-USER USERNAME=%s TIMEOUT=%d' % (greeter_id, greeter.get_autologin_user_hint (), timeout))
+        else:
+            status_notify ('%s AUTOLOGIN-USER USERNAME=%s' % (greeter_id, greeter.get_autologin_user_hint ()))
+    elif greeter.get_autologin_guest_hint ():
+        if timeout != 0:
+            status_notify ('%s AUTOLOGIN-GUEST TIMEOUT=%d' % (greeter_id, timeout))
+        else:
+            status_notify ('%s AUTOLOGIN-GUEST' % greeter_id)
 
 path = os.getenv ('LIGHTDM_TEST_ROOT') + '/.s'
 status_socket = socket.socket (socket.AF_UNIX, socket.SOCK_STREAM)
@@ -249,7 +260,7 @@ def authentication_complete_cb (greeter):
         status_notify ('%s AUTHENTICATION-COMPLETE AUTHENTICATED=%s' % (greeter_id, is_authenticated))
 
 def autologin_timer_expired_cb (greeter):
-    status_notify ('%s AUTOLOGIN-TIMER-EXPIRED' % greeter_id)
+    pass
 
 greeter = LightDM.Greeter ()
 greeter.connect ('show-message', show_message_cb)
index bf3222eab162417a582ad53398cffed6169b1d0c..6c6e4cab6aedb5dd139adbc14bd6b0941aaaf7ca 100644 (file)
@@ -51,7 +51,6 @@ void TestGreeter::authenticationComplete ()
 
 void TestGreeter::autologinTimerExpired ()
 {
-    status_notify ("%s AUTOLOGIN-TIMER-EXPIRED", greeter_id);
 }
 
 void TestGreeter::printHints ()
@@ -70,7 +69,21 @@ void TestGreeter::printHints ()
         status_notify ("%s SHOW-MANUAL-LOGIN-HINT", greeter_id);
     if (!showRemoteLoginHint ())
         status_notify ("%s SHOW-REMOTE-LOGIN-HINT=FALSE", greeter_id);
-
+    int timeout = autologinTimeoutHint ();
+    if (autologinUserHint () != "")
+    {
+        if (timeout != 0)
+            status_notify ("%s AUTOLOGIN-USER USERNAME=%s TIMEOUT=%d", greeter_id, greeter->autologinUserHint ().toAscii ().constData (), timeout);
+        else
+            status_notify ("%s AUTOLOGIN-USER USERNAME=%s", greeter_id, greeter->autologinUserHint ().toAscii ().constData ());
+    }
+    else if (autologinGuestHint ())
+    {
+        if (timeout != 0)
+            status_notify ("%s AUTOLOGIN-GUEST TIMEOUT=%d", greeter_id, timeout);
+        else
+            status_notify ("%s AUTOLOGIN-GUEST", greeter_id);
+    }
 }
 
 void TestGreeter::idle ()
@@ -256,6 +269,11 @@ main(int argc, char *argv[])
 
     status_connect (request_cb, greeter_id);
 
+    /* Workaround for Qt being confused by libsystem */
+#if QT_VERSION >= QT_VERSION_CHECK (5, 3, 0)
+    QCoreApplication::setSetuidAllowed (true);
+#endif  
+
     app = new QCoreApplication (argc, argv);
 
     signal (SIGINT, signal_cb);
index dc1a384da33b8f567a7e5a8b980f4b404467d7af..f1792fc2bd43c8560d6d78312f181be534d2b473 100644 (file)
@@ -463,7 +463,7 @@ handle_command (const gchar *command)
                                               g_variant_new ("(ss)", "org.freedesktop.DisplayManager", "Seats"),
                                               G_VARIANT_TYPE ("(v)"),
                                               G_DBUS_CALL_FLAGS_NONE,
-                                              1000,
+                                              G_MAXINT,
                                               NULL,
                                               NULL);
 
@@ -499,7 +499,7 @@ handle_command (const gchar *command)
                                               g_variant_new ("(ss)", "org.freedesktop.DisplayManager", "Sessions"),
                                               G_VARIANT_TYPE ("(v)"),
                                               G_DBUS_CALL_FLAGS_NONE,
-                                              1000,
+                                              G_MAXINT,
                                               NULL,
                                               NULL);
 
@@ -519,55 +519,132 @@ handle_command (const gchar *command)
         check_status (status->str);
         g_string_free (status, TRUE);
     }
+    else if (strcmp (name, "SEAT-CAN-SWITCH") == 0)
+    {
+        GVariant *result, *value;
+        gchar *status;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager/Seat0",
+                                              "org.freedesktop.DBus.Properties",
+                                              "Get",
+                                              g_variant_new ("(ss)", "org.freedesktop.DisplayManager.Seat", "CanSwitch"),
+                                              G_VARIANT_TYPE ("(v)"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              G_MAXINT,
+                                              NULL,
+                                              NULL);
+
+        g_variant_get (result, "(v)", &value);
+        status = g_strdup_printf ("RUNNER SEAT-CAN-SWITCH CAN-SWITCH=%s", g_variant_get_boolean (value) ? "TRUE" : "FALSE");
+        g_variant_unref (value);
+        g_variant_unref (result);
+        check_status (status);
+        g_free (status);
+    }
+    else if (strcmp (name, "SEAT-HAS-GUEST-ACCOUNT") == 0)
+    {
+        GVariant *result, *value;
+        gchar *status;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager/Seat0",
+                                              "org.freedesktop.DBus.Properties",
+                                              "Get",
+                                              g_variant_new ("(ss)", "org.freedesktop.DisplayManager.Seat", "HasGuestAccount"),
+                                              G_VARIANT_TYPE ("(v)"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              G_MAXINT,
+                                              NULL,
+                                              NULL);
+
+        g_variant_get (result, "(v)", &value);
+        status = g_strdup_printf ("RUNNER SEAT-HAS-GUEST-ACCOUNT HAS-GUEST-ACCOUNT=%s", g_variant_get_boolean (value) ? "TRUE" : "FALSE");
+        g_variant_unref (value);
+        g_variant_unref (result);
+        check_status (status);
+        g_free (status);
+    }
     else if (strcmp (name, "SWITCH-TO-GREETER") == 0)
     {
-        g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
-                                     "org.freedesktop.DisplayManager",
-                                     "/org/freedesktop/DisplayManager/Seat0",
-                                     "org.freedesktop.DisplayManager.Seat",
-                                     "SwitchToGreeter",
-                                     g_variant_new ("()"),
-                                     G_VARIANT_TYPE ("()"),
-                                     G_DBUS_CALL_FLAGS_NONE,
-                                     1000,
-                                     NULL,
-                                     NULL);
-        check_status ("RUNNER SWITCH-TO-GREETER");
+        GVariant *result;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager/Seat0",
+                                              "org.freedesktop.DisplayManager.Seat",
+                                              "SwitchToGreeter",
+                                              g_variant_new ("()"),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              G_MAXINT,
+                                              NULL,
+                                              NULL);
+        if (result)
+        {
+            check_status ("RUNNER SWITCH-TO-GREETER");
+            g_variant_unref (result);
+        }
+        else
+            check_status ("RUNNER SWITCH-TO-GREETER FAILED");
     }
     else if (strcmp (name, "SWITCH-TO-USER") == 0)
     {
-        gchar *status_text, *username;
+        GVariant *result;
+        const gchar *username;
 
         username = g_hash_table_lookup (params, "USERNAME");
-        g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
-                                     "org.freedesktop.DisplayManager",
-                                     "/org/freedesktop/DisplayManager/Seat0",
-                                     "org.freedesktop.DisplayManager.Seat",
-                                     "SwitchToUser",
-                                     g_variant_new ("(ss)", username, ""),
-                                     G_VARIANT_TYPE ("()"),
-                                     G_DBUS_CALL_FLAGS_NONE,
-                                     1000,
-                                     NULL,
-                                     NULL);
-        status_text = g_strdup_printf ("RUNNER SWITCH-TO-USER USERNAME=%s", username);
-        check_status (status_text);
-        g_free (status_text);
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager/Seat0",
+                                              "org.freedesktop.DisplayManager.Seat",
+                                              "SwitchToUser",
+                                              g_variant_new ("(ss)", username, ""),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              G_MAXINT,
+                                              NULL,
+                                              NULL);
+        if (result)
+        {
+            gchar *status_text;
+            status_text = g_strdup_printf ("RUNNER SWITCH-TO-USER USERNAME=%s", username);
+            check_status (status_text);
+            g_free (status_text);
+            g_variant_unref (result);
+        }
+        else
+        {
+            gchar *status_text;
+            status_text = g_strdup_printf ("RUNNER SWITCH-TO-USER USERNAME=%s FAILED", username);
+            check_status (status_text);
+            g_free (status_text);
+        }
     }
     else if (strcmp (name, "SWITCH-TO-GUEST") == 0)
     {
-        g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
-                                     "org.freedesktop.DisplayManager",
-                                     "/org/freedesktop/DisplayManager/Seat0",
-                                     "org.freedesktop.DisplayManager.Seat",
-                                     "SwitchToGuest",
-                                     g_variant_new ("(s)", ""),
-                                     G_VARIANT_TYPE ("()"),
-                                     G_DBUS_CALL_FLAGS_NONE,
-                                     1000,
-                                     NULL,
-                                     NULL);
-        check_status ("RUNNER SWITCH-TO-GUEST");
+        GVariant *result;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager/Seat0",
+                                              "org.freedesktop.DisplayManager.Seat",
+                                              "SwitchToGuest",
+                                              g_variant_new ("(s)", ""),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              G_MAXINT,
+                                              NULL,
+                                              NULL);
+        if (result)
+        {
+            check_status ("RUNNER SWITCH-TO-GUEST");
+            g_variant_unref (result);
+        }
+        else
+            check_status ("RUNNER SWITCH-TO-GUEST FAILED");
     }
     else if (strcmp (name, "STOP-DAEMON") == 0)
         stop_process (lightdm_process);
diff --git a/tests/test-autologin-pam-config b/tests/test-autologin-pam-config
new file mode 100755 (executable)
index 0000000..8746fb5
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner autologin-pam-config test-gobject-greeter
diff --git a/tests/test-autologin-timeout-logout b/tests/test-autologin-timeout-logout
new file mode 100755 (executable)
index 0000000..e72a443
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner autologin-timeout-logout test-gobject-greeter
diff --git a/tests/test-login-pam-config b/tests/test-login-pam-config
new file mode 100755 (executable)
index 0000000..e0320f1
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner login-pam-config test-gobject-greeter
diff --git a/tests/test-switch-to-greeter-disabled b/tests/test-switch-to-greeter-disabled
new file mode 100755 (executable)
index 0000000..8f64682
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-greeter-disabled test-gobject-greeter
diff --git a/tests/test-switch-to-guest-disabled b/tests/test-switch-to-guest-disabled
new file mode 100755 (executable)
index 0000000..11e41c7
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-guest-disabled test-gobject-greeter
diff --git a/tests/test-switch-to-user-disabled b/tests/test-switch-to-user-disabled
new file mode 100755 (executable)
index 0000000..c2cd749
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-user-disabled test-gobject-greeter