Merge pull request #32934 from bluca/logind_regression_main

logind: do not fail creating a session when request is not from a unit
This commit is contained in:
Luca Boccassi
2024-05-20 17:50:26 +02:00
committed by GitHub
3 changed files with 8 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ set -o pipefail
# default to Debian testing
DISTRO="${DISTRO:-debian}"
RELEASE="${RELEASE:-bookworm}"
SALSA_URL="${SALSA_URL:-https://salsa.debian.org/systemd-team/systemd.git}"
BRANCH="${BRANCH:-debian/master}"
ARCH="${ARCH:-amd64}"
CONTAINER="${RELEASE}-${ARCH}"
@@ -72,7 +73,7 @@ for phase in "${PHASES[@]}"; do
;;
RUN)
# add current debian/ packaging
git fetch --depth=1 https://salsa.debian.org/systemd-team/systemd.git "$BRANCH"
git fetch --depth=1 "$SALSA_URL" "$BRANCH"
git checkout FETCH_HEAD debian
# craft changelog

View File

@@ -371,10 +371,8 @@ int manager_get_session_by_pidref(Manager *m, const PidRef *pid, Session **ret)
return r;
} else {
r = cg_pidref_get_unit(pid, &unit);
if (r < 0)
return r;
s = hashmap_get(m->session_units, unit);
if (r >= 0)
s = hashmap_get(m->session_units, unit);
}
if (ret)

View File

@@ -907,7 +907,10 @@ static int create_session(
/* Check if we are already in a logind session, and if so refuse. */
r = manager_get_session_by_pidref(m, &leader, /* ret_session= */ NULL);
if (r < 0)
return r;
return log_debug_errno(
r,
"Failed to check if process " PID_FMT " is already in a session: %m",
leader.pid);
if (r > 0)
return sd_bus_error_setf(error, BUS_ERROR_SESSION_BUSY,
"Already running in a session or user slice");