* New upstream release:
- Overwrite existing X authority files to avoid corruption
- Change logind-check-graphical default config value to true
- Block autologin if shell in nologin or false
- Fix failure if with greeters sending two login requests quickly.
- Drop Qt 4 support, it's been unsupported since 2015
- Fix lightdm_set_layout
- Improve method of determining a session is Wayland
- Don't call setenv with a NULL value - the behaviour is undefined
- Replace deprecated QAbstractItemModel::setRoleNames
- Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Fix tests failing when compiled with --with-greeter-user
- Use Python 3 in tests
- Disable compiler optimizations for test programs
- Compilation fix for glibc 2.33
- Remove deprecated use of G_TYPE_INSTANCE_GET_PRIVATE, G_PARAM_PRIVATE
- Fix compile failure due to use of clearenv on FreeBSD
- Use a size_t to resolve a compile warning
- Fix DesktopManager typo in man page
* debian/lightdm.install:
- Update for new D-Bus config location
Fix crash due to using wrong method to set configuration
Regression introduced in 77a7c6b7b8ca896b98ef43826641bdd520650bfb
fe117f0...
by
=?utf-8?q?Edgar_Fu=C3=9F?= <email address hidden>
Work around a race with password-less logins and double clicks
There is a race in the greeter (greeter as in lightdm-gtk-greeter) easily triggered by double-clicking on the login button (or clicking it with a bouncing mouse button) with a password-less login.
The problem arises when the daemon has already sent SERVER_MESSAGE_END_AUTHENTICATION to the greeter,
but before it digests it, it handles more X11 events (e.g. the second click), sending the daemon a GREETER_MESSAGE_CONTINUE_AUTHENTICATION
(before the GREETER_MESSAGE_START_SESSION) which will confuse handle_continue_authentication(),
making it call session_respond_error(), which then sends a PAM_CONV_ERR to the session child,
which will in turn get confused because it's expecting the (length of the) session error file name.
As I don't really know how to avoid the race in the greeter (you would need to teach it prioritizing messages from the master over messages from X11), work around it by setting a flag in GreeterPrivate if SERVER_MESSAGE_END_AUTHENTICATION has been sent and ignore GREETER_MESSAGE_CONTINUE_AUTHENTICATION if that flag is set.
The change was verified on 1.18.3 and then adopted to HEAD.