From fbcb630045f9d13d6d4b16ba376b0cf27bf1e2d5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 19 Aug 2019 15:15:13 +0200 Subject: [PATCH] pam_systemd: prolong method call timeout when allocating session Starting a session might involve starting the user@.service instance, hence let's make the bus call timeout substantially longer. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=83828 --- src/login/pam_systemd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c index 5de31a9a27..aa6e5ea7ac 100644 --- a/src/login/pam_systemd.c +++ b/src/login/pam_systemd.c @@ -36,6 +36,8 @@ #include "strv.h" #include "terminal-util.h" +#define LOGIN_SLOW_BUS_CALL_TIMEOUT_USEC (2*USEC_PER_MINUTE) + static int parse_argv( pam_handle_t *handle, int argc, const char **argv, @@ -653,7 +655,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( return PAM_SYSTEM_ERR; } - r = sd_bus_call(bus, m, 0, &error, &reply); + r = sd_bus_call(bus, m, LOGIN_SLOW_BUS_CALL_TIMEOUT_USEC, &error, &reply); if (r < 0) { if (sd_bus_error_has_name(&error, BUS_ERROR_SESSION_BUSY)) { if (debug)