diff options
author | Michael Terry <michael.terry@canonical.com> | 2012-08-17 12:13:57 -0400 |
---|---|---|
committer | Michael Terry <michael.terry@canonical.com> | 2012-08-17 12:13:57 -0400 |
commit | 902617f00b428cef10c524839e7d6940a03297d9 (patch) | |
tree | b9b6ad352083a4a90dcc2a8c2296ed25ecc7cf89 | |
parent | 70f4fd01ce49b9032e75302c2f4d90d78046a7db (diff) | |
parent | 4fb3abf0fe3c541d9d42183bf62029731bf4b027 (diff) | |
download | lightdm-902617f00b428cef10c524839e7d6940a03297d9.tar.gz |
merge from trunk
-rw-r--r-- | .bzrignore | 3 | ||||
-rw-r--r-- | NEWS | 15 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | data/Makefile.am | 5 | ||||
-rw-r--r-- | data/lightdm.conf | 4 | ||||
-rw-r--r-- | liblightdm-gobject/Makefile.am | 1 | ||||
-rw-r--r-- | liblightdm-gobject/session.c | 50 | ||||
-rw-r--r-- | liblightdm-gobject/user.c | 19 | ||||
-rw-r--r-- | liblightdm-qt/QLightDM/greeter.h | 8 | ||||
-rw-r--r-- | liblightdm-qt/greeter.cpp | 14 | ||||
-rw-r--r-- | liblightdm-qt/sessionsmodel.cpp | 6 | ||||
-rw-r--r-- | liblightdm-qt/usersmodel.cpp | 34 | ||||
-rw-r--r-- | po/LINGUAS | 9 | ||||
-rw-r--r-- | po/af.po | 100 | ||||
-rw-r--r-- | po/an.po | 4 | ||||
-rw-r--r-- | po/ar.po | 4 | ||||
-rw-r--r-- | po/ast.po | 4 | ||||
-rw-r--r-- | po/az.po | 4 | ||||
-rw-r--r-- | po/be.po | 4 | ||||
-rw-r--r-- | po/bg.po | 4 | ||||
-rw-r--r-- | po/bn.po | 4 | ||||
-rw-r--r-- | po/bo.po | 4 | ||||
-rw-r--r-- | po/br.po | 4 | ||||
-rw-r--r-- | po/bs.po | 4 | ||||
-rw-r--r-- | po/ca.po | 4 | ||||
-rw-r--r-- | po/ca@valencia.po | 13 | ||||
-rw-r--r-- | po/cs.po | 4 | ||||
-rw-r--r-- | po/da.po | 4 | ||||
-rw-r--r-- | po/de.po | 4 | ||||
-rw-r--r-- | po/el.po | 4 | ||||
-rw-r--r-- | po/en_AU.po | 4 | ||||
-rw-r--r-- | po/en_CA.po | 4 | ||||
-rw-r--r-- | po/en_GB.po | 4 | ||||
-rw-r--r-- | po/eo.po | 4 | ||||
-rw-r--r-- | po/es.po | 6 | ||||
-rw-r--r-- | po/et.po | 4 | ||||
-rw-r--r-- | po/eu.po | 4 | ||||
-rw-r--r-- | po/fa.po | 4 | ||||
-rw-r--r-- | po/fi.po | 4 | ||||
-rw-r--r-- | po/fo.po | 4 | ||||
-rw-r--r-- | po/fr.po | 4 | ||||
-rw-r--r-- | po/fy.po | 4 | ||||
-rw-r--r-- | po/gd.po | 4 | ||||
-rw-r--r-- | po/gl.po | 4 | ||||
-rw-r--r-- | po/he.po | 4 | ||||
-rw-r--r-- | po/hi.po | 4 | ||||
-rw-r--r-- | po/hr.po | 4 | ||||
-rw-r--r-- | po/hu.po | 4 | ||||
-rw-r--r-- | po/ia.po | 8 | ||||
-rw-r--r-- | po/id.po | 4 | ||||
-rw-r--r-- | po/it.po | 4 | ||||
-rw-r--r-- | po/ja.po | 4 | ||||
-rw-r--r-- | po/kk.po | 4 | ||||
-rw-r--r-- | po/km.po | 4 | ||||
-rw-r--r-- | po/kn.po | 100 | ||||
-rw-r--r-- | po/ko.po | 4 | ||||
-rw-r--r-- | po/ku.po | 4 | ||||
-rw-r--r-- | po/lb.po | 4 | ||||
-rw-r--r-- | po/lt.po | 4 | ||||
-rw-r--r-- | po/lv.po | 4 | ||||
-rw-r--r-- | po/mhr.po | 4 | ||||
-rw-r--r-- | po/mi.po | 100 | ||||
-rw-r--r-- | po/ml.po | 4 | ||||
-rw-r--r-- | po/mr.po | 100 | ||||
-rw-r--r-- | po/ms.po | 4 | ||||
-rw-r--r-- | po/my.po | 100 | ||||
-rw-r--r-- | po/nb.po | 4 | ||||
-rw-r--r-- | po/nl.po | 4 | ||||
-rw-r--r-- | po/nn.po | 4 | ||||
-rw-r--r-- | po/oc.po | 4 | ||||
-rw-r--r-- | po/pa.po | 4 | ||||
-rw-r--r-- | po/pl.po | 4 | ||||
-rw-r--r-- | po/pt.po | 4 | ||||
-rw-r--r-- | po/pt_BR.po | 4 | ||||
-rw-r--r-- | po/ro.po | 4 | ||||
-rw-r--r-- | po/ru.po | 4 | ||||
-rw-r--r-- | po/sd.po | 4 | ||||
-rw-r--r-- | po/shn.po | 4 | ||||
-rw-r--r-- | po/si.po | 4 | ||||
-rw-r--r-- | po/sk.po | 4 | ||||
-rw-r--r-- | po/sl.po | 4 | ||||
-rw-r--r-- | po/sq.po | 4 | ||||
-rw-r--r-- | po/sr.po | 4 | ||||
-rw-r--r-- | po/sv.po | 4 | ||||
-rw-r--r-- | po/ta.po | 4 | ||||
-rw-r--r-- | po/te.po | 4 | ||||
-rw-r--r-- | po/th.po | 4 | ||||
-rw-r--r-- | po/tr.po | 4 | ||||
-rw-r--r-- | po/ug.po | 4 | ||||
-rw-r--r-- | po/uk.po | 4 | ||||
-rw-r--r-- | po/uz.po | 4 | ||||
-rw-r--r-- | po/vi.po | 4 | ||||
-rw-r--r-- | po/wae.po | 4 | ||||
-rw-r--r-- | po/zh_CN.po | 4 | ||||
-rw-r--r-- | po/zh_HK.po | 4 | ||||
-rw-r--r-- | po/zh_TW.po | 4 | ||||
-rw-r--r-- | src/display.c | 27 | ||||
-rw-r--r-- | src/lightdm.c | 9 | ||||
-rw-r--r-- | src/privileges.c | 27 | ||||
-rw-r--r-- | src/process.c | 5 | ||||
-rw-r--r-- | src/session-child.c | 58 | ||||
-rw-r--r-- | src/session.c | 8 | ||||
-rw-r--r-- | src/vt.c | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 4 | ||||
-rw-r--r-- | tests/scripts/change-authentication.conf | 38 | ||||
-rw-r--r-- | tests/scripts/restart-authentication.conf | 38 | ||||
-rw-r--r-- | tests/src/libsystem.c | 17 | ||||
-rwxr-xr-x | tests/test-change-authentication | 2 | ||||
-rwxr-xr-x | tests/test-restart-authentication | 2 |
109 files changed, 1012 insertions, 224 deletions
@@ -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 @@ -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) { @@ -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 "" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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 @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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 "" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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 "" @@ -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 "" @@ -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 "" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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 @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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?" @@ -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); @@ -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 |