Overview of changes in lightdm 1.3.4 * Correctly annotate enums in vapi file Overview of changes in lightdm 1.3.3 * Add a new remote session type. These sessions create a temporary local account and authenticate against a remote server. The session is an application that accesses that remote session (e.g. VNC, RDP etc) * Support multiple simultaneous PAM prompts * Set utmp ut_host field to the X display address * Correctly reap unused authentication sessions 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 * Backup .xsession-errors on login * Handle failures in pam_setcred * Open log files in append mode * Add extra checks in liblightdm so that it doesn't send invalid messages to the daemon * Fix gdmflexiserver not being added to the path (broken since 1.1.4) * Fix PAM conversations after authentication from locking up sessions * Fix PAM informational messages locking up autologin * Change XDMCP manage timeout from 10ms to 126s (maximum specified in the XDMCP specification) Overview of changes in lightdm 1.1.9 * Add --show-users/--hide-users to lightdm-set-defaults * Call initgroups before pam_setcred - this allows pam_setcred to change group membership correctly Overview of changes in lightdm 1.1.8 * Handle PAM interactions that have more than one message in one callback Overview of changes in lightdm 1.1.7 * Add a seat option greeter-allow-guest which controls if the greeter should provide an option to access the guest account. * Add a seat option greeter-show-manual-login which hints to a greeter if it should show a manual username entry if a user list is already present. Overview of changes in lightdm 1.1.6 * Fix session wrapper working the same as it did in 1.1.3 Overview of changes in lightdm 1.1.5 * Stop file descriptors leaking into the session processes Overview of changes in lightdm 1.1.4 * Change session directory once user permissions are set so it works on NFS filesystems that don't allow root to access files. * Restructure session code so the PAM authentication is run in its own process. * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items * Don't send session stdout to .xsession-errors * Fix Qt bindings crash when removing a user Overview of changes in lightdm 1.1.3 * Actually return the system default keyboard layout, not just 'us' * Add keyboard layout variants to list of keyboard layouts * Check accountsservice as well as .dmrc for users' layouts * Add lightdm_user_get_layouts() to query the configured list of layouts on a per-user basis * Add Lock D-Bus method that locks the seat and provides a hint to the greeter to be in lock mode. * Automatically lock sessions when switching away from them * Add a has-messages property to liblightdm * Add regression tests for PAM modules changing usernames * Don't use g_key_file_unref, it requires glib 2.32 Overview of changes in lightdm 1.1.2 * Add regression tests for getting the user language and layout * Stop accidentally distributing libsystem * Fix introspection bindings not containing any methods * lightdm-set-defaults can now set the autologin user * Add Python greeter regression tests (representative of all introspection based greeters) * Wait for the VT to become active when switching to avoid a suspected race condition somewhere between LightDM, X, ConsoleKit and the kernel. * Stop lightdm_greeter_start_session_sync() blocking on success. Overview of changes in lightdm 1.1.1 * Add a --disable-tests option * Add note to AUTHORS file where to find author list * Update build system to find moc/uic * Fix non-distributed tests/src/lightdm-session * Fix X sessions with arguments in Exec not working * Use previous session for automatic login or if greeter does not request one. * Set default resolution of VNC to 1024x768, add settings for width, height, depth into lightdm.conf. * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce annoying kernel audit messages for privileges that we definitively do not want to grant. * Set LOGNAME environment variable * Don't set USERNAME environment variable - this is not specified in POSIX, please report if this causes any major problems. * Drop privileges when reading ~/.dmrc * Move the GTK+ and Qt greeters into their own projects * Fix crash when quitting with newer GLib * Fix crash calling lightdm_get_layout * Support for reading users' backgrounds from Accounts Service * Fix --debug working with new glib * Support PAM requesting a change of password * Update build system to work with automake 1.11.2 * Run tests inside their own system D-Bus, simulating ConsoleKit and AccountsService * Add regression test for users that have their home directory created after authentication. * Move lightdm-guest-session from libexec to pkglibexec directory Overview of changes in lightdm 1.1.0 * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods * Switching to a user without a password bypasses the greeter * Use LD_PRELOAD to intercept system calls for testing * Removed the --passwd-file option as not required for testing anymore * Rename test-xserver to X and remove --xserver-command option * Make a test session wrapper and remove --session-wrapper option * Remove unused --user-session, --greeter-session, --minimum-vt, --minimum-display-number options * Use 'default' as the default greeter (make a symlink) * GTK greeter now initializes i18n * GTK greeter now remembers last user * Start authentication for automtically selected user in GTK greeter * Don't resize GTK greeter on each click * Start authentication when scrolling through GTK greeter entries * Link liblightdm-qt against QtGui * Fix liblightdm-qt crashing when face images are installed * Set correct permissions on session log files * Introduce a lightdm-guest-session-wrapper session command which MAC systems like AppArmor and SELinux can use for attaching a restrictive policy to guest sessions. * Provide an AppArmor profile for guest session lockdown. * Fix daemon from blocking if Accounts Service does not exist * Fix greeter log file not being written * Don't set LANG environment variable if using Accounts Service. * Fix gdmflexiserver not working due to it not being in PATH * Don't authenticate the greeter user * Allow greeters to be disabled in configure flags * Fix over allocation of read buffer in greeter protocol * Make sure objects are cleaned up on exit * Fix minor memory leaks * Fix reference counting issue in ConsoleKit code * Fix --enable-gtk-greeter=yes not working Overview of changes in lightdm 1.0.0 * Explicitly grab keyboard focus in GTK greeter * Fix removed power and a11y menu items in GTK greeter * Put system binary directory into path when running in test mode * Call pam_getenvlist after pam_setcred Overview of changes in lightdm 0.9.8 * GetSeatForCookie and GetSessionForCookie are now deprecated. They remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH environment variables instead. * Change log filenames to be unique across different display types. * Fix up script hooks, add regression tests for them * Complete removal of X code from the core of LightDM, so it can better support various display types * Add ability to set the language of a user from the greeter * Set LANG variable based on the user language * Add language selector into GTK greeter (disabled by default) * Allow TCP/IP connections if xserver-allow-tcp is true * Allow lightdm --version to be run as non-root * Automatically respond to PAM messages without prompts * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat' * Fix multi-seat configuration picking the same display number * Use correct D-Bus and power interface in liblightdm-qt * Run pam_setcred inside the session process so pam_group works * Make sure one session is always selected in the GTK greeter Overview of changes in lightdm 0.9.7 * Set PAM_TTY to the display name, not the tty device Overview of changes in lightdm 0.9.6 * Only unlock displays if switched to from greeter * Make log file not system readable * Write ~/.Xauthority inside the session process so it cannot be hijacked * Set PAM_TTY and PAM_XDISPLAY when opening PAM session * Add VNC server support * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349] Overview of changes in lightdm 0.9.5 * Use accounts service in the daemon if it is available * Correctly load seat type in multi seat configuration * Add display-setup, session-setup and session-cleanup scripting hooks * Fix cancel button in GTK greeter * Fix line through GTK greeter menu items * Exit daemon if a seat fails which has exit-on-failure set to true * Add HasGuestAccount property to seat D-Bus interface * Fix XDMCP authorization * Update man file Overview of changes in lightdm 0.9.4 * lightdm-set-defaults enables tweaking the default session and chosen greeter for lightdm. This is useful for derivatives waiting to not ship the whole configuration file of lightdm * Fix crash in GTK+ greeter when a user is added * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to [LightDM]. This is a configuration break, but making it on the assumption that these settings are not likely to have been overridden. * Fix fallback from org.freedesktop.Accounts to passwd format * Fix duplicate user entries being shown when using passwd file * Add AddSeat D-Bus method for adding dynamic seats * Added a dm-tool program that allows user switching and adding seats * Allow remote X servers, e.g. launched using dm-tool add-nested-seat * Fix bug where sessions were started when the greeter quit and the user hadn't been authorized. * Fix bug where sessions used the seat bus name * Don't allow autologin-username to be set to empty * Fix bug where PAM session was not opened before writing to home directory * Fix crash when failing to write X authority Overview of changes in lightdm 0.9.3 * Unlock ConsoleKit sessions when switching to them * Add a gdmflexiserver binary that provides backwards compatibility with existing sessions * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions. * Always set XAUTHORITY environment variable so sudo keeps accessing the correct X authority. * Connect up lightdm_user_get_logged_in in liblightdm-gobject * Ignore sessions that fail TryExec or are hidden * Add missing home_directory User property missing in Vala bindings Overview of changes in lightdm 0.9.2 * Fix annotation and Vala bindings for getting the UserList singleton * Fix GTK+ greeter error label not being shown * Don't set SIGQUIT to ignore in child processes * Reworked the PAM code as ecryptfs users weren't able to log in. They can now but not sure what changed to fix that!? Overview of changes in lightdm 0.9.1 * Fix up translation build system * Add a --with-greeter-user configure option * Fix greeter-user configuration not being used * Abort greeter if attempted to be run as root and greeter-user set * Fix setting session in GTK+ greeter Overview of changes in lightdm 0.9.0 * Fix invalid XAUTHORITY variable being set for second X server. * Fix bug where switching users created X servers without VTs * Release a VT when the X server on it stops * Greeters are now just standard X sessions that are stored in /usr/share/xgreeters. * Binaries now installed in /usr/sbin * Drop most of the configure options, they aren't necessary * Config changes: - Major reorginisation of configuration to make it easier to configure and understand. Users should set [SeatDefaults] section with settings for all seats, and can override each setting in a per seat configuration. - Default seats are now specified using a [Seat:] section. If no seats are specified then one is started. This can be overridden by setting start-default-seat=false in [LightDM]. - Support setting autologin user to guest account - Split the user accounts configuration into /etc/lightdm/users.conf so the main config can be private. - The default user session is now "default". Distributions should put a symlink to their chosen default or set one in lightdm.conf. - XDMCP keys now stored in keys.conf * liblightdm API changes: - Both libraries are now version 1 and have API and ABI guarantees. - Face images are now local paths not URIs - liblightdm-gobject now uses lightdm_ prefix instead of ldm_ - Non-greeter functions are now moved out of the Greeter class - connect_to_server() is now called connect_sync and blocks until completion. - start_session() is now called start_session_sync and blocks until completion. The quit signal is removed, and the greeter should quit if this method returns TRUE. - login() is now called authenticate() - Greeters now have hints instead of configuration (greeters should load their own configuration from /etc/lightdm if they need it). - liblightdm-gobject uses AccountsService if it is available - Added regression tests for liblightdm-qt * D-Bus API changes: - Expose Seats and Sessions on org.freedesktop.DisplayManager - Add a CanSwitch property - Rename ShowGreeter() to SwitchToGreeter() * Greeter changes: - Drop "example" from the name of the GTK+ and Qt greeters and make them official default greeters. - Use GTK3 for GTK+ greeter. - Removed the Vala and Python GTK+ greeters, they weren't being well maintained. Overview of changes in lightdm 0.4.4 * Fix failure to accept XDMCP connections due to invalid assert. * Allow minimum-display-number to be set in lightdm.conf and on the command line. * Session X authority now written to ~/.Xauthority by default. It can be configured to run from the system location by setting user-authority-in-system-dir=true in lightdm.conf. * When using system authority the authority can be updated by the user. * Written X authority files now checks hostname and display number. * Enironment is no longer passed through to X servers and sessions, this is no longer required now PAM works correctly. * liblightdm API changes: - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't work well. * Fix more errors where authentication messages from previous sessions could be confused with new sessions. * Added XDMCP regression tests. Overview of changes in lightdm 0.4.3 * Don't replace Plymouth if it isn't running on a valid VT * Allow a null username to log in with - the system will prompt for a username. * liblightdm API changes: - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses may not be secrets. - show-prompt signal now has a PromptType field - show-message signal now has a MessageType field and takes over behaviour of show-error signal * Fix error where an authentication failure from a previous session could be interpreted as a failure in the current session. * Simplify Vala bindings and add missing methods Overview of changes in lightdm 0.4.2 * Fix errors communicating with PAM * Fix interaction with Plytmouth. * Removes the vt option in lightdm.conf, this is no longer required and the active is used for the first display if Plymouth is detected. A new option minimum-vt is added to select the first VT to be used for other displays. * On login switch to an existing session if already logged in with that username. * Correctly connect up D-Bus interface for user switching Overview of changes in lightdm 0.4.1 * Fix linking issue with -z,defs * Added guest account support * Restart X server if it crashes during a session * Don't set language environment variables, use the daemon values (system default) and leave it to ~/.profile for users to set these * Change greeter library API, starting a session no longer has a language option * Fix greeter crash when user accounts change Overview of changes in lightdm 0.4.0 * Fix crash when child processes quit * Fix crash when catching signals * Fix crash when session quits after X server * Add internal checking for NULL object access * Correctly handle signals from external programs (Thanks to Jason Conti) * liblightdm API changes: - ldm_greeter_start_authentication becomes ldm_greeter_login - The existing ldm_greeter_login is now ldm_greeter_start_session and the username parameter is not required. - Drop ldm_greeter_get_default_layout (X controls the layout) * Configuration changes: - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf - The "displays" item is now called "seats". LightDM will fallback to "displays" if "seats" is not defined, but this is deprecated and will be removed by version 1.0. - Make X server configuration a separate section and now has new options * Automatic login users now use PAM session lightdm-autologin * Use org.freedesktop.DisplayManager instead of org.lightdm.LightDisplayManager for D-Bus name * Add regression tests * Allow many more options to be set from the command line Overview of changes in lightdm 0.3.7 * Fix autologin broken in 0.3.3 Overview of changes in lightdm 0.3.6 * Disable Plymouth when starting * Allow display vt setting to be set to "active" to start on active VT * Fix login in Qt example greeter * Fix typo for High Contrast menu item (GTK example greeter) Overview of changes in lightdm 0.3.5 * Set working directory when logging in * Massive improvements to Qt greeter * Fix XDMCP authentication/authorization errors * Have the daemon open a connection to a local X server * Tidy up some debugging messages Overview of changes in lightdm 0.3.4 * Updates to liblightdm-qt * Fix --with-cache-dir not working * Set greeterdir in .pc files to point to where greeter engines should be installed Overview of changes in lightdm 0.3.3 * Don't run in test-mode if Xephyr cannot be found * Fix daemon using 100% CPU after greeter quits * Fix crash when users don't have GECOS data * Greeters can now detect user add/remove events * Fix ConsoleKit support broken with switch to GDBus * Correctly clean up X processes on exit * Wait for greeter to quit before running user session (fixes problem with Compiz) Overview of changes in lightdm 0.3.2 * Distribute GTK greeter .ui file Overview of changes in lightdm 0.3.1 * Add greeter login_with_defaults method * Add example to the name of all the greeters * Set the configuration for the default display to use VT 7 * Fix the vt setting for displays, it was incorrectly named tty * Fix crash when load-users is false in UserManager * Fix up name of .vapi file so it can be used directly from valac * Tidy up Qt library and greeter * Move menubar in greeters to top of screen * Fix console kit get_can_*() methods * Use GtkBuilder for example GTK greeter Overview of changes in lightdm 0.3.0 * Correctly pass environment variables through to the session * Allow starting virtual terminal to be configured * Replace D-Bus greeter communication with a private pipe * Use GDBus instead of dbus-glib * Use the engine process name instead of a hardcoded value in theme files * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't clash with GObject method name * Rename ldm-gtk-greeter to lightdm-gtk-greeter * Rename gnome theme to example-gtk-gnome * Add more annotations to liblightdm-gobject * Add an example PyGObject, Vala and QT greeter * Generate metadata for QT libraries * Move Webkit greeter into separate module Overview of changes in lightdm 0.2.3 * Set correct linking library names in pkg-config files * Handle session executables that take arguments Overview of changes in lightdm 0.2.2 * Make default themedir work when --prefix is not passed to configure * Look for face images in ~/.face and ~/.face.icon * Put .vapi file in unversioned vala directory * Fix compiling without QT * Choose the VT to open the display on * Set correct group memberships for sessions (Yves-Alexis Perez) * Set permissions on xauthority file so it can only be read by the owning user (Yves-Alexis Perez) * Set correct permissions on ~/.dmrc (Yves-Alexis Perez) * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option * Set environment variables from PAM (Yves-Alexis Perez) Overview of changes in lightdm 0.2.1 * Use "lightdm" as default PAM service and make it configurable * Rename libldmgreeter to libldmgreeter-gobject * Add libldmgreeter-qt (David Edmundson) * Fix gobject-introspection build * Renamed libldmgreeter to liblightdm * Install a .vapi file Overview of changes in lightdm 0.2.0 * Make default user configuration per-display * Only automatically login the first time * Fix WebKit theme loading and automatic login * Do cross fade for sessions that support it (set X-LightDM-Supports-Transitions=true in their xsession file) * Load user settings from ~/.dmrc * Add configuration for default language/layout * Change language/layout/session when user selected in GTK+ greeter * Set default keyboard layout on first login * Don't run all sessions throught /etc/X11/XSession - make the session wrapper optional and configurable. * Make pkgconfig file require libxklavier * Only compile greeters if have dependencies * Include ck-connector code to reduce library dependencies * Add introspection.m4 to the source tree * Support using no greeter user in lightdm.conf * Flush writes to main log file * Allow non-privilidged user to write greeter log file in /var * Fix bugs stopping running greeter as priviledged user (i.e. root) * Don't default to running greeters with the GDM user - it may not exist! Overview of changes in lightdm 0.1.2 * Write PID file * Make user switcher API work * Add a AddDisplay D-Bus method to start new displays * Feed signals to GLib main loop via a pipe * Add an upstart script * Make theme files more similar to existing themes * Change dbus namespace from org.freedesktop.LightDisplayManager to org.lightdm.LightDisplayManager * Write debug log to /var/log/lightdm/lightdm.log instead of stdout. Use --debug for the previous behaviour * Add exec_prefix into libldmgreeter.pc * Change versioned include and pkgconfig files from 1 to 0 * Add themedir variable into pkgconfig file * Connect language list in GTK greeter to login language Overview of changes in lightdm 0.1.1 * Change licence of libldmgreeter from GPL to LGPL * Write X server and session output to log files * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables * Run sessions through Xsession * Close all X servers on exit * Send SIGHUP to X server when returning to greeter (makes all clients quit) * Change authorization after a session ends so previous session does not get access * Make shutdown buttons work in GTK+ greeter * Make user manager configurable * Make GTK+ greeter show username entry if no user list * Hide C and POSIX languages in greeter * Load language and layout from .dmrc file Overview of changes in lightdm 0.1.0 * Make --test-mode which runs as the current user * Support displays acting as XDMCP terminals * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization * Support XDMCP over IPv6 Overview of changes in lightdm 0.0.4 * Support XDMCP logins * Support multi-head * Clean up resources on exit * Create gettext instance in WebKit greeter Overview of changes in lightdm 0.0.3 * Wait for signal from X server before starting session * Add language API * Add keyboard layout API * Add gettext support to the WebKit greeter Overview of changes in lightdm 0.0.2 * Fix installation of D-Bus service file * Allow DISPLAY env variable to be passed to X server so can run Xephyr * Handle no automatic login in webkit theme Overview of changes in lightdm 0.0.1 * Initial release