sd_bus_open_user_machine(): Don't shortcut without necessary env

Don't shortcut if we don't have the necessary environment variables
set in sd_bus_open_user_machine().
This commit is contained in:
Daan De Meyer
2025-03-19 10:01:19 +01:00
parent f49b7404b2
commit 9e34c34b7b
+4 -2
View File
@@ -1760,8 +1760,10 @@ _public_ int sd_bus_open_user_machine(sd_bus **ret, const char *user_and_machine
assert_return(user_and_machine, -EINVAL);
assert_return(ret, -EINVAL);
/* Shortcut things if we'd end up on this host and as the same user. */
if (user_and_machine_equivalent(user_and_machine))
/* Shortcut things if we'd end up on this host and as the same user and have one of the necessary
* environment variables set already. */
if (user_and_machine_equivalent(user_and_machine) &&
(secure_getenv("DBUS_SESSION_BUS_ADDRESS") || secure_getenv("XDG_RUNTIME_DIR")))
return sd_bus_open_user(ret);
r = user_and_machine_valid(user_and_machine);