]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - NEWS
Add remote sessions
[sojka/lightdm.git] / NEWS
1 Overview of changes in lightdm 1.3.3
2
3     * Add a new remote session type. These sessions create a temporary local
4       account and authenticate against a remote server. The session is an
5       application that accesses that remote session (e.g. VNC, RDP etc)
6
7 Overview of changes in lightdm 1.3.2
8
9     * Handle clearenv() not being defined
10     * Fix compilation with GCC 4.7
11     * Expose remaining properties in QLightDM::Greeter
12     * Fix utmp records being written before child process created
13
14 Overview of changes in lightdm 1.3.1
15
16     * Fix wrapper path in AppArmor profile (broken since 1.1.1)
17     * Add show-manual-login and allow-guest options to lightdm-set-defaults
18     * Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
19     * Add lock-memory option, enabled by default, to prevent paging memory
20       to disk.
21     * Write utmp records for sessions
22     * Install PAM configuration
23     * Run greeters inside the "lightdm-greeter" PAM service
24     * Handle setresgid and setresuid not being available
25     * Use xsession directory from lightdm.conf in liblightdm
26
27 Overview of changes in lightdm 1.2.0
28
29     * Backup .xsession-errors on login
30     * Handle failures in pam_setcred
31     * Open log files in append mode
32     * Add extra checks in liblightdm so that it doesn't send invalid messages
33       to the daemon
34     * Fix gdmflexiserver not being added to the path (broken since 1.1.4)
35     * Fix PAM conversations after authentication from locking up sessions
36     * Fix PAM informational messages locking up autologin
37     * Change XDMCP manage timeout from 10ms to 126s (maximum specified in the
38       XDMCP specification)
39
40 Overview of changes in lightdm 1.1.9
41
42     * Add --show-users/--hide-users to lightdm-set-defaults
43     * Call initgroups before pam_setcred - this allows pam_setcred to change
44       group membership correctly
45
46 Overview of changes in lightdm 1.1.8
47
48     * Handle PAM interactions that have more than one message in one callback
49
50 Overview of changes in lightdm 1.1.7
51
52     * Add a seat option greeter-allow-guest which controls if the greeter should
53       provide an option to access the guest account.
54     * Add a seat option greeter-show-manual-login which hints to a greeter if it
55       should show a manual username entry if a user list is already present.
56
57 Overview of changes in lightdm 1.1.6
58
59     * Fix session wrapper working the same as it did in 1.1.3
60
61 Overview of changes in lightdm 1.1.5
62
63     * Stop file descriptors leaking into the session processes
64
65 Overview of changes in lightdm 1.1.4
66
67     * Change session directory once user permissions are set so it works
68       on NFS filesystems that don't allow root to access files.
69     * Restructure session code so the PAM authentication is run in its
70       own process.
71     * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items
72     * Don't send session stdout to .xsession-errors
73     * Fix Qt bindings crash when removing a user
74
75 Overview of changes in lightdm 1.1.3
76
77     * Actually return the system default keyboard layout, not just 'us'
78     * Add keyboard layout variants to list of keyboard layouts
79     * Check accountsservice as well as .dmrc for users' layouts
80     * Add lightdm_user_get_layouts() to query the configured list of layouts
81       on a per-user basis
82     * Add Lock D-Bus method that locks the seat and provides a hint to the
83       greeter to be in lock mode.
84     * Automatically lock sessions when switching away from them
85     * Add a has-messages property to liblightdm
86     * Add regression tests for PAM modules changing usernames
87     * Don't use g_key_file_unref, it requires glib 2.32
88
89 Overview of changes in lightdm 1.1.2
90
91     * Add regression tests for getting the user language and layout
92     * Stop accidentally distributing libsystem
93     * Fix introspection bindings not containing any methods
94     * lightdm-set-defaults can now set the autologin user
95     * Add Python greeter regression tests (representative of all introspection
96       based greeters)
97     * Wait for the VT to become active when switching to avoid a suspected
98       race condition somewhere between LightDM, X, ConsoleKit and the kernel.
99     * Stop lightdm_greeter_start_session_sync() blocking on success.
100
101 Overview of changes in lightdm 1.1.1
102
103     * Add a --disable-tests option
104     * Add note to AUTHORS file where to find author list
105     * Update build system to find moc/uic
106     * Fix non-distributed tests/src/lightdm-session
107     * Fix X sessions with arguments in Exec not working
108     * Use previous session for automatic login or if greeter does not request
109       one.
110     * Set default resolution of VNC to 1024x768, add settings for width, height,
111       depth into lightdm.conf.
112     * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
113       annoying kernel audit messages for privileges that we definitively do not
114       want to grant.
115     * Set LOGNAME environment variable
116     * Don't set USERNAME environment variable - this is not specified in POSIX,
117       please report if this causes any major problems.
118     * Drop privileges when reading ~/.dmrc
119     * Move the GTK+ and Qt greeters into their own projects
120     * Fix crash when quitting with newer GLib
121     * Fix crash calling lightdm_get_layout
122     * Support for reading users' backgrounds from Accounts Service
123     * Fix --debug working with new glib
124     * Support PAM requesting a change of password
125     * Update build system to work with automake 1.11.2
126     * Run tests inside their own system D-Bus, simulating ConsoleKit and
127       AccountsService
128     * Add regression test for users that have their home directory created after
129       authentication.
130     * Move lightdm-guest-session from libexec to pkglibexec directory
131
132 Overview of changes in lightdm 1.1.0
133
134     * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods
135     * Switching to a user without a password bypasses the greeter
136     * Use LD_PRELOAD to intercept system calls for testing
137     * Removed the --passwd-file option as not required for testing anymore
138     * Rename test-xserver to X and remove --xserver-command option
139     * Make a test session wrapper and remove --session-wrapper option
140     * Remove unused --user-session, --greeter-session, --minimum-vt,
141       --minimum-display-number options
142     * Use 'default' as the default greeter (make a symlink)
143     * GTK greeter now initializes i18n
144     * GTK greeter now remembers last user
145     * Start authentication for automtically selected user in GTK greeter
146     * Don't resize GTK greeter on each click
147     * Start authentication when scrolling through GTK greeter entries
148     * Link liblightdm-qt against QtGui
149     * Fix liblightdm-qt crashing when face images are installed
150     * Set correct permissions on session log files
151     * Introduce a lightdm-guest-session-wrapper session command which MAC
152       systems like AppArmor and SELinux can use for attaching a restrictive
153       policy to guest sessions.
154     * Provide an AppArmor profile for guest session lockdown.
155     * Fix daemon from blocking if Accounts Service does not exist
156     * Fix greeter log file not being written
157     * Don't set LANG environment variable if using Accounts Service.
158     * Fix gdmflexiserver not working due to it not being in PATH
159     * Don't authenticate the greeter user
160     * Allow greeters to be disabled in configure flags
161     * Fix over allocation of read buffer in greeter protocol
162     * Make sure objects are cleaned up on exit
163     * Fix minor memory leaks
164     * Fix reference counting issue in ConsoleKit code
165     * Fix --enable-gtk-greeter=yes not working
166
167 Overview of changes in lightdm 1.0.0
168
169     * Explicitly grab keyboard focus in GTK greeter
170     * Fix removed power and a11y menu items in GTK greeter
171     * Put system binary directory into path when running in test mode
172     * Call pam_getenvlist after pam_setcred
173
174 Overview of changes in lightdm 0.9.8
175
176     * GetSeatForCookie and GetSessionForCookie are now deprecated.  They
177       remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
178       environment variables instead.
179     * Change log filenames to be unique across different display types.
180     * Fix up script hooks, add regression tests for them
181     * Complete removal of X code from the core of LightDM, so it can better
182       support various display types
183     * Add ability to set the language of a user from the greeter
184     * Set LANG variable based on the user language
185     * Add language selector into GTK greeter (disabled by default)
186     * Allow TCP/IP connections if xserver-allow-tcp is true
187     * Allow lightdm --version to be run as non-root
188     * Automatically respond to PAM messages without prompts
189     * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
190     * Fix multi-seat configuration picking the same display number
191     * Use correct D-Bus and power interface in liblightdm-qt
192     * Run pam_setcred inside the session process so pam_group works
193     * Make sure one session is always selected in the GTK greeter
194
195 Overview of changes in lightdm 0.9.7
196
197     * Set PAM_TTY to the display name, not the tty device
198
199 Overview of changes in lightdm 0.9.6
200
201     * Only unlock displays if switched to from greeter
202     * Make log file not system readable
203     * Write ~/.Xauthority inside the session process so it cannot be hijacked
204     * Set PAM_TTY and PAM_XDISPLAY when opening PAM session
205     * Add VNC server support
206     * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]
207
208 Overview of changes in lightdm 0.9.5
209
210     * Use accounts service in the daemon if it is available
211     * Correctly load seat type in multi seat configuration
212     * Add display-setup, session-setup and session-cleanup scripting hooks
213     * Fix cancel button in GTK greeter
214     * Fix line through GTK greeter menu items
215     * Exit daemon if a seat fails which has exit-on-failure set to true
216     * Add HasGuestAccount property to seat D-Bus interface
217     * Fix XDMCP authorization
218     * Update man file
219
220 Overview of changes in lightdm 0.9.4
221
222     * lightdm-set-defaults enables tweaking the default session and chosen
223       greeter for lightdm. This is useful for derivatives waiting to not ship
224       the whole configuration file of lightdm
225     * Fix crash in GTK+ greeter when a user is added
226     * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
227       [LightDM].  This is a configuration break, but making it on the assumption
228       that these settings are not likely to have been overridden.
229     * Fix fallback from org.freedesktop.Accounts to passwd format
230     * Fix duplicate user entries being shown when using passwd file
231     * Add AddSeat D-Bus method for adding dynamic seats
232     * Added a dm-tool program that allows user switching and adding seats
233     * Allow remote X servers, e.g. launched using dm-tool add-nested-seat
234     * Fix bug where sessions were started when the greeter quit and the user
235       hadn't been authorized.
236     * Fix bug where sessions used the seat bus name
237     * Don't allow autologin-username to be set to empty
238     * Fix bug where PAM session was not opened before writing to home directory
239     * Fix crash when failing to write X authority
240
241 Overview of changes in lightdm 0.9.3
242
243     * Unlock ConsoleKit sessions when switching to them
244     * Add a gdmflexiserver binary that provides backwards compatibility with
245       existing sessions
246     * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
247     * Always set XAUTHORITY environment variable so sudo keeps accessing the
248       correct X authority.
249     * Connect up lightdm_user_get_logged_in in liblightdm-gobject
250     * Ignore sessions that fail TryExec or are hidden
251     * Add missing home_directory User property missing in Vala bindings
252
253 Overview of changes in lightdm 0.9.2
254
255     * Fix annotation and Vala bindings for getting the UserList singleton
256     * Fix GTK+ greeter error label not being shown
257     * Don't set SIGQUIT to ignore in child processes
258     * Reworked the PAM code as ecryptfs users weren't able to log in.  They
259       can now but not sure what changed to fix that!?
260
261 Overview of changes in lightdm 0.9.1
262
263     * Fix up translation build system
264     * Add a --with-greeter-user configure option
265     * Fix greeter-user configuration not being used
266     * Abort greeter if attempted to be run as root and greeter-user set
267     * Fix setting session in GTK+ greeter
268
269 Overview of changes in lightdm 0.9.0
270
271     * Fix invalid XAUTHORITY variable being set for second X server.
272     * Fix bug where switching users created X servers without VTs
273     * Release a VT when the X server on it stops
274     * Greeters are now just standard X sessions that are stored in
275       /usr/share/xgreeters.
276     * Binaries now installed in /usr/sbin
277     * Drop most of the configure options, they aren't necessary
278     * Config changes:
279       - Major reorginisation of configuration to make it easier to configure and
280         understand.  Users should set [SeatDefaults] section with settings for
281         all seats, and can override each setting in a per seat configuration.
282       - Default seats are now specified using a [Seat:<name>] section.  If no seats
283         are specified then one is started.  This can be overridden by setting
284         start-default-seat=false in [LightDM].
285       - Support setting autologin user to guest account
286       - Split the user accounts configuration into /etc/lightdm/users.conf so the
287         main config can be private.
288       - The default user session is now "default".  Distributions should put a
289         symlink to their chosen default or set one in lightdm.conf.
290       - XDMCP keys now stored in keys.conf
291     * liblightdm API changes:
292       - Both libraries are now version 1 and have API and ABI guarantees.
293       - Face images are now local paths not URIs
294       - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
295       - Non-greeter functions are now moved out of the Greeter class
296       - connect_to_server() is now called connect_sync and blocks until
297         completion.
298       - start_session() is now called start_session_sync and blocks until
299         completion. The quit signal is removed, and the greeter should quit if
300         this method returns TRUE.
301       - login() is now called authenticate()
302       - Greeters now have hints instead of configuration (greeters should load their
303         own configuration from /etc/lightdm if they need it).
304       - liblightdm-gobject uses AccountsService if it is available
305       - Added regression tests for liblightdm-qt
306     * D-Bus API changes:
307       - Expose Seats and Sessions on org.freedesktop.DisplayManager
308       - Add a CanSwitch property
309       - Rename ShowGreeter() to SwitchToGreeter()
310     * Greeter changes:
311       - Drop "example" from the name of the GTK+ and Qt greeters and make them
312         official default greeters.
313       - Use GTK3 for GTK+ greeter.
314       - Removed the Vala and Python GTK+ greeters, they weren't being well
315         maintained.
316
317 Overview of changes in lightdm 0.4.4
318
319     * Fix failure to accept XDMCP connections due to invalid assert.
320     * Allow minimum-display-number to be set in lightdm.conf and on the command
321       line.
322     * Session X authority now written to ~/.Xauthority by default.  It can be
323       configured to run from the system location by setting
324       user-authority-in-system-dir=true in lightdm.conf.
325     * When using system authority the authority can be updated by the user.
326     * Written X authority files now checks hostname and display number.
327     * Enironment is no longer passed through to X servers and sessions, this is
328       no longer required now PAM works correctly.
329     * liblightdm API changes:
330       - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
331         work well.
332     * Fix more errors where authentication messages from previous sessions could
333       be confused with new sessions.
334     * Added XDMCP regression tests.
335
336 Overview of changes in lightdm 0.4.3
337
338     * Don't replace Plymouth if it isn't running on a valid VT
339     * Allow a null username to log in with - the system will prompt for a
340       username.
341     * liblightdm API changes:
342       - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
343         may not be secrets.
344       - show-prompt signal now has a PromptType field
345       - show-message signal now has a MessageType field and takes over
346         behaviour of show-error signal
347     * Fix error where an authentication failure from a previous session could
348       be interpreted as a failure in the current session.
349     * Simplify Vala bindings and add missing methods
350
351 Overview of changes in lightdm 0.4.2
352
353     * Fix errors communicating with PAM
354     * Fix interaction with Plytmouth.
355     * Removes the vt option in lightdm.conf, this is no longer required
356       and the active is used for the first display if Plymouth is
357       detected.  A new option minimum-vt is added to select the first
358       VT to be used for other displays.
359     * On login switch to an existing session if already logged in with that
360       username.
361     * Correctly connect up D-Bus interface for user switching
362
363 Overview of changes in lightdm 0.4.1
364
365     * Fix linking issue with -z,defs
366     * Added guest account support
367     * Restart X server if it crashes during a session
368     * Don't set language environment variables, use the daemon values
369       (system default) and leave it to ~/.profile for users to set these
370     * Change greeter library API, starting a session no longer has a language
371       option
372     * Fix greeter crash when user accounts change
373
374 Overview of changes in lightdm 0.4.0
375
376     * Fix crash when child processes quit
377     * Fix crash when catching signals
378     * Fix crash when session quits after X server
379     * Add internal checking for NULL object access
380     * Correctly handle signals from external programs (Thanks to Jason Conti)
381     * liblightdm API changes:
382       - ldm_greeter_start_authentication becomes ldm_greeter_login
383       - The existing ldm_greeter_login is now ldm_greeter_start_session
384         and the username parameter is not required.
385       - Drop ldm_greeter_get_default_layout (X controls the layout)
386     * Configuration changes:
387       - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf
388       - The "displays" item is now called "seats".  LightDM will fallback to
389         "displays" if "seats" is not defined, but this is deprecated and will
390         be removed by version 1.0.
391       - Make X server configuration a separate section and now has new options
392     * Automatic login users now use PAM session lightdm-autologin
393     * Use org.freedesktop.DisplayManager instead of
394       org.lightdm.LightDisplayManager for D-Bus name
395     * Add regression tests
396     * Allow many more options to be set from the command line
397
398 Overview of changes in lightdm 0.3.7
399
400     * Fix autologin broken in 0.3.3
401
402 Overview of changes in lightdm 0.3.6
403
404     * Disable Plymouth when starting
405     * Allow display vt setting to be set to "active" to start on active VT
406     * Fix login in Qt example greeter
407     * Fix typo for High Contrast menu item (GTK example greeter)
408
409 Overview of changes in lightdm 0.3.5
410
411     * Set working directory when logging in
412     * Massive improvements to Qt greeter
413     * Fix XDMCP authentication/authorization errors
414     * Have the daemon open a connection to a local X server
415     * Tidy up some debugging messages
416     
417 Overview of changes in lightdm 0.3.4
418
419     * Updates to liblightdm-qt
420     * Fix --with-cache-dir not working
421     * Set greeterdir in .pc files to point to where greeter engines should be
422       installed
423
424 Overview of changes in lightdm 0.3.3
425
426     * Don't run in test-mode if Xephyr cannot be found
427     * Fix daemon using 100% CPU after greeter quits
428     * Fix crash when users don't have GECOS data
429     * Greeters can now detect user add/remove events
430     * Fix ConsoleKit support broken with switch to GDBus
431     * Correctly clean up X processes on exit
432     * Wait for greeter to quit before running user session (fixes problem with
433       Compiz)
434
435 Overview of changes in lightdm 0.3.2
436
437     * Distribute GTK greeter .ui file
438
439 Overview of changes in lightdm 0.3.1
440
441     * Add greeter login_with_defaults method
442     * Add example to the name of all the greeters
443     * Set the configuration for the default display to use VT 7
444     * Fix the vt setting for displays, it was incorrectly named tty
445     * Fix crash when load-users is false in UserManager
446     * Fix up name of .vapi file so it can be used directly from valac
447     * Tidy up Qt library and greeter
448     * Move menubar in greeters to top of screen
449     * Fix console kit get_can_*() methods
450     * Use GtkBuilder for example GTK greeter
451
452 Overview of changes in lightdm 0.3.0
453
454     * Correctly pass environment variables through to the session
455     * Allow starting virtual terminal to be configured
456     * Replace D-Bus greeter communication with a private pipe
457     * Use GDBus instead of dbus-glib
458     * Use the engine process name instead of a hardcoded value in theme files
459     * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't
460       clash with GObject method name
461     * Rename ldm-gtk-greeter to lightdm-gtk-greeter
462     * Rename gnome theme to example-gtk-gnome
463     * Add more annotations to liblightdm-gobject
464     * Add an example PyGObject, Vala and QT greeter
465     * Generate metadata for QT libraries
466     * Move Webkit greeter into separate module
467
468 Overview of changes in lightdm 0.2.3
469
470     * Set correct linking library names in pkg-config files
471     * Handle session executables that take arguments
472
473 Overview of changes in lightdm 0.2.2
474
475     * Make default themedir work when --prefix is not passed to configure
476     * Look for face images in ~/.face and ~/.face.icon
477     * Put .vapi file in unversioned vala directory
478     * Fix compiling without QT
479     * Choose the VT to open the display on
480     * Set correct group memberships for sessions (Yves-Alexis Perez)
481     * Set permissions on xauthority file so it can only be read by the owning
482       user (Yves-Alexis Perez)
483     * Set correct permissions on ~/.dmrc (Yves-Alexis Perez)
484     * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option
485     * Set environment variables from PAM (Yves-Alexis Perez)
486
487 Overview of changes in lightdm 0.2.1
488
489     * Use "lightdm" as default PAM service and make it configurable
490     * Rename libldmgreeter to libldmgreeter-gobject
491     * Add libldmgreeter-qt (David Edmundson)
492     * Fix gobject-introspection build
493     * Renamed libldmgreeter to liblightdm
494     * Install a .vapi file
495
496 Overview of changes in lightdm 0.2.0
497
498     * Make default user configuration per-display
499     * Only automatically login the first time
500     * Fix WebKit theme loading and automatic login
501     * Do cross fade for sessions that support it
502       (set X-LightDM-Supports-Transitions=true in their xsession file)
503     * Load user settings from ~/.dmrc
504     * Add configuration for default language/layout
505     * Change language/layout/session when user selected in GTK+ greeter
506     * Set default keyboard layout on first login
507     * Don't run all sessions throught /etc/X11/XSession - make the session
508       wrapper optional and configurable.
509     * Make pkgconfig file require libxklavier
510     * Only compile greeters if have dependencies
511     * Include ck-connector code to reduce library dependencies
512     * Add introspection.m4 to the source tree
513     * Support using no greeter user in lightdm.conf
514     * Flush writes to main log file
515     * Allow non-privilidged user to write greeter log file in /var
516     * Fix bugs stopping running greeter as priviledged user (i.e. root)
517     * Don't default to running greeters with the GDM user - it may not exist!
518
519 Overview of changes in lightdm 0.1.2
520
521     * Write PID file
522     * Make user switcher API work
523     * Add a AddDisplay D-Bus method to start new displays
524     * Feed signals to GLib main loop via a pipe
525     * Add an upstart script
526     * Make theme files more similar to existing themes
527     * Change dbus namespace from org.freedesktop.LightDisplayManager to
528       org.lightdm.LightDisplayManager
529     * Write debug log to /var/log/lightdm/lightdm.log instead of stdout.  Use
530       --debug for the previous behaviour
531     * Add exec_prefix into libldmgreeter.pc
532     * Change versioned include and pkgconfig files from 1 to 0
533     * Add themedir variable into pkgconfig file
534     * Connect language list in GTK greeter to login language
535
536 Overview of changes in lightdm 0.1.1
537
538     * Change licence of libldmgreeter from GPL to LGPL
539     * Write X server and session output to log files
540     * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables
541     * Run sessions through Xsession
542     * Close all X servers on exit
543     * Send SIGHUP to X server when returning to greeter (makes all clients quit)
544     * Change authorization after a session ends so previous session does not get
545       access
546     * Make shutdown buttons work in GTK+ greeter
547     * Make user manager configurable
548     * Make GTK+ greeter show username entry if no user list
549     * Hide C and POSIX languages in greeter
550     * Load language and layout from .dmrc file
551
552 Overview of changes in lightdm 0.1.0
553
554     * Make --test-mode which runs as the current user
555     * Support displays acting as XDMCP terminals
556     * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization
557     * Support XDMCP over IPv6
558
559 Overview of changes in lightdm 0.0.4
560
561     * Support XDMCP logins
562     * Support multi-head
563     * Clean up resources on exit
564     * Create gettext instance in WebKit greeter
565
566 Overview of changes in lightdm 0.0.3
567
568     * Wait for signal from X server before starting session
569     * Add language API
570     * Add keyboard layout API
571     * Add gettext support to the WebKit greeter
572
573 Overview of changes in lightdm 0.0.2
574
575     * Fix installation of D-Bus service file
576     * Allow DISPLAY env variable to be passed to X server so can run Xephyr
577     * Handle no automatic login in webkit theme
578
579 Overview of changes in lightdm 0.0.1
580
581     * Initial release