mirror of
https://github.com/systemd/systemd.git
synced 2025-01-10 05:18:17 +03:00
pam_systemd_home: make sure we handle RefUnit() returning HomeBusy properly
RefUnit() only succeeds it a home dir is fully up. We already dealt with it not being up at all, but let's also cover the case where it is currently busy with changing state, and in that case fall back to RefUnrestricted(), with the usual implications. This has the effect that two subsequent ssh logins one-after-the-other will work correctly.
This commit is contained in:
parent
955502121d
commit
5c29111337
@ -621,7 +621,7 @@ static int acquire_home(
|
||||
|
||||
r = sd_bus_call(bus, m, HOME_SLOW_BUS_CALL_TIMEOUT_USEC, &error, &reply);
|
||||
if (r < 0) {
|
||||
if (sd_bus_error_has_name(&error, BUS_ERROR_HOME_NOT_ACTIVE)) {
|
||||
if (sd_bus_error_has_names(&error, BUS_ERROR_HOME_NOT_ACTIVE, BUS_ERROR_HOME_BUSY)) {
|
||||
/* Only on RefHome(): We can't access the home directory currently, unless
|
||||
* it's unlocked with a password. Hence, let's try this again, this time with
|
||||
* authentication. */
|
||||
|
Loading…
Reference in New Issue
Block a user