summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2012-08-17 12:13:57 -0400
committerMichael Terry <michael.terry@canonical.com>2012-08-17 12:13:57 -0400
commit902617f00b428cef10c524839e7d6940a03297d9 (patch)
treeb9b6ad352083a4a90dcc2a8c2296ed25ecc7cf89
parent70f4fd01ce49b9032e75302c2f4d90d78046a7db (diff)
parent4fb3abf0fe3c541d9d42183bf62029731bf4b027 (diff)
downloadlightdm-902617f00b428cef10c524839e7d6940a03297d9.tar.gz
merge from trunk
-rw-r--r--.bzrignore3
-rw-r--r--NEWS15
-rw-r--r--configure.ac4
-rw-r--r--data/Makefile.am5
-rw-r--r--data/lightdm.conf4
-rw-r--r--liblightdm-gobject/Makefile.am1
-rw-r--r--liblightdm-gobject/session.c50
-rw-r--r--liblightdm-gobject/user.c19
-rw-r--r--liblightdm-qt/QLightDM/greeter.h8
-rw-r--r--liblightdm-qt/greeter.cpp14
-rw-r--r--liblightdm-qt/sessionsmodel.cpp6
-rw-r--r--liblightdm-qt/usersmodel.cpp34
-rw-r--r--po/LINGUAS9
-rw-r--r--po/af.po100
-rw-r--r--po/an.po4
-rw-r--r--po/ar.po4
-rw-r--r--po/ast.po4
-rw-r--r--po/az.po4
-rw-r--r--po/be.po4
-rw-r--r--po/bg.po4
-rw-r--r--po/bn.po4
-rw-r--r--po/bo.po4
-rw-r--r--po/br.po4
-rw-r--r--po/bs.po4
-rw-r--r--po/ca.po4
-rw-r--r--po/ca@valencia.po13
-rw-r--r--po/cs.po4
-rw-r--r--po/da.po4
-rw-r--r--po/de.po4
-rw-r--r--po/el.po4
-rw-r--r--po/en_AU.po4
-rw-r--r--po/en_CA.po4
-rw-r--r--po/en_GB.po4
-rw-r--r--po/eo.po4
-rw-r--r--po/es.po6
-rw-r--r--po/et.po4
-rw-r--r--po/eu.po4
-rw-r--r--po/fa.po4
-rw-r--r--po/fi.po4
-rw-r--r--po/fo.po4
-rw-r--r--po/fr.po4
-rw-r--r--po/fy.po4
-rw-r--r--po/gd.po4
-rw-r--r--po/gl.po4
-rw-r--r--po/he.po4
-rw-r--r--po/hi.po4
-rw-r--r--po/hr.po4
-rw-r--r--po/hu.po4
-rw-r--r--po/ia.po8
-rw-r--r--po/id.po4
-rw-r--r--po/it.po4
-rw-r--r--po/ja.po4
-rw-r--r--po/kk.po4
-rw-r--r--po/km.po4
-rw-r--r--po/kn.po100
-rw-r--r--po/ko.po4
-rw-r--r--po/ku.po4
-rw-r--r--po/lb.po4
-rw-r--r--po/lt.po4
-rw-r--r--po/lv.po4
-rw-r--r--po/mhr.po4
-rw-r--r--po/mi.po100
-rw-r--r--po/ml.po4
-rw-r--r--po/mr.po100
-rw-r--r--po/ms.po4
-rw-r--r--po/my.po100
-rw-r--r--po/nb.po4
-rw-r--r--po/nl.po4
-rw-r--r--po/nn.po4
-rw-r--r--po/oc.po4
-rw-r--r--po/pa.po4
-rw-r--r--po/pl.po4
-rw-r--r--po/pt.po4
-rw-r--r--po/pt_BR.po4
-rw-r--r--po/ro.po4
-rw-r--r--po/ru.po4
-rw-r--r--po/sd.po4
-rw-r--r--po/shn.po4
-rw-r--r--po/si.po4
-rw-r--r--po/sk.po4
-rw-r--r--po/sl.po4
-rw-r--r--po/sq.po4
-rw-r--r--po/sr.po4
-rw-r--r--po/sv.po4
-rw-r--r--po/ta.po4
-rw-r--r--po/te.po4
-rw-r--r--po/th.po4
-rw-r--r--po/tr.po4
-rw-r--r--po/ug.po4
-rw-r--r--po/uk.po4
-rw-r--r--po/uz.po4
-rw-r--r--po/vi.po4
-rw-r--r--po/wae.po4
-rw-r--r--po/zh_CN.po4
-rw-r--r--po/zh_HK.po4
-rw-r--r--po/zh_TW.po4
-rw-r--r--src/display.c27
-rw-r--r--src/lightdm.c9
-rw-r--r--src/privileges.c27
-rw-r--r--src/process.c5
-rw-r--r--src/session-child.c58
-rw-r--r--src/session.c8
-rw-r--r--src/vt.c2
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/scripts/change-authentication.conf38
-rw-r--r--tests/scripts/restart-authentication.conf38
-rw-r--r--tests/src/libsystem.c17
-rwxr-xr-xtests/test-change-authentication2
-rwxr-xr-xtests/test-restart-authentication2
109 files changed, 1012 insertions, 224 deletions
diff --git a/.bzrignore b/.bzrignore
index c7d7ab08..dc84128b 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -41,7 +41,7 @@ greeters/qt/ui_*.h
liblightdm-gobject/*.gir
liblightdm-gobject/*.typelib
liblightdm-gobject/liblightdm-gobject-1.pc
-liblightdm-qt/liblightdm-qt-1.pc
+liblightdm-qt/liblightdm-qt-2.pc
liblightdm-qt/*_moc.cpp
m4/*
po/*.gmo
@@ -54,6 +54,7 @@ src/user-manager-glue.h
src/ldm-marshal.c
src/ldm-marshal.h
src/lightdm
+src/lightdm-guest-session-wrapper
tests/data/passwd
tests/src/*_moc.cpp
tests/src/dbus-env
diff --git a/NEWS b/NEWS
index c7a738e9..7d354f75 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,22 @@
+Overview of changes in lightdm 1.3.2
+
+ * Handle clearenv() not being defined
+ * Fix compilation with GCC 4.7
+ * Expose remaining properties in QLightDM::Greeter
+ * Fix utmp records being written before child process created
+
Overview of changes in lightdm 1.3.1
* Fix wrapper path in AppArmor profile (broken since 1.1.1)
* Add show-manual-login and allow-guest options to lightdm-set-defaults
+ * Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
+ * Add lock-memory option, enabled by default, to prevent paging memory
+ to disk.
+ * Write utmp records for sessions
+ * Install PAM configuration
+ * Run greeters inside the "lightdm-greeter" PAM service
+ * Handle setresgid and setresuid not being available
+ * Use xsession directory from lightdm.conf in liblightdm
Overview of changes in lightdm 1.2.0
diff --git a/configure.ac b/configure.ac
index 690ba6b6..f1be602f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(lightdm, 1.3.1~bzr)
+AC_INIT(lightdm, 1.3.2)
AC_CONFIG_MACRO_DIR(m4)
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE
@@ -21,6 +21,8 @@ dnl ###########################################################################
AC_CHECK_HEADERS(security/pam_appl.h, [], AC_MSG_ERROR(PAM not found))
+AC_CHECK_FUNCS(setresgid setresuid clearenv)
+
PKG_CHECK_MODULES(LIGHTDM, [
glib-2.0 >= 2.24
gio-2.0 >= 2.26
diff --git a/data/Makefile.am b/data/Makefile.am
index 376e2f13..a3cf496f 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -6,6 +6,11 @@ dist_conf_DATA = lightdm.conf users.conf keys.conf
dbusconfdir = $(sysconfdir)/dbus-1/system.d
dist_dbusconf_DATA = org.freedesktop.DisplayManager.conf
+pamdir = $(sysconfdir)/pam.d
+dist_pam_DATA = pam/lightdm \
+ pam/lightdm-autologin \
+ pam/lightdm-greeter
+
EXTRA_DIST = guest-session.apparmor
apparmor_profiledir = $(sysconfdir)/apparmor.d
diff --git a/data/lightdm.conf b/data/lightdm.conf
index 1a5accda..f3b7d353 100644
--- a/data/lightdm.conf
+++ b/data/lightdm.conf
@@ -5,6 +5,7 @@
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
+# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# log-directory = Directory to log information to
@@ -18,6 +19,7 @@
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
+#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#log-directory=/var/log/lightdm
@@ -29,6 +31,7 @@
#
# Seat defaults
#
+# type = Seat type (xlocal, xremote)
# 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
@@ -55,6 +58,7 @@
# exit-on-failure = True if the daemon should exit if this seat fails
#
[SeatDefaults]
+#type=xlocal
#xserver-command=X
#xserver-layout=
#xserver-config=
diff --git a/liblightdm-gobject/Makefile.am b/liblightdm-gobject/Makefile.am
index 93f190b8..8c0ce526 100644
--- a/liblightdm-gobject/Makefile.am
+++ b/liblightdm-gobject/Makefile.am
@@ -4,6 +4,7 @@ liblightdm_gobject_1_la_LDFLAGS = -export-symbols-regex \^lightdm_.*
liblightdm_gobject_1_la_LIBADD = $(LIBLIGHTDM_GOBJECT_LIBS)
liblightdm_gobject_1_la_CFLAGS = $(LIBLIGHTDM_GOBJECT_CFLAGS) \
$(WARN_CFLAGS) \
+ -DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \
-DXSESSIONS_DIR=\"$(datadir)/xsessions\"
mainheader_HEADERS = lightdm.h
diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c
index 3ebb8ce4..603ddb7f 100644
--- a/liblightdm-gobject/session.c
+++ b/liblightdm-gobject/session.c
@@ -78,6 +78,7 @@ load_session (GKeyFile *key_file, const gchar *key)
if (!full_path)
{
+ g_free (name);
g_free (domain);
return NULL;
}
@@ -109,17 +110,43 @@ static void
update_sessions (void)
{
GDir *directory;
+ gboolean result;
GError *error = NULL;
+ GKeyFile *config_key_file = NULL;
+ gchar *config_path = NULL;
+ gchar *xsessions_dir = g_strdup (XSESSIONS_DIR);
+
if (have_sessions)
return;
- directory = g_dir_open (XSESSIONS_DIR, 0, &error);
+ config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL);
+ config_key_file = g_key_file_new ();
+ result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error);
+ if (error)
+ g_warning ("Failed to open configuration file: %s", error->message);
+ g_clear_error (&error);
+ if (result)
+ {
+ gchar *xd_value = g_key_file_get_string (config_key_file, "LightDM", "xsessions-directory", NULL);
+ if (xd_value)
+ {
+ g_free (xsessions_dir);
+ xsessions_dir = xd_value;
+ }
+ }
+ g_key_file_free (config_key_file);
+ g_free (config_path);
+
+ directory = g_dir_open (xsessions_dir, 0, &error);
if (error)
g_warning ("Failed to open sessions directory: %s", error->message);
g_clear_error (&error);
if (!directory)
+ {
+ g_free (xsessions_dir);
return;
+ }
while (TRUE)
{
@@ -135,7 +162,7 @@ update_sessions (void)
if (!g_str_has_suffix (filename, ".desktop"))
continue;
- path = g_build_filename (XSESSIONS_DIR, filename, NULL);
+ path = g_build_filename (xsessions_dir, filename, NULL);
key_file = g_key_file_new ();
result = g_key_file_load_from_file (key_file, path, G_KEY_FILE_NONE, &error);
@@ -162,6 +189,7 @@ update_sessions (void)
}
g_dir_close (directory);
+ g_free (xsessions_dir);
have_sessions = TRUE;
}
@@ -181,7 +209,7 @@ lightdm_get_sessions (void)
}
/**
- * lightdm_session_get_key
+ * lightdm_session_get_key:
* @session: A #LightDMSession
*
* Get the key for a session
@@ -196,7 +224,7 @@ lightdm_session_get_key (LightDMSession *session)
}
/**
- * lightdm_session_get_name
+ * lightdm_session_get_name:
* @session: A #LightDMSession
*
* Get the name for a session
@@ -211,7 +239,7 @@ lightdm_session_get_name (LightDMSession *session)
}
/**
- * lightdm_session_get_comment
+ * lightdm_session_get_comment:
* @session: A #LightDMSession
*
* Get the comment for a session
@@ -266,6 +294,17 @@ lightdm_session_get_property (GObject *object,
}
static void
+lightdm_session_finalize (GObject *object)
+{
+ LightDMSession *self = LIGHTDM_SESSION (object);
+ LightDMSessionPrivate *priv = GET_PRIVATE (self);
+
+ g_free (priv->key);
+ g_free (priv->name);
+ g_free (priv->comment);
+}
+
+static void
lightdm_session_class_init (LightDMSessionClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -274,6 +313,7 @@ lightdm_session_class_init (LightDMSessionClass *klass)
object_class->set_property = lightdm_session_set_property;
object_class->get_property = lightdm_session_get_property;
+ object_class->finalize = lightdm_session_finalize;
g_object_class_install_property (object_class,
PROP_KEY,
diff --git a/liblightdm-gobject/user.c b/liblightdm-gobject/user.c
index f531a560..3b0741ff 100644
--- a/liblightdm-gobject/user.c
+++ b/liblightdm-gobject/user.c
@@ -1120,7 +1120,8 @@ load_dmrc (LightDMUser *user)
gchar *path;
//gboolean have_dmrc;
- priv->dmrc_file = g_key_file_new ();
+ if (!priv->dmrc_file)
+ priv->dmrc_file = g_key_file_new ();
/* Load from the user directory */
path = g_build_filename (priv->home_directory, ".dmrc", NULL);
@@ -1308,19 +1309,21 @@ load_accounts_service (LightDMUser *user)
static void
load_user_values (LightDMUser *user)
{
+ LightDMUserPrivate *priv = GET_USER_PRIVATE (user);
+
load_dmrc (user);
load_accounts_service (user); // overrides dmrc values
/* Ensure a few guarantees */
- if (GET_USER_PRIVATE (user)->layouts == NULL)
+ if (priv->layouts == NULL)
{
- GET_USER_PRIVATE (user)->layouts = g_malloc (sizeof (gchar));
- GET_USER_PRIVATE (user)->layouts[0] = NULL;
+ priv->layouts = g_malloc (sizeof (gchar *) * 1);
+ priv->layouts[0] = NULL;
}
}
/**
- * lightdm_user_get_language
+ * lightdm_user_get_language:
* @user: A #LightDMUser
*
* Get the language for a user.
@@ -1336,7 +1339,7 @@ lightdm_user_get_language (LightDMUser *user)
}
/**
- * lightdm_user_get_layout
+ * lightdm_user_get_layout:
* @user: A #LightDMUser
*
* Get the keyboard layout for a user.
@@ -1352,7 +1355,7 @@ lightdm_user_get_layout (LightDMUser *user)
}
/**
- * lightdm_user_get_layouts
+ * lightdm_user_get_layouts:
* @user: A #LightDMUser
*
* Get the configured keyboard layouts for a user.
@@ -1368,7 +1371,7 @@ lightdm_user_get_layouts (LightDMUser *user)
}
/**
- * lightdm_user_get_session
+ * lightdm_user_get_session:
* @user: A #LightDMUser
*
* Get the session for a user.
diff --git a/liblightdm-qt/QLightDM/greeter.h b/liblightdm-qt/QLightDM/greeter.h
index 9b69d7bb..ab296b5e 100644
--- a/liblightdm-qt/QLightDM/greeter.h
+++ b/liblightdm-qt/QLightDM/greeter.h
@@ -26,8 +26,16 @@ class Q_DECL_EXPORT Greeter : public QObject
Q_OBJECT
Q_PROPERTY(bool authenticated READ isAuthenticated ); //NOTFIY authenticationComplete
+ Q_PROPERTY(QString authenticationUser READ authenticationUser );
+ Q_PROPERTY(QString defaultSession READ defaultSessionHint CONSTANT);
+ Q_PROPERTY(QString selectUser READ selectUserHint CONSTANT);
+ Q_PROPERTY(bool selectGuest READ selectGuestHint CONSTANT);
Q_PROPERTY(QString hostname READ hostname CONSTANT);
+ Q_PROPERTY(bool hasGuestAccount READ hasGuestAccountHint CONSTANT);
+ Q_PROPERTY(bool locked READ lockHint CONSTANT);
+
+ Q_PROPERTY(QString hostname READ hostname CONSTANT);
public:
enum PromptType {
diff --git a/liblightdm-qt/greeter.cpp b/liblightdm-qt/greeter.cpp
index 55889f27..02e8cd8c 100644
--- a/liblightdm-qt/greeter.cpp
+++ b/liblightdm-qt/greeter.cpp
@@ -56,7 +56,7 @@ void GreeterPrivate::cb_showPrompt(LightDMGreeter *greeter, const gchar *text, L
Q_UNUSED(greeter);
GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
- QString message = QString::fromLocal8Bit(text);
+ QString message = QString::fromUtf8(text);
//FIXME prompt type
@@ -68,7 +68,7 @@ void GreeterPrivate::cb_showMessage(LightDMGreeter *greeter, const gchar *text,
Q_UNUSED(greeter);
GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
- QString message = QString::fromLocal8Bit(text);
+ QString message = QString::fromUtf8(text);
//FIXME prompt type
@@ -147,7 +147,7 @@ bool Greeter::isAuthenticated() const
QString Greeter::authenticationUser() const
{
Q_D(const Greeter);
- return QString::fromLocal8Bit(lightdm_greeter_get_authentication_user(d->ldmGreeter));
+ return QString::fromUtf8(lightdm_greeter_get_authentication_user(d->ldmGreeter));
}
void Greeter::setLanguage (const QString &language)
@@ -172,7 +172,7 @@ QString Greeter::getHint(const QString &name) const
QString Greeter::defaultSessionHint() const
{
Q_D(const Greeter);
- return QString::fromLocal8Bit(lightdm_greeter_get_default_session_hint(d->ldmGreeter));
+ return QString::fromUtf8(lightdm_greeter_get_default_session_hint(d->ldmGreeter));
}
bool Greeter::hideUsersHint() const
@@ -202,7 +202,7 @@ bool Greeter::hasGuestAccountHint() const
QString Greeter::selectUserHint() const
{
Q_D(const Greeter);
- return QString::fromLocal8Bit(lightdm_greeter_get_select_user_hint(d->ldmGreeter));
+ return QString::fromUtf8(lightdm_greeter_get_select_user_hint(d->ldmGreeter));
}
bool Greeter::selectGuestHint() const
@@ -214,7 +214,7 @@ bool Greeter::selectGuestHint() const
QString Greeter::autologinUserHint() const
{
Q_D(const Greeter);
- return QString::fromLocal8Bit(lightdm_greeter_get_autologin_user_hint(d->ldmGreeter));
+ return QString::fromUtf8(lightdm_greeter_get_autologin_user_hint(d->ldmGreeter));
}
bool Greeter::autologinGuestHint() const
@@ -231,7 +231,7 @@ int Greeter::autologinTimeoutHint() const
QString Greeter::hostname() const
{
- return QString::fromLocal8Bit(lightdm_get_hostname());
+ return QString::fromUtf8(lightdm_get_hostname());
}
#include "greeter_moc.cpp"
diff --git a/liblightdm-qt/sessionsmodel.cpp b/liblightdm-qt/sessionsmodel.cpp
index f1cc9505..a43d8d73 100644
--- a/liblightdm-qt/sessionsmodel.cpp
+++ b/liblightdm-qt/sessionsmodel.cpp
@@ -60,9 +60,9 @@ void SessionsModelPrivate::loadSessions()
Q_ASSERT(ldmSession);
SessionItem session;
- session.key = QString::fromLocal8Bit(lightdm_session_get_key(ldmSession));
- session.name = QString::fromLocal8Bit(lightdm_session_get_name(ldmSession));
- session.comment = QString::fromLocal8Bit(lightdm_session_get_comment(ldmSession));
+ session.key = QString::fromUtf8(lightdm_session_get_key(ldmSession));
+ session.name = QString::fromUtf8(lightdm_session_get_name(ldmSession));
+ session.comment = QString::fromUtf8(lightdm_session_get_comment(ldmSession));
qDebug() << "adding session" << session.key;
diff --git a/liblightdm-qt/usersmodel.cpp b/liblightdm-qt/usersmodel.cpp
index 187ff0ac..ca57c9ad 100644
--- a/liblightdm-qt/usersmodel.cpp
+++ b/liblightdm-qt/usersmodel.cpp
@@ -90,12 +90,12 @@ void UsersModelPrivate::loadUsers()
LightDMUser *ldmUser = static_cast<LightDMUser*>(item->data);
UserItem user;
- user.name = QString::fromLocal8Bit(lightdm_user_get_name(ldmUser));
- user.homeDirectory = QString::fromLocal8Bit(lightdm_user_get_home_directory(ldmUser));
- user.realName = QString::fromLocal8Bit(lightdm_user_get_real_name(ldmUser));
- user.image = QString::fromLocal8Bit(lightdm_user_get_image(ldmUser));
- user.background = QString::fromLocal8Bit(lightdm_user_get_background(ldmUser));
- user.session = QString::fromLocal8Bit(lightdm_user_get_session(ldmUser));
+ user.name = QString::fromUtf8(lightdm_user_get_name(ldmUser));
+ user.homeDirectory = QString::fromUtf8(lightdm_user_get_home_directory(ldmUser));
+ user.realName = QString::fromUtf8(lightdm_user_get_real_name(ldmUser));
+ user.image = QString::fromUtf8(lightdm_user_get_image(ldmUser));
+ user.background = QString::fromUtf8(lightdm_user_get_background(ldmUser));
+ user.session = QString::fromUtf8(lightdm_user_get_session(ldmUser));
user.isLoggedIn = lightdm_user_get_logged_in(ldmUser);
user.hasMessages = lightdm_user_get_has_messages(ldmUser);
users.append(user);
@@ -118,11 +118,11 @@ void UsersModelPrivate::cb_userAdded(LightDMUserList *user_list, LightDMUser *ld
that->q_func()->beginInsertRows(QModelIndex(), that->users.size(), that->users.size());
UserItem user;
- user.name = QString::fromLocal8Bit(lightdm_user_get_name(ldmUser));
- user.homeDirectory = QString::fromLocal8Bit(lightdm_user_get_home_directory(ldmUser));
- user.realName = QString::fromLocal8Bit(lightdm_user_get_real_name(ldmUser));
- user.image = QString::fromLocal8Bit(lightdm_user_get_image(ldmUser));
- user.background = QString::fromLocal8Bit(lightdm_user_get_background(ldmUser));
+ user.name = QString::fromUtf8(lightdm_user_get_name(ldmUser));
+ user.homeDirectory = QString::fromUtf8(lightdm_user_get_home_directory(ldmUser));
+ user.realName = QString::fromUtf8(lightdm_user_get_real_name(ldmUser));
+ user.image = QString::fromUtf8(lightdm_user_get_image(ldmUser));
+ user.background = QString::fromUtf8(lightdm_user_get_background(ldmUser));
user.isLoggedIn = lightdm_user_get_logged_in(ldmUser);
user.hasMessages = lightdm_user_get_has_messages(ldmUser);
that->users.append(user);
@@ -136,15 +136,15 @@ void UsersModelPrivate::cb_userChanged(LightDMUserList *user_list, LightDMUser *
Q_UNUSED(user_list)
UsersModelPrivate *that = static_cast<UsersModelPrivate*>(data);
- QString userToChange = QString::fromLocal8Bit(lightdm_user_get_name(ldmUser));
+ QString userToChange = QString::fromUtf8(lightdm_user_get_name(ldmUser));
for (int i=0;i<that->users.size();i++) {
if (that->users[i].name == userToChange) {
- that->users[i].homeDirectory = QString::fromLocal8Bit(lightdm_user_get_home_directory(ldmUser));
- that->users[i].realName = QString::fromLocal8Bit(lightdm_user_get_real_name(ldmUser));
- that->users[i].image = QString::fromLocal8Bit(lightdm_user_get_image(ldmUser));
- that->users[i].background = QString::fromLocal8Bit(lightdm_user_get_background(ldmUser));
+ that->users[i].homeDirectory = QString::fromUtf8(lightdm_user_get_home_directory(ldmUser));
+ that->users[i].realName = QString::fromUtf8(lightdm_user_get_real_name(ldmUser));
+ that->users[i].image = QString::fromUtf8(lightdm_user_get_image(ldmUser));
+ that->users[i].background = QString::fromUtf8(lightdm_user_get_background(ldmUser));
that->users[i].isLoggedIn = lightdm_user_get_logged_in(ldmUser);
that->users[i].hasMessages = lightdm_user_get_has_messages(ldmUser);
@@ -161,7 +161,7 @@ void UsersModelPrivate::cb_userRemoved(LightDMUserList *user_list, LightDMUser *
Q_UNUSED(user_list)
UsersModelPrivate *that = static_cast<UsersModelPrivate*>(data);
- QString userToRemove = QString::fromLocal8Bit(lightdm_user_get_name(ldmUser));
+ QString userToRemove = QString::fromUtf8(lightdm_user_get_name(ldmUser));
for (int i=0;i<that->users.size();i++) {
if (that->users[i].name == userToRemove) {
diff --git a/po/LINGUAS b/po/LINGUAS
index 40bd1a56..17ef8db4 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,5 +1,8 @@
+af
+an
ar
ast
+az
be
bg
bn
@@ -19,6 +22,7 @@ eo
es
et
eu
+fa
fi
fo
fr
@@ -35,18 +39,23 @@ it
ja
kk
km
+kn
ko
ku
lb
lt
lv
mhr
+mi
ml
+mr
ms
+my
nb
nl
nn
oc
+pa
pl
pt_BR
pt
diff --git a/po/af.po b/po/af.po
new file mode 100644
index 00000000..53f4cb61
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,100 @@
+# Afrikaans translation for lightdm
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-06 11:05+0000\n"
+"PO-Revision-Date: 2012-07-24 11:54+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Afrikaans <af@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: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:409
+msgid "Are you sure you want to close all programs and restart the computer?"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:1
+msgid "Cancel"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:410
+msgid "Restart"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:434
+msgid ""
+"Are you sure you want to close all programs and shutdown the computer?"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:435
+msgid "Shutdown"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:4
+msgid "Large Font"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:611
+msgid "High Constrast"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:615
+msgid "Options"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:620
+msgid "Language"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:646
+msgid "Keyboard Layout"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:668
+msgid "Session"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:8
+msgid "Suspend"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:2
+msgid "Hibernate"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:6
+msgid "Restart..."
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:7
+msgid "Shutdown..."
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:100
+#, c-format
+msgid ""
+"Usage:\n"
+" %s - Display Manager"
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:106
+#, c-format
+msgid ""
+"Help Options:\n"
+" -c, --config <file> Use configuration file\n"
+" --pid-file <file> File to write PID into\n"
+" -d, --debug Print debugging messages\n"
+" --test-mode Run as unprivileged user\n"
+" -v, --version Show release version\n"
+" -h, --help Show help options"
+msgstr ""
diff --git a/po/an.po b/po/an.po
index 7746ab45..b7f52b3b 100644
--- a/po/an.po
+++ b/po/an.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ar.po b/po/ar.po
index ad5ae738..51363cb6 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ast.po b/po/ast.po
index d2c79716..14cc2dc4 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/az.po b/po/az.po
index 7e376b72..7f0bb0cb 100644
--- a/po/az.po
+++ b/po/az.po
@@ -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: 2012-04-15 04:49+0000\n"
-"X-Generator: Launchpad (build 15070)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/be.po b/po/be.po
index 4af14e1e..98bf3e67 100644
--- a/po/be.po
+++ b/po/be.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bg.po b/po/bg.po
index 88f6395b..793e4e5a 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bn.po b/po/bn.po
index 304c1377..9f5e5db0 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bo.po b/po/bo.po
index 5a56b481..42153360 100644
--- a/po/bo.po
+++ b/po/bo.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/br.po b/po/br.po
index 50d6e749..b7edcc86 100644
--- a/po/br.po
+++ b/po/br.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bs.po b/po/bs.po
index e75b609d..a1195fb7 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -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: 2012-03-17 05:01+0000\n"
-"X-Generator: Launchpad (build 14951)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ca.po b/po/ca.po
index 5e9e5790..16e6c717 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
index 399f11cc..a3fd5945 100644
--- a/po/ca@valencia.po
+++ b/po/ca@valencia.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
@@ -33,11 +33,12 @@ msgstr "Reinicia"
#: ../greeters/gtk/lightdm-gtk-greeter.c:434
msgid ""
"Are you sure you want to close all programs and shutdown the computer?"
-msgstr "Esteu segur que voleu tancar tots els programes i parar l'ordinador?"
+msgstr ""
+"Esteu segur que voleu tancar tots els programes i aturar l'ordinador?"
#: ../greeters/gtk/lightdm-gtk-greeter.c:435
msgid "Shutdown"
-msgstr "Para"
+msgstr "Atura"
#: ../greeters/gtk/greeter.ui.h:4
msgid "Large Font"
@@ -65,7 +66,7 @@ msgstr ""
#: ../greeters/gtk/greeter.ui.h:8
msgid "Suspend"
-msgstr "Para temporalment"
+msgstr "Atura temporalment"
#: ../greeters/gtk/greeter.ui.h:2
msgid "Hibernate"
@@ -77,7 +78,7 @@ msgstr "Reinicia..."
#: ../greeters/gtk/greeter.ui.h:7
msgid "Shutdown..."
-msgstr "Para..."
+msgstr "Atura..."
#. Description on how to use Light Display Manager displayed on command-line
#: ../src/lightdm.c:100
diff --git a/po/cs.po b/po/cs.po
index eee54bc1..67581626 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/da.po b/po/da.po
index 1f6487d9..307ab072 100644
--- a/po/da.po
+++ b/po/da.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/de.po b/po/de.po
index 09098bab..dbfda35e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/el.po b/po/el.po
index b842f2b6..27a5196c 100644
--- a/po/el.po
+++ b/po/el.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_AU.po b/po/en_AU.po
index 71868dc5..a68d516c 100644
--- a/po/en_AU.po
+++ b/po/en_AU.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_CA.po b/po/en_CA.po
index 0880e79b..54a7aeef 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_GB.po b/po/en_GB.po
index 4993d8d4..77821e35 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/eo.po b/po/eo.po
index 7ab76b66..bf0d9f02 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -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: 2012-03-25 05:14+0000\n"
-"X-Generator: Launchpad (build 14981)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/es.po b/po/es.po
index 6e76f270..dfb505d6 100644
--- a/po/es.po
+++ b/po/es.po
@@ -9,13 +9,13 @@ msgstr ""
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-12-06 11:05+0000\n"
"PO-Revision-Date: 2010-12-31 05:34+0000\n"
-"Last-Translator: Fitoschido <fitoschido@gmail.com>\n"
+"Last-Translator: Adolfo Jayme Barrientos <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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/et.po b/po/et.po
index d4aebc81..7c5c0048 100644
--- a/po/et.po
+++ b/po/et.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/eu.po b/po/eu.po
index faae9643..39891d2a 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fa.po b/po/fa.po
index 2f27e4f0..81972c32 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -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: 2012-03-25 05:14+0000\n"
-"X-Generator: Launchpad (build 14981)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fi.po b/po/fi.po
index a3649776..fb42130e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fo.po b/po/fo.po
index 1d90e33c..a734762a 100644
--- a/po/fo.po
+++ b/po/fo.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fr.po b/po/fr.po
index 4854cd1f..a2a1f286 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fy.po b/po/fy.po
index cc43ceeb..0c7bf087 100644
--- a/po/fy.po
+++ b/po/fy.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/gd.po b/po/gd.po
index 984933b7..bc1610b3 100644
--- a/po/gd.po
+++ b/po/gd.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/gl.po b/po/gl.po
index 39b3763e..9656128a 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/he.po b/po/he.po
index d33caf24..deb54b4d 100644
--- a/po/he.po
+++ b/po/he.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hi.po b/po/hi.po
index d803da64..9913c62e 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -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: 2012-03-29 04:47+0000\n"
-"X-Generator: Launchpad (build 15032)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hr.po b/po/hr.po
index 9f135e8c..878f5348 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hu.po b/po/hu.po
index 564fac7a..8f1ed121 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ia.po b/po/ia.po
index 1f564e03..79dadf5d 100644
--- a/po/ia.po
+++ b/po/ia.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: lightdm\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-12-06 11:05+0000\n"
-"PO-Revision-Date: 2011-09-13 17:57+0000\n"
+"PO-Revision-Date: 2012-05-11 04:43+0000\n"
"Last-Translator: Emilio Sepulveda <emilio@chilemoz.org>\n"
"Language-Team: Interlingua <ia@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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
@@ -53,7 +53,7 @@ msgstr "Optiones"
#: ../greeters/ldm-gtk-greeter.c:620
msgid "Language"
-msgstr "Linguage"
+msgstr "Lingua"
#: ../greeters/ldm-gtk-greeter.c:646
msgid "Keyboard Layout"
diff --git a/po/id.po b/po/id.po
index dc778849..2927f07b 100644
--- a/po/id.po
+++ b/po/id.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/it.po b/po/it.po
index 90dda457..9f31a9ff 100644
--- a/po/it.po
+++ b/po/it.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ja.po b/po/ja.po
index af20d18e..11f6d6d8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/kk.po b/po/kk.po
index aec30858..7abe1ee4 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/km.po b/po/km.po
index b978f285..3b3d30b1 100644
--- a/po/km.po
+++ b/po/km.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 00000000..b962dc83
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,100 @@
+# Kannada translation for lightdm
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-06 11:05+0000\n"
+"PO-Revision-Date: 2012-06-01 09:17+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Kannada <kn@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: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:409
+msgid "Are you sure you want to close all programs and restart the computer?"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:1
+msgid "Cancel"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:410
+msgid "Restart"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:434
+msgid ""
+"Are you sure you want to close all programs and shutdown the computer?"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:435
+msgid "Shutdown"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:4
+msgid "Large Font"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:611
+msgid "High Constrast"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:615
+msgid "Options"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:620
+msgid "Language"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:646
+msgid "Keyboard Layout"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:668
+msgid "Session"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:8
+msgid "Suspend"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:2
+msgid "Hibernate"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:6
+msgid "Restart..."
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:7
+msgid "Shutdown..."
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:100
+#, c-format
+msgid ""
+"Usage:\n"
+" %s - Display Manager"
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:106
+#, c-format
+msgid ""
+"Help Options:\n"
+" -c, --config <file> Use configuration file\n"
+" --pid-file <file> File to write PID into\n"
+" -d, --debug Print debugging messages\n"
+" --test-mode Run as unprivileged user\n"
+" -v, --version Show release version\n"
+" -h, --help Show help options"
+msgstr ""
diff --git a/po/ko.po b/po/ko.po
index 71e8b457..5c8cf455 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ku.po b/po/ku.po
index 5bdf390f..66b3d3dc 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lb.po b/po/lb.po
index eda7d01c..79077a55 100644
--- a/po/lb.po
+++ b/po/lb.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lt.po b/po/lt.po
index 461afde4..73a42f7b 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lv.po b/po/lv.po
index 1a5774f7..ef41e653 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mhr.po b/po/mhr.po
index 206758cb..c3d21435 100644
--- a/po/mhr.po
+++ b/po/mhr.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mi.po b/po/mi.po
new file mode 100644
index 00000000..2d735ff9
--- /dev/null
+++ b/po/mi.po
@@ -0,0 +1,100 @@
+# Maori translation for lightdm
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-06 11:05+0000\n"
+"PO-Revision-Date: 2012-07-24 01:41+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Maori <mi@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: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:409
+msgid "Are you sure you want to close all programs and restart the computer?"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:1
+msgid "Cancel"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:410
+msgid "Restart"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:434
+msgid ""
+"Are you sure you want to close all programs and shutdown the computer?"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:435
+msgid "Shutdown"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:4
+msgid "Large Font"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:611
+msgid "High Constrast"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:615
+msgid "Options"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:620
+msgid "Language"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:646
+msgid "Keyboard Layout"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:668
+msgid "Session"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:8
+msgid "Suspend"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:2
+msgid "Hibernate"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:6
+msgid "Restart..."
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:7
+msgid "Shutdown..."
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:100
+#, c-format
+msgid ""
+"Usage:\n"
+" %s - Display Manager"
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:106
+#, c-format
+msgid ""
+"Help Options:\n"
+" -c, --config <file> Use configuration file\n"
+" --pid-file <file> File to write PID into\n"
+" -d, --debug Print debugging messages\n"
+" --test-mode Run as unprivileged user\n"
+" -v, --version Show release version\n"
+" -h, --help Show help options"
+msgstr ""
diff --git a/po/ml.po b/po/ml.po
index 29d13d22..8c00654c 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 00000000..04f0e28c
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,100 @@
+# Marathi translation for lightdm
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-06 11:05+0000\n"
+"PO-Revision-Date: 2012-06-20 03:35+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Marathi <mr@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: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:409
+msgid "Are you sure you want to close all programs and restart the computer?"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:1
+msgid "Cancel"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:410
+msgid "Restart"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:434
+msgid ""
+"Are you sure you want to close all programs and shutdown the computer?"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:435
+msgid "Shutdown"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:4
+msgid "Large Font"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:611
+msgid "High Constrast"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:615
+msgid "Options"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:620
+msgid "Language"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:646
+msgid "Keyboard Layout"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:668
+msgid "Session"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:8
+msgid "Suspend"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:2
+msgid "Hibernate"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:6
+msgid "Restart..."
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:7
+msgid "Shutdown..."
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:100
+#, c-format
+msgid ""
+"Usage:\n"
+" %s - Display Manager"
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:106
+#, c-format
+msgid ""
+"Help Options:\n"
+" -c, --config <file> Use configuration file\n"
+" --pid-file <file> File to write PID into\n"
+" -d, --debug Print debugging messages\n"
+" --test-mode Run as unprivileged user\n"
+" -v, --version Show release version\n"
+" -h, --help Show help options"
+msgstr ""
diff --git a/po/ms.po b/po/ms.po
index 72c7def8..5915bcf8 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/my.po b/po/my.po
new file mode 100644
index 00000000..aee8420e
--- /dev/null
+++ b/po/my.po
@@ -0,0 +1,100 @@
+# Burmese translation for lightdm
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the lightdm package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lightdm\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-06 11:05+0000\n"
+"PO-Revision-Date: 2012-05-18 06:50+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Burmese <my@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: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:409
+msgid "Are you sure you want to close all programs and restart the computer?"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:1
+msgid "Cancel"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:410
+msgid "Restart"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:434
+msgid ""
+"Are you sure you want to close all programs and shutdown the computer?"
+msgstr ""
+
+#: ../greeters/gtk/lightdm-gtk-greeter.c:435
+msgid "Shutdown"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:4
+msgid "Large Font"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:611
+msgid "High Constrast"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:615
+msgid "Options"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:620
+msgid "Language"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:646
+msgid "Keyboard Layout"
+msgstr ""
+
+#: ../greeters/ldm-gtk-greeter.c:668
+msgid "Session"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:8
+msgid "Suspend"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:2
+msgid "Hibernate"
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:6
+msgid "Restart..."
+msgstr ""
+
+#: ../greeters/gtk/greeter.ui.h:7
+msgid "Shutdown..."
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:100
+#, c-format
+msgid ""
+"Usage:\n"
+" %s - Display Manager"
+msgstr ""
+
+#. Description on how to use Light Display Manager displayed on command-line
+#: ../src/lightdm.c:106
+#, c-format
+msgid ""
+"Help Options:\n"
+" -c, --config <file> Use configuration file\n"
+" --pid-file <file> File to write PID into\n"
+" -d, --debug Print debugging messages\n"
+" --test-mode Run as unprivileged user\n"
+" -v, --version Show release version\n"
+" -h, --help Show help options"
+msgstr ""
diff --git a/po/nb.po b/po/nb.po
index a7a0ef33..85583f99 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/nl.po b/po/nl.po
index 6c9c2b1f..b32c9660 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/nn.po b/po/nn.po
index d9d9acfd..0ba3e90b 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/oc.po b/po/oc.po
index d2063129..1e7cbcce 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pa.po b/po/pa.po
index 9f6da0e1..44ea68ff 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -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: 2012-04-07 05:03+0000\n"
-"X-Generator: Launchpad (build 15060)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pl.po b/po/pl.po
index b6b0bd0f..b681fad1 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pt.po b/po/pt.po
index 90d190f0..26e240a8 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 7e2796f0..2f713a28 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ro.po b/po/ro.po
index d51543c1..c71ba613 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ru.po b/po/ru.po
index d66d2b54..ca211449 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sd.po b/po/sd.po
index eacecd67..c6549d5d 100644
--- a/po/sd.po
+++ b/po/sd.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/shn.po b/po/shn.po
index e3d4392f..d7ee752a 100644
--- a/po/shn.po
+++ b/po/shn.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/si.po b/po/si.po
index 42925332..f6c38bb2 100644
--- a/po/si.po
+++ b/po/si.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sk.po b/po/sk.po
index fb107247..9d9b372d 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sl.po b/po/sl.po
index a405f96b..09fc6aa9 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sq.po b/po/sq.po
index 4731b299..d4b784f5 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sr.po b/po/sr.po
index 0425181a..cfc15ed8 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
"Language: sr\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
diff --git a/po/sv.po b/po/sv.po
index b6a211c2..c739d461 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ta.po b/po/ta.po
index 79b4308c..926043ee 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/te.po b/po/te.po
index 87d8f884..425b1a61 100644
--- a/po/te.po
+++ b/po/te.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/th.po b/po/th.po
index 2614c8cd..eb51f43c 100644
--- a/po/th.po
+++ b/po/th.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/tr.po b/po/tr.po
index 4316db39..2234a97e 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ug.po b/po/ug.po
index 5821ce0c..94ca64fb 100644
--- a/po/ug.po
+++ b/po/ug.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/uk.po b/po/uk.po
index 27310420..b3800c19 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/uz.po b/po/uz.po
index 0354730c..2be5bc9c 100644
--- a/po/uz.po
+++ b/po/uz.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/vi.po b/po/vi.po
index d55c80e9..6748d749 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/wae.po b/po/wae.po
index 560796e8..ff114a79 100644
--- a/po/wae.po
+++ b/po/wae.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 69425f07..1fa64b3d 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index aebd811d..954ef06b 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 4d16c583..16cd46f7 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -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: 2012-03-12 04:44+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:59+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/src/display.c b/src/display.c
index 523467e2..9078c9f5 100644
--- a/src/display.c
+++ b/src/display.c
@@ -67,12 +67,6 @@ struct DisplayPrivate
/* Program to run sessions through */
gchar *session_wrapper;
- /* PAM service to authenticate against */
- gchar *pam_service;
-
- /* PAM service to authenticate against for automatic logins */
- gchar *pam_autologin_service;
-
/* TRUE if in a user session */
gboolean in_user_session;
@@ -110,6 +104,11 @@ struct DisplayPrivate
gboolean stopped;
};
+/* PAM services to use */
+#define GREETER_SERVICE "lightdm-greeter"
+#define USER_SERVICE "lightdm"
+#define AUTOLOGIN_SERVICE "lightdm-autologin"
+
G_DEFINE_TYPE (Display, display, G_TYPE_OBJECT);
static void greeter_session_stopped_cb (Session *session, Display *display);
@@ -402,7 +401,7 @@ start_greeter (Display *display)
g_signal_connect (display->priv->session, "authentication-complete", G_CALLBACK (greeter_authentication_complete_cb), display);
/* Make communication link to greeter that will run on this session */
- display->priv->greeter = greeter_new (display->priv->session, display->priv->pam_service);
+ display->priv->greeter = greeter_new (display->priv->session, USER_SERVICE);
g_signal_connect (G_OBJECT (display->priv->greeter), "connected", G_CALLBACK (greeter_connected_cb), display);
g_signal_connect (G_OBJECT (display->priv->greeter), "start-authentication", G_CALLBACK (greeter_start_authentication_cb), display);
g_signal_connect (G_OBJECT (display->priv->greeter), "start-session", G_CALLBACK (greeter_start_session_cb), display);
@@ -448,7 +447,7 @@ start_greeter (Display *display)
}
g_signal_connect_after (display->priv->session, "stopped", G_CALLBACK (greeter_session_stopped_cb), display);
- result = greeter_start (display->priv->greeter, display->priv->pam_service, greeter_user);
+ result = greeter_start (display->priv->greeter, GREETER_SERVICE, greeter_user);
g_free (greeter_user);
if (!result)
@@ -605,7 +604,7 @@ greeter_session_stopped_cb (Session *session, Display *display)
{
/* If guest, then start a new autologin guest session (so can setup account) */
if (greeter_get_guest_authenticated (display->priv->greeter))
- result = autologin_guest (display, display->priv->pam_autologin_service, FALSE);
+ result = autologin_guest (display, AUTOLOGIN_SERVICE, FALSE);
/* Otherwise, use the session the greeter has authenticated */
else
{
@@ -773,17 +772,17 @@ display_server_ready_cb (DisplayServer *display_server, Display *display)
if (display->priv->autologin_guest)
{
g_debug ("Automatically logging in as guest");
- result = autologin_guest (display, display->priv->pam_autologin_service, TRUE);
+ result = autologin_guest (display, AUTOLOGIN_SERVICE, TRUE);
}
else if (display->priv->autologin_user)
{
g_debug ("Automatically logging in user %s", display->priv->autologin_user);
- result = autologin (display, display->priv->autologin_user, display->priv->pam_autologin_service, TRUE);
+ result = autologin (display, display->priv->autologin_user, AUTOLOGIN_SERVICE, TRUE);
}
else if (display->priv->select_user_hint)
{
g_debug ("Logging in user %s", display->priv->select_user_hint);
- result = autologin (display, display->priv->select_user_hint, display->priv->pam_service, TRUE);
+ result = autologin (display, display->priv->select_user_hint, USER_SERVICE, TRUE);
}
/* If no session started, start a greeter */
@@ -909,8 +908,6 @@ static void
display_init (Display *display)
{
display->priv = G_TYPE_INSTANCE_GET_PRIVATE (display, DISPLAY_TYPE, DisplayPrivate);
- display->priv->pam_service = g_strdup ("lightdm");
- display->priv->pam_autologin_service = g_strdup ("lightdm-autologin");
}
static void
@@ -932,8 +929,6 @@ display_finalize (GObject *object)
g_object_unref (self->priv->greeter);
}
g_free (self->priv->session_wrapper);
- g_free (self->priv->pam_service);
- g_free (self->priv->pam_autologin_service);
if (self->priv->session)
{
g_signal_handlers_disconnect_matched (self->priv->session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self);
diff --git a/src/lightdm.c b/src/lightdm.c
index f7aa0506..dce89f54 100644
--- a/src/lightdm.c
+++ b/src/lightdm.c
@@ -19,6 +19,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
+#include <sys/mman.h>
#include "configuration.h"
#include "display-manager.h"
@@ -989,6 +990,8 @@ main (int argc, char **argv)
config_set_string (config_get_instance (), "LightDM", "guest-account-script", "guest-account");
if (!config_has_key (config_get_instance (), "LightDM", "greeter-user"))
config_set_string (config_get_instance (), "LightDM", "greeter-user", GREETER_USER);
+ if (!config_has_key (config_get_instance (), "LightDM", "lock-memory"))
+ 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", "xserver-command"))
@@ -1064,6 +1067,12 @@ main (int argc, char **argv)
NULL,
NULL);
+ if (config_get_boolean (config_get_instance (), "LightDM", "lock-memory"))
+ {
+ /* Protect memory from being paged to disk, as we deal with passwords */
+ mlockall (MCL_CURRENT | MCL_FUTURE);
+ }
+
if (getuid () != 0)
g_debug ("Running in user mode");
if (getenv ("DISPLAY"))
diff --git a/src/privileges.c b/src/privileges.c
index 1f87b4f2..c7f4ef00 100644
--- a/src/privileges.c
+++ b/src/privileges.c
@@ -12,6 +12,7 @@
/* for setres*id() */
#define _GNU_SOURCE
+#include <config.h>
#include "privileges.h"
void
@@ -20,14 +21,38 @@ privileges_drop (User *user)
g_return_if_fail (user != NULL);
g_debug ("Dropping privileges to uid %i", user_get_uid (user));
+#ifdef HAVE_SETRESGID
+ g_debug ("Calling setresgid");
g_assert (setresgid (user_get_gid (user), user_get_gid (user), -1) == 0);
+#else
+ g_assert (setgid (user_get_gid (user)) == 0);
+ g_assert (setegid (user_get_gid (user)) == 0);
+#endif
+#ifdef HAVE_SETRESUID
+ g_debug ("Calling setresuid");
g_assert (setresuid (user_get_uid (user), user_get_uid (user), -1) == 0);
+#else
+ g_assert (setuid (user_get_uid (user)) == 0);
+ g_assert (seteuid (user_get_uid (user)) == 0);
+#endif
}
void
privileges_reclaim (void)
{
g_debug ("Restoring privileges");
+#ifdef HAVE_SETRESUID
+ g_debug ("Calling setresuid");
g_assert (setresuid (0, 0, -1) == 0);
- g_assert (setresgid (0, 0, -1) == 0);
+#else
+ g_assert (setuid (0) == 0);
+ g_assert (seteuid (0) == 0);
+#endif
+#ifdef HAVE_SETRESGID
+ g_debug ("Calling setresgid");
+ g_assert (setresgid (0, 0, -1) == 0);
+#else
+ g_assert (setgid (0) == 0);
+ g_assert (setegid (0) == 0);
+#endif
}
diff --git a/src/process.c b/src/process.c
index 2910cd99..a4246659 100644
--- a/src/process.c
+++ b/src/process.c
@@ -18,6 +18,7 @@
#include <signal.h>
#include <grp.h>
#include <glib/gstdio.h>
+#include <config.h>
#include "process.h"
@@ -158,7 +159,11 @@ process_run (Process *process)
}
if (process->priv->clear_environment)
+#ifdef HAVE_CLEARENV
clearenv ();
+#else
+ environ = NULL;
+#endif
g_hash_table_iter_init (&iter, process->priv->env);
while (g_hash_table_iter_next (&iter, &key, &value))
diff --git a/src/session-child.c b/src/session-child.c
index b04ae2d9..628d8faf 100644
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -11,6 +11,7 @@
#include <grp.h>
#include <glib.h>
#include <security/pam_appl.h>
+#include <utmpx.h>
#include "session-child.h"
#include "session.h"
@@ -255,11 +256,15 @@ session_child_run (int argc, char **argv)
}
if (xdisplay)
{
+#ifdef PAM_XDISPLAY
pam_set_item (pam_handle, PAM_XDISPLAY, xdisplay);
+#endif
pam_set_item (pam_handle, PAM_TTY, xdisplay);
}
else if (tty)
pam_set_item (pam_handle, PAM_TTY, tty);
+
+#ifdef PAM_XAUTHDATA
if (xauthority)
{
struct pam_xauth_data value;
@@ -270,6 +275,7 @@ session_child_run (int argc, char **argv)
value.datalen = xauth_get_authorization_data_length (xauthority);
pam_set_item (pam_handle, PAM_XAUTHDATA, &value);
}
+#endif
/* Authenticate */
if (do_authenticate)
@@ -522,8 +528,60 @@ session_child_run (int argc, char **argv)
/* Wait for the command to complete (blocks) */
if (child_pid > 0)
{
+ /* Log to utmp */
+ if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
+ {
+ struct utmpx ut;
+ struct timeval tv;
+
+ memset (&ut, 0, sizeof (ut));
+ ut.ut_type = USER_PROCESS;
+ ut.ut_pid = child_pid;
+ strncpy (ut.ut_line, tty + strlen ("/dev/"), sizeof (ut.ut_line));
+ strncpy (ut.ut_id, xdisplay, sizeof (ut.ut_id));
+ strncpy (ut.ut_user, username, sizeof (ut.ut_user));
+ if (xdisplay)
+ strncpy (ut.ut_host, xdisplay, sizeof (ut.ut_host));
+ else if (remote_host_name)
+ strncpy (ut.ut_host, remote_host_name, sizeof (ut.ut_host));
+ gettimeofday (&tv, NULL);
+ ut.ut_tv.tv_sec = tv.tv_sec;
+ ut.ut_tv.tv_usec = tv.tv_usec;
+
+ setutxent ();
+ if (!pututxline (&ut))
+ g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
+ endutxent ();
+ }
+
waitpid (child_pid, &return_code, 0);
child_pid = 0;
+
+ /* Log to utmp */
+ if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
+ {
+ struct utmpx ut;
+ struct timeval tv;
+
+ memset (&ut, 0, sizeof (ut));
+ ut.ut_type = DEAD_PROCESS;
+ ut.ut_pid = child_pid;
+ strncpy (ut.ut_line, tty + strlen ("/dev/"), sizeof (ut.ut_line));
+ strncpy (ut.ut_id, xdisplay, sizeof (ut.ut_id));
+ strncpy (ut.ut_user, username, sizeof (ut.ut_user));
+ if (xdisplay)
+ strncpy (ut.ut_host, xdisplay, sizeof (ut.ut_host));
+ else if (remote_host_name)
+ strncpy (ut.ut_host, remote_host_name, sizeof (ut.ut_host));
+ gettimeofday (&tv, NULL);
+ ut.ut_tv.tv_sec = tv.tv_sec;
+ ut.ut_tv.tv_usec = tv.tv_usec;
+
+ setutxent ();
+ if (!pututxline (&ut))
+ g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
+ endutxent ();
+ }
}
/* Remove X authority */
diff --git a/src/session.c b/src/session.c
index 473ef92a..3bf34d6f 100644
--- a/src/session.c
+++ b/src/session.c
@@ -234,6 +234,9 @@ session_watch_cb (GPid pid, gint status, gpointer data)
}
g_signal_emit (G_OBJECT (session), signals[STOPPED], 0);
+
+ /* Drop our reference on the child process, it has terminated */
+ g_object_unref (session);
}
static gboolean
@@ -362,6 +365,11 @@ session_start (Session *session, const gchar *service, const gchar *username, gb
_exit (EXIT_FAILURE);
}
+ /* Hold a reference on this object until the child process terminates so we
+ * can handle the watch callback even if it is no longer used. Otherwise a
+ * zombie process will remain */
+ g_object_ref (session);
+
/* Listen for session termination */
session->priv->authentication_started = TRUE;
session->priv->child_watch = g_child_watch_add (session->priv->pid, session_watch_cb, session);
diff --git a/src/vt.c b/src/vt.c
index a0fe2091..c2b1c0d6 100644
--- a/src/vt.c
+++ b/src/vt.c
@@ -30,7 +30,7 @@ open_console (void)
{
int fd;
- fd = g_open ("/dev/console", O_RDONLY | O_NOCTTY);
+ fd = g_open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
if (fd < 0)
g_warning ("Error opening /dev/console: %s", strerror (errno));
return fd;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5fc98365..7d87c3ab 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -15,6 +15,8 @@ TESTS = \
test-autologin-session-crash \
test-autologin-password \
test-autologin-new-authtok \
+ test-change-authentication \
+ test-restart-authentication \
test-pam \
test-login-pam \
test-denied \
@@ -170,6 +172,7 @@ EXTRA_DIST = \
scripts/autologin-session-crash.conf \
scripts/autologin-session-error.conf \
scripts/autologin-xserver-crash.conf \
+ scripts/change-authentication.conf \
scripts/console-kit.conf \
scripts/crash-authenticate.conf \
scripts/cred-error.conf \
@@ -224,6 +227,7 @@ EXTRA_DIST = \
scripts/plymouth-active-vt.conf \
scripts/plymouth-inactive-vt.conf \
scripts/plymouth-no-seat.conf \
+ scripts/restart-authentication.conf \
scripts/script-hooks.conf \
scripts/script-hook-fail-display-setup.conf \
scripts/script-hook-fail-greeter-setup.conf \
diff --git a/tests/scripts/change-authentication.conf b/tests/scripts/change-authentication.conf
new file mode 100644
index 00000000..d3860a19
--- /dev/null
+++ b/tests/scripts/change-authentication.conf
@@ -0,0 +1,38 @@
+#
+# Check can change authentication
+#
+
+[LightDM]
+minimum-display-number=50
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER :50 START
+#?XSERVER :50 INDICATE-READY
+
+# LightDM connects to X server
+#?XSERVER :50 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER :50 START
+#?XSERVER :50 ACCEPT-CONNECT
+#?GREETER :50 CONNECT-XSERVER
+#?GREETER :50 CONNECT-TO-DAEMON
+#?GREETER :50 CONNECTED-TO-DAEMON
+
+# Start authentication
+#?*GREETER :50 AUTHENTICATE USERNAME=have-password1
+#?GREETER :50 SHOW-PROMPT TEXT="Password:"
+
+# Change user authentication
+#?*GREETER :50 AUTHENTICATE USERNAME=have-password2
+#?GREETER :50 SHOW-PROMPT TEXT="Password:"
+
+# Cleanup
+#?*STOP-DAEMON
+# Don't know what order they will terminate
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?RUNNER DAEMON-EXIT STATUS=0
+
diff --git a/tests/scripts/restart-authentication.conf b/tests/scripts/restart-authentication.conf
new file mode 100644
index 00000000..f45edc89
--- /dev/null
+++ b/tests/scripts/restart-authentication.conf
@@ -0,0 +1,38 @@
+#
+# Check can restart authentication
+#
+
+[LightDM]
+minimum-display-number=50
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER :50 START
+#?XSERVER :50 INDICATE-READY
+
+# LightDM connects to X server
+#?XSERVER :50 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER :50 START
+#?XSERVER :50 ACCEPT-CONNECT
+#?GREETER :50 CONNECT-XSERVER
+#?GREETER :50 CONNECT-TO-DAEMON
+#?GREETER :50 CONNECTED-TO-DAEMON
+
+# Start authentication
+#?*GREETER :50 AUTHENTICATE USERNAME=have-password1
+#?GREETER :50 SHOW-PROMPT TEXT="Password:"
+
+# Restart authentication
+#?*GREETER :50 AUTHENTICATE USERNAME=have-password1
+#?GREETER :50 SHOW-PROMPT TEXT="Password:"
+
+# Cleanup
+#?*STOP-DAEMON
+# Don't know what order they will terminate
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?RUNNER DAEMON-EXIT STATUS=0
+
diff --git a/tests/src/libsystem.c b/tests/src/libsystem.c
index eb1ebc7f..855f668b 100644
--- a/tests/src/libsystem.c
+++ b/tests/src/libsystem.c
@@ -5,7 +5,6 @@
#include <pwd.h>
#include <grp.h>
#include <security/pam_appl.h>
-#include <unistd.h>
#include <fcntl.h>
#define __USE_GNU
#include <dlfcn.h>
@@ -995,3 +994,19 @@ pam_strerror (pam_handle_t *pamh, int errnum)
return "Unknown PAM error";
}
}
+
+void
+setutxent (void)
+{
+}
+
+struct utmp *
+pututxline (struct utmp *ut)
+{
+ return ut;
+}
+
+void
+endutxent (void)
+{
+}
diff --git a/tests/test-change-authentication b/tests/test-change-authentication
new file mode 100755
index 00000000..3d5ec60b
--- /dev/null
+++ b/tests/test-change-authentication
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner change-authentication test-gobject-greeter
diff --git a/tests/test-restart-authentication b/tests/test-restart-authentication
new file mode 100755
index 00000000..b9cb62e4
--- /dev/null
+++ b/tests/test-restart-authentication
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner restart-authentication test-gobject-greeter